296 lines
14 KiB
Plaintext
296 lines
14 KiB
Plaintext
Installing Boca Card Mini-HOWTO
|
||
|
||
David H. Dennis
|
||
|
||
david@amazing.com
|
||
|
||
Joy Yokley - Converted document from HTML to DocBook v4.1 (SGML)
|
||
|
||
2001-01-17
|
||
Revision History
|
||
Revision 1.1 2001-01-17 Revised by: JEY
|
||
Revision 1.0 1997-07-08 Revised by: DHD
|
||
|
||
|
||
Describes the basics of a Boca 16-port Serial Card (Boca 2016) used with
|
||
Linux.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
1. Introduction
|
||
2. Warning
|
||
3. What do you need to install a BocaBoard?
|
||
1.
|
||
|
||
|
||
4. The Basic Procedure
|
||
4.1. Recompiling the Kernel
|
||
4.2. Installing the Card
|
||
4.3. Telling Linux about Your Card
|
||
|
||
|
||
5. Possible Problems
|
||
5.1. Additional Information and Service Comments
|
||
|
||
|
||
6. Acknowledgements
|
||
|
||
-----------------------------------------------------------------------------
|
||
1. Introduction
|
||
|
||
This HOWTO is being maintained by David H Dennis, david@amazing.com, to try
|
||
and help any other individuals who may have acquired a BocaBoard, stared at
|
||
it and found out that it didn't seem to do anything.
|
||
|
||
A very high percentage of those interested in the BocaBoard are also
|
||
interested in becoming Internet Service Providers (ISPs). If you are one of
|
||
them, please feel free to drop by my web site, [http://www.amazing.com] http:
|
||
//www.amazing.com, and check out my Inet-Access FAQ, over 9,000 lines
|
||
detailing how to hook up to the net and how to make your Internet provider
|
||
business succeed in these most interesting times.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2. Warning
|
||
|
||
Multi-Port serial cards, such as the BocaBoard, are all but dead. If you are
|
||
in business as an Internet Service Provider (ISP), you will not want to use
|
||
any of these devices, because the new 56k modem standards will not support
|
||
them. Instead, you need digital modem/terminal server combinations such as
|
||
the Livingston PM3 ?? , Cisco 5200 ?? or US Robotics Total Control ??.
|
||
Otherwise, you simply won't be competitive in major markets. Users want high
|
||
speeds; you won't be able to provide them with a BocaBoard or other
|
||
multi-port serial card.
|
||
|
||
Even as a multi-port serial card, the BocaBoard is hopelessly obsolete. The
|
||
overwhelming majority of people who want to buy a BocaBoard would be better
|
||
off getting a accelerated card such as the Cyclades?? or Rocketport??. (When
|
||
last I looked, Rocketport?? was a better board, but Cyclades?? had the most
|
||
stable kernel support). Accelerated cards use less of the CPU of your
|
||
machine, and so you can support more ports per computer with less performance
|
||
degradation.
|
||
|
||
That being said, perhaps you own one of these devices and want to make use of
|
||
it, or perhaps you are planning an ISP based on a low-cost business model
|
||
that basically means the use of cast-off equipment from others. In that case,
|
||
the information in this document should be useful for you. But again, I
|
||
repeat: The person who buys a new BocaBoard at this point probably needs a
|
||
few more clues before starting his ISP or other venture.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3. What do you need to install a BocaBoard?
|
||
|
||
1. The board itself and its manuals
|
||
|
||
2. Your Linux source tree
|
||
|
||
3. Patience
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4. The Basic Procedure
|
||
|
||
4.1. Recompiling the Kernel
|
||
|
||
The first step is to change your kernel so that it knows you have a
|
||
BocaBoard. Unfortunately, this is not a part of the configure script; you
|
||
must go in and modify the source by hand. In the older versions of the
|
||
kernel, this consists of putting the following line at the beginning of linux
|
||
/drivers/char/serial.c:
|
||
#define CONFIG_BOCA 1
|
||
|
||
As of some kernel version or another, this has changed. To make it work with
|
||
newer kernels, search for the
|
||
"BOCA_FLAGS" #define
|
||
in serial.c, and change the value to
|
||
#define BOCA_FLAGS ASYNC_BOOT_AUTOCONF
|
||
|
||
|
||
You can then recompile your kernel using the instructions included with the
|
||
source tree. I recommend running the new kernel from a floppy until you're
|
||
very sure it works; otherwise, the procedure for getting back your system is
|
||
mind-numbing at best.
|
||
|
||
At least to me, digging into my kernel and re-compiling it was quite a
|
||
stressful venture! Relax; as long as you copy it to a floppy, your new kernel
|
||
is completely harmless. It won't bite! Honest! :-)
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.2. Installing the Card
|
||
|
||
The default address on both the card and the Linux software for the
|
||
configuration is 0x100; leave that alone. Set the IRQ on the card to Linux
|
||
default of 12. If you want to change the IRQ, you will have to search for
|
||
"BOCA_FLAGS" in the file. You will find lines like this:
|
||
{ BASE_BAUD, 0x100, 12, BOCA_FLAGS }, /* ttyS16
|
||
*/
|
||
{ BASE_BAUD, 0x108, 12, BOCA_FLAGS }, /* ttyS17
|
||
*/
|
||
|
||
You can change the IRQ from 12 by changing the 12 to any valid IRQ. I have
|
||
not tried this, however.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3. Telling Linux about Your Card
|
||
|
||
Once you have compiled your new kernel, switch off the machine and install
|
||
the card. Then, turn your machine on with the new kernel floppy in the drive.
|
||
If the installation succeeded, you should see all sorts of strange stuff
|
||
about 16550 UARTS being connected to ttyS16-ttyS32. The system will then come
|
||
up normally.
|
||
|
||
The odds are pretty good that you don't actually have entries in /dev for
|
||
those lines. Remember that they start at 16 and go on to 32. If you look at
|
||
the source code, you'll see why; support for other cards is included in the
|
||
code for lower line numbers. Creating them is pretty simple, once you know
|
||
the trick.
|
||
|
||
To create entries for dial-out lines (where you call out), type:
|
||
#mknod /dev/cuaxx c 4 N
|
||
|
||
n = 64 + {line number}. The C indicates that this is a character mode device.
|
||
For example, to create the first couple of lines on your board, type:
|
||
#mknod /dev/cua16 c 4 80
|
||
#mknod /dev/cua17 c 4 81
|
||
|
||
To create dial-in lines (where users call you), type:
|
||
#mknod /dev/ttySxx c 5 n
|
||
|
||
where N is the same as described above. For example, to create the first
|
||
couple of lines on your BocaBoard, type:
|
||
#mknod /dev/ttyS16 c 5 80
|
||
#mknod /dev/ttyS17 c 5 81
|
||
|
||
It is recommended that you create both dial in and dial out lines for each
|
||
port, so that you have maximum flexibility. It turns out to be very handy to
|
||
call another line of your system by activating one of your lines as dial-out
|
||
and calling your main number. I've done this already and it works great! It's
|
||
most useful for checking how things look "on the other side of the fence"; I
|
||
used it to find out how my software looked at 2400bps. (It's slower than the
|
||
Linux console. A LOT slower, in fact).
|
||
|
||
Once you've finished with this, you can add entries to your inittab file in
|
||
the same way as you would for a standard ttySx entry, and the modems or
|
||
terminals should come up!
|
||
-----------------------------------------------------------------------------
|
||
|
||
5. Possible Problems
|
||
|
||
If you have problems, you may find that this is due to conflicts between your
|
||
BocaBoard and systems with dual IDE controllers. According to Kevin Traas:
|
||
|
||
|
||
Is the kernel recognising the board? (i.e. Right at the start of the boot
|
||
process, all sixteen ports should be listed on screen with ttySxx, I/O
|
||
Port, and IRQ identified.) Also, setserial -bg ttyS* should list *every*
|
||
port in your system.
|
||
|
||
By default, the BB2016 is configured to use IO Ports between 0100 and
|
||
017f. This creates problems on systems with two IDE controllers. The
|
||
second controller, ide1, uses 0170-0177 which falls into this range. Big
|
||
problems!!!
|
||
|
||
So, the solution, in my cases, is to go with an IO base of 0200 through
|
||
027f. I haven't had any conflicts in this region; however, you may want
|
||
to check you system to be sure. (run cat /proc/ioports - better run cat /
|
||
proc/interrupts to make sure IRQ 12 isn't used either.)
|
||
|
||
Once you've found an IO range and IRQ that isn't used, you'll have to
|
||
change the jumpers on the BB2016 and edit /usr/src/linux/drivers/char/
|
||
serial.c to reflect the new settings. Then, compile the kernel and
|
||
install as per normal.
|
||
|
||
-----------------------------------------------------------------------------
|
||
5.1. Additional Information and Service Comments
|
||
|
||
If you want to use your new Boca card with any standard DB-25 RS232
|
||
connector, you will have to get a special breakout box, which costs about
|
||
$80. The card itself comes with a breakout box that plugs into the card
|
||
through a truly formidable cable. It then supplies phone-like cables for the
|
||
ports. The special $80 box has phone-like cables that plug into the breakout
|
||
box included with the Boca card; you can then plug your modems or terminals
|
||
into standard RS-232 connectors on the box. Unless you actually have a system
|
||
that accepts the phone-like connectors, you should add the price of the box
|
||
to the cost of the card when comparing it to other alternatives.
|
||
|
||
I got my Boca 2016 card through a special wholesale deal that I don't think
|
||
many people will be able to reproduce. It was available quickly. However, the
|
||
breakout box for RS-232 took about two weeks to ship. You should be aware of
|
||
your need for this box before you acquire the card. The 2016 board was $235
|
||
and the additional box was $79.95.
|
||
|
||
I've heard that this breakout box is no longer available, and that now people
|
||
just have special cables made. I'm not sure how you would go about doing
|
||
this, though.
|
||
|
||
Only one port of my first Boca 2016 worked. I called Boca, expecting to hear
|
||
a long string of questions and advice. When they said, "Linux? What's that?"
|
||
I feared the worst. However, upon hearing my actual problem, they cheerfully
|
||
told me that the card was defective and I should send it back; full 5-year
|
||
factory warranty, 30-days exchange. I was struck by how cheery the lady was.
|
||
It was as though they were expecting the worst, and very kindly making the
|
||
most of it!
|
||
|
||
I had my hardware guy exchange the card. Unfortunately, the cards were
|
||
back-ordered and they took about two more weeks to give me my new card. I
|
||
have to say that I was quite annoyed at this, since I was anxiously chomping
|
||
at the bit to get this thing up and running.
|
||
|
||
Some people have problems with ports past the first eight. I have tested my
|
||
card up to port 11 and all the ports appear to be working. Boca Research
|
||
quality control may be lacking; I would recommend that people with troubles
|
||
with the card call Boca and deal with them directly. I suspect that if I'd
|
||
exchanged the card directly through the factory I would have had better
|
||
service than through my dealer. The factory people were all quite nice and
|
||
eager to please.
|
||
|
||
Right now, I have only four phone lines. I bought the 16-port card for two
|
||
reasons: because it has modem control (unlike the smaller ones), and in
|
||
anticipation of future expansion.
|
||
|
||
Some additional information on this subject from Kevin Traas of Baan Business
|
||
Systems??:
|
||
|
||
|
||
BTW, I've used the BB2016 several times and found them to work really
|
||
well under Linux. I'm extremely happy with them. They perform very well,
|
||
are very inexpensive, and are reliable. They claim 115200 bps per port.
|
||
I've got a unique situation whereby I've got two systems with a PPP
|
||
serial link between them. I'm running this link at 115200 and I
|
||
experience almost 0% error rate (with hundreds of thousands of packets
|
||
transmitted). My next step is to implement EQL and additional PPP links
|
||
between the boxes to increase the bandwidth. We'll see how it goes.
|
||
|
||
One final note. Contrary to the suggestion in the HOWTO, I build my own
|
||
cables for the BB2016 (they've got RJ ports on them). At first, I
|
||
"dabbled" with RJ45-8 conductor plugs, but the BB2016 has RJ48-10
|
||
conductor jacks, so to get full modem support, I ended up going that
|
||
route.
|
||
|
||
I now run all 10 wires between the BB2016 and my modems. It works great!
|
||
No problems, no regrets! The only initial problem I had was finding a
|
||
source for RJ48 plugs, 10 conductor wire, and RJ48 to DB25 adapters. None
|
||
of these are very cheap due to the low demand. Oh, yeah, and you need an
|
||
RJ48 crimper as well.
|
||
|
||
If you want, I can build these cables for you and send them to you. If
|
||
you're interested, e-mail me and I'll let you know pricing, etc. I found
|
||
building my own was cheaper than the adapter that is mentioned in the
|
||
HOWTO - which I couldn't find a source for anyway.
|
||
|
||
I believe the adapter mentioned in this document is no longer being
|
||
manufacturered, leaving cables such as your own the only remaining way of
|
||
connecting the device.
|
||
-----------------------------------------------------------------------------
|
||
|
||
6. Acknowledgements
|
||
|
||
Kevin Traas has issued a helpful update to this FAQ that contains a major
|
||
correction to the information on mknod. He is also standing in as a new
|
||
source for cables for the device.
|
||
|
||
The information here was obtained by begging many people for help.
|
||
Unfortunately, I have forgotten their names due to a pressing need for disk
|
||
space on my Netcom account. :-( Nonetheless, I thank them very much for their
|
||
assistance when things looked blackest. This is my way of paying some of that
|
||
back.
|