home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / mini / Boca < prev    next >
Text File  |  1998-10-14  |  13KB  |  277 lines

  1.  
  2.    BOCA-HOWTO
  3.    _Installing a Boca 16-port serial card (Boca 2016) with Linux_
  4.    
  5.    Last updated 1 August 1997
  6.    
  7.    This HOWTO is being maintained by David H Dennis, david@freelink.net,
  8.    to try and help any other individuals who may have acquired a
  9.    BocaBoard, stared at it and found out that it didn't seem to do
  10.    anything.
  11.    
  12.    A very high percentage of those interested in the BocaBoard are also
  13.    interested in becoming Internet Service Providers (ISPs). If you are
  14.    one of them, please feel free to drop by my web site,
  15.    http://www.amazing.com , and check out my Inet-Access FAQ, over 9,000
  16.    lines detailing how to hook up to the net and how to make your
  17.    Internet provider business succeed in these most interesting times.
  18.    
  19.    Kevin Traas has issued a helpful update to this FAQ that contains a
  20.    major correction to the information on mknod. He is also standing in
  21.    as a new source for cables for the device.
  22.    
  23.    W a r n i n g !
  24.    
  25.    _Multi-Port serial cards, such as the BocaBoard, are all but dead._ If
  26.    you are in business as an Internet Service Provider (ISP), you will
  27.    _not_ want to use any of these devices, because the new 56k modem
  28.    standards will not support them. Instead, you need digital
  29.    modem/terminal server combinations such as the Livingston PM3, Cisco
  30.    5200 or US Robotics Total Control. Otherwise, you simply won't be
  31.    competitive in major markets. Users want high speeds; you won't be
  32.    able to provide them with a BocaBoard or other multi-port serial card.
  33.    
  34.    _Even as a multi-port serial card, the BocaBoard is hopelessly
  35.    obsolete._ The overwhelming majority of people who want to buy a
  36.    BocaBoard would be better off getting a accelerated card such as the
  37.    Cyclades or Rocketport. (When last I looked, Rocketport was a better
  38.    board, but Cyclades had the most stable kernel support). Accelerated
  39.    cards use less of the CPU of your machine, and so you can support more
  40.    ports per computer with less performance degradation.
  41.    
  42.    That being said, perhaps you own one of these devices and want to make
  43.    use of it, or perhaps you are planning an ISP based on a low-cost
  44.    business model that basically means the use of cast-off equipment from
  45.    others. In that case, the information in this document should be
  46.    useful for you. But again, I repeat: _The person who buys a new
  47.    BocaBoard at this point probably needs a few more clues before
  48.    starting his ISP or other venture._
  49.    
  50.    
  51.    
  52.    The information here was obtained by begging many people for help.
  53.    Unfortunately, I have forgotten their names due to a pressing need for
  54.    disk space on my Netcom account. :-( Nonetheless, I thank them very
  55.    much for their assistance when things looked blackest. This is my way
  56.    of paying some of that back.
  57.    
  58.    At the end of this document, there is additional information on a
  59.    special $ 80 piece of equipment you will need in addition to your
  60.    BocaBoard, and some comments on Boca customer service and
  61.    availability.
  62.    
  63.    WHAT DO YOU NEED TO DO TO INSTALL A BOCABOARD?
  64.    
  65.    In outline, the following:
  66.    
  67.     1. The board itself and its manuals
  68.     2. Your Linux source tree
  69.     3. Patience
  70.        
  71.    
  72.    
  73.    Here's the basic procedure:
  74.    
  75.    Recompiling The Kernel
  76.    
  77.    The first step is to change your kernel so that it knows you have a
  78.    BocaBoard. Unfortunately, this is not a part of the configure script;
  79.    you must go in and modify the source by hand. This consists of putting
  80.    the following line at the beginning of linux/drivers/char/serial.c:
  81.    
  82.  
  83.    #define CONFIG_BOCA  1
  84.  
  85.    Well, it used to work that way. As of some kernel version or another,
  86.    this has changed. To make it work with newer kernels, search for the
  87.    "BOCA_FLAGS" #define in serial.c, and change the value to
  88.  
  89.    #define BOCA_FLAGS  ASYNC_BOOT_AUTOCONF
  90.  
  91.    You can then recompile your kernel using the instructions included
  92.    with the source tree. I recommend running the new kernel from a floppy
  93.    until you're very sure it works; otherwise, the procedure for getting
  94.    back your system is mind-numbing at best.
  95.    
  96.    At least to me, digging into my kernel and re-compiling it was quite a
  97.    stressful venture! Relax; as long as you copy it to a floppy, your new
  98.    kernel is completely harmless. It won't bite! Honest! :-)
  99.    
  100.    Installing The Card
  101.    
  102.    The default address on both the card and the Linux software for the
  103.    configuration is 0x100; leave that alone. Set the IRQ on the card to
  104.    Linux' default of 12. If you want to change the IRQ, you will have to
  105.    search for "BOCA_FLAGS" in the file. You will find lines like this:
  106.    
  107.  
  108.         { BASE_BAUD, 0x100, 12, BOCA_FLAGS },   /* ttyS16 */
  109.         { BASE_BAUD, 0x108, 12, BOCA_FLAGS },   /* ttyS17 */
  110.         ...
  111.  
  112.    You can change the IRQ from 12 by changing the 12 to any valid IRQ. I
  113.    have not tried this, however.
  114.    
  115.    Telling Linux About Your Card
  116.    
  117.    Once you have compiled your new kernel, switch off the machine and
  118.    install the card. Then, turn your machine on with the new kernel
  119.    floppy in the drive. If the installation succeeded, you should see all
  120.    sorts of strange stuff about 16550 UARTS being connected to
  121.    ttyS16-ttyS32. The system will then come up normally.
  122.    
  123.    The odds are pretty good that you don't actually have entries in /dev
  124.    for those lines. Remember that they start at 16 and go on to 32. If
  125.    you look at the source code, you'll see why; support for other cards
  126.    is included in the code for lower line numbers. Creating them is
  127.    pretty simple, once you know the trick.
  128.    
  129.    To create entries for dial-out lines (where you call out), type:
  130.    
  131.  
  132.     mknod /dev/cuaxx c 4 N
  133.  
  134.    n = 64 + <line number> . The C indicates that this is a character mode
  135.    device. For example, to create the first couple of lines on your
  136.    board, type:
  137.    
  138.  
  139.     mknod /dev/cua16 c 4 80
  140.     mknod /dev/cua17 c 4 81
  141.      ...
  142.  
  143.    To create dial-in lines (where users call you), type
  144.  
  145.     mknod /dev/ttySxx c 5 n
  146.  
  147.    where N is the same as described above. For example, to create the
  148.    first couple of lines on your BocaBoard, type:
  149.  
  150.     mknod /dev/ttyS16 c 5 80
  151.     mknod /dev/ttyS17 c 5 81
  152.       ...
  153.  
  154.    It is recommended that you create both dial in and dial out lines for
  155.    each port, so that you have maximum flexibility. It turns out to be
  156.    very handy to call another line of your system by activating one of
  157.    your lines as dial-out and calling your main number. I've done this
  158.    already and it works great! It's most useful for checking how things
  159.    look "on the other side of the fence"; I used it to find out how my
  160.    software looked at 2400bps. (It's slower than the Linux console. A LOT
  161.    slower, in fact).
  162.    
  163.    Once you've finished with this, you can add entries to your inittab
  164.    file in the same way as you would for a standard ttySx entry, and the
  165.    modems or terminals should come up!
  166.    
  167.    Possible Problems
  168.    
  169.    If you have problems, you may find that this is due to conflicts
  170.    between your Boca board and systems with dual IDE controllers.
  171.    According to Kevin Traas:
  172.    
  173.      Is the kernel recognising the board? i.e. Right at the start of the
  174.      boot process, all sixteen ports should be listed onscreen with
  175.      ttySxx, I/O Port, and IRQ identified. Also, `setserial -bg ttyS*`
  176.      should list *every* port in your system.
  177.      
  178.      By default, the BB2016 is configured to use IO Ports between 0100
  179.      and 017f. This creates problems on systems with two IDE controllers.
  180.      The second controller, ide1, uses 0170-0177 which falls into this
  181.      range. Big problems!!!
  182.      
  183.      So, the solution, in my cases, is to go with an IO base of 0200
  184.      through 027f. I haven't had any conflicts in this region; however,
  185.      you may want to check you system to be sure. (run `cat
  186.      /proc/ioports` - better run `cat /proc/interrupts` to make sure IRQ
  187.      12 isn't used either.)
  188.      
  189.      Once you've found an IO range and IRQ that isn't used, you'll have
  190.      to change the jumpers on the BB2016 and edit
  191.      /usr/src/linux/drivers/char/serial.c to reflect the new settings.
  192.      Then, compile the kernel and install as per normal.
  193.      
  194.    THE BIG GOTCHA: Something extra you will need, and service comments
  195.    
  196.    If you want to use your new Boca card with any standard DB-25 RS232
  197.    connector, you will have to get a special breakout box, which costs
  198.    about $ 80. The card itself comes with a breakout box that plugs into
  199.    the card through a truly formidable cable. It then supplies phone-like
  200.    cables for the ports. The special $ 80 box has phone-like cables that
  201.    plug into the breakout box included with the Boca card; you can then
  202.    plug your modems or terminals into standard RS-232 connectors on the
  203.    box. Unless you actually have a system that accepts the phone-like
  204.    connectors, you should add the price of the box to the cost of the
  205.    card when comparing it to other alternatives.
  206.    
  207.    I got my Boca 2016 card through a special wholesale deal that I don't
  208.    think many people will be able to reproduce. It was available quickly.
  209.    However, the breakout box for RS-232 took about two weeks to ship. You
  210.    should be aware of your need for this box before you acquire the card.
  211.    The 2016 board was $ 235 and the additional box was $ 79.95.
  212.    
  213.    I've heard that this breakout box is no longer available, and that now
  214.    people just have special cables made. I'm not sure how you would go
  215.    about doing this, though.
  216.    
  217.    Only one port of my first Boca 2016 worked. I called Boca, expecting
  218.    to hear a long string of questions and advice. When they said, "Linux?
  219.    What's that?" I feared the worst. However, upon hearing my actual
  220.    problem, they cheerfully told me that the card was defective and I
  221.    should send it back; full 5-year factory warranty, 30-days exchange. I
  222.    was struck by how cheery the lady was. It was as though they were
  223.    expecting the worst, and very kindly making the most of it!
  224.    
  225.    I had my hardware guy exchange the card. Unfortunately, the cards were
  226.    back-ordered and they took about two more weeks to give me my new
  227.    card. I have to say that I was quite annoyed at this, since I was
  228.    anxiously chomping at the bit to get this thing up and running.
  229.    
  230.    Some people have problems with ports past the first eight. I have
  231.    tested my card up to port 11 and all the ports appear to be working.
  232.    Boca Research quality control may be lacking; I would recommend that
  233.    people with troubles with the card call Boca and deal with them
  234.    directly. I suspect that if I'd exchanged the card directly through
  235.    the factory I would have had better service than through my dealer.
  236.    The factory people were all quite nice and eager to please.
  237.    
  238.    Right now, I have only four phone lines. I bought the 16-port card for
  239.    two reasons: Because it has modem control, unlike the smaller ones,
  240.    and in anticipation of future expansion.
  241.    
  242.    Some additional information on this subject from Kevin Traas of Baan
  243.    Business Systems:
  244.    
  245.      BTW, I've used the BB2016 several times and found to work really
  246.      well under Linux. I'm extremely happy with them. They perform very
  247.      well, are very inexpensive, and are reliable. They claim 115200 bps
  248.      per port. I've got a unique situation whereby I've got two systems
  249.      with a PPP serial link between them. I'm running this link at 115200
  250.      and I experience almost 0% error rate (with hundreds of thousands of
  251.      packets transmitted). My next step is to implement EQL and
  252.      additional PPP links between the boxes to increase the bandwidth...
  253.      We'll see how it goes.
  254.      
  255.      One final note. Contrary to the suggestion in the Howto, I build my
  256.      own cables for the BB2016 (they've got RJ ports on them). At first,
  257.      I "dabbled" with RJ45-8 conductor plugs, but the BB2016 has RJ48-10
  258.      conductor jacks, so to get full modem support, I ended up going that
  259.      route.
  260.      
  261.      I now run all 10 wires between the BB2016 and my modems. It works
  262.      great! No problems, no regrets! The only initial problem I had was
  263.      finding a source for RJ48 plugs, 10 conductor wire, and RJ48 to DB25
  264.      adapters..... None of these are very cheap due to the low demand.
  265.      Oh, yeah, and you need an RJ48 crimper as well.
  266.      
  267.      If you want, I can build these cables for you and send them to you.
  268.      If you're interested, e-mail me and I'll let you know pricing, etc.
  269.      I found building my own was cheaper than the adapter that is
  270.      mentioned in the Howto - which I couldn't find a source for anyway.
  271.      
  272.    
  273.    
  274.    I believe the adapter mentioned in this document is no longer being
  275.    manufacturered, leaving cables such as your own the only remaining way
  276.    of connecting the device.
  277.