296 lines
14 KiB
Plaintext
296 lines
14 KiB
Plaintext
|
Installing Boca Card Mini-HOWTO
|
|||
|
|
|||
|
David H. Dennis
|
|||
|
|
|||
|
<EFBFBD>david@amazing.com<6F>
|
|||
|
|
|||
|
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. <20>
|
|||
|
|
|||
|
|
|||
|
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.
|