mirror of https://github.com/tLDP/LDP
273 lines
15 KiB
Plaintext
273 lines
15 KiB
Plaintext
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
|
|
<article ID="BocaCard">
|
|
<articleinfo>
|
|
<title>Installing Boca Card Mini-HOWTO</title>
|
|
<author>
|
|
<firstname>David H.</firstname>
|
|
<surname>Dennis</surname>
|
|
<affiliation>
|
|
<address> <email>david@amazing.com</email> </address>
|
|
</affiliation>
|
|
</author>
|
|
<abstract>
|
|
<para>Describes the basics of a Boca 16-port Serial Card (Boca 2016)
|
|
used with Linux. </para>
|
|
</abstract>
|
|
<pubdate>2001-01-17</pubdate>
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>1.1</revnumber>
|
|
<date>2001-01-17</date>
|
|
<authorinitials>JEY</authorinitials>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.0</revnumber>
|
|
<date>1997-07-08</date>
|
|
<authorinitials>DHD</authorinitials>
|
|
</revision>
|
|
</revhistory>
|
|
<othercredit role="converter">
|
|
<firstname>Joy</firstname>
|
|
<surname>Yokley</surname>
|
|
<contrib>Converted document from HTML to DocBook v4.1 (SGML)</contrib>
|
|
|
|
</othercredit>
|
|
</articleinfo>
|
|
<sect1 ID="Introduction">
|
|
<title>Introduction</title>
|
|
<para>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.</para>
|
|
<para>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,
|
|
<ulink URL="http://www.amazing.com"> http://www.amazing.com</ulink>,
|
|
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.</para>
|
|
|
|
</sect1>
|
|
<sect1 ID="Warning">
|
|
<title>Warning</title>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
</sect1>
|
|
<sect1 ID="RequiredMaterials">
|
|
<title>What do you need to install a BocaBoard?</title>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>The board itself and its manuals</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Your Linux source tree </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Patience</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect1>
|
|
<sect1 ID="Procedure">
|
|
<title>The Basic Procedure</title>
|
|
<sect2 ID="RecompilingKernel">
|
|
<title>Recompiling the Kernel</title>
|
|
<para>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
|
|
<filename>linux/drivers/char/serial.c</filename>:</para>
|
|
<programlisting> #define CONFIG_BOCA 1</programlisting>
|
|
<para>As of some kernel version or another, this has changed. To make
|
|
it work with newer kernels, search for the
|
|
<programlisting>"BOCA_FLAGS" #define</programlisting> in
|
|
<filename>serial.c</filename>, and change the value to</para>
|
|
<programlisting>#define BOCA_FLAGS ASYNC_BOOT_AUTOCONF
|
|
</programlisting>
|
|
<para>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.</para>
|
|
<para>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! :-)</para>
|
|
</sect2>
|
|
<sect2 ID="InstallingCard">
|
|
<title>Installing the Card</title>
|
|
<para>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:</para>
|
|
<programlisting> { BASE_BAUD, 0x100, 12, BOCA_FLAGS }, /* ttyS16
|
|
*/
|
|
{ BASE_BAUD, 0x108, 12, BOCA_FLAGS }, /* ttyS17
|
|
*/</programlisting>
|
|
<para>You can change the IRQ from 12 by changing the 12 to any valid
|
|
IRQ. I have not tried this, however.</para>
|
|
</sect2>
|
|
<sect2 ID="TellingLinux">
|
|
<title>Telling Linux about Your Card</title>
|
|
<para>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.</para>
|
|
<para>The odds are pretty good that you don't actually have entries in
|
|
<filename class='directory'>/dev </filename>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. </para>
|
|
<para>To create entries for dial-out lines (where you call out), type:
|
|
|
|
<screen>#mknod /dev/cuaxx c 4 N</screen></para>
|
|
<para>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:
|
|
<screen>#mknod /dev/cua16 c 4 80
|
|
#mknod /dev/cua17 c 4 81</screen></para>
|
|
<para>To create dial-in lines (where users call you), type:</para>
|
|
<screen>#mknod /dev/ttySxx c 5 n</screen>
|
|
<para>where N is the same as described above. For example, to create
|
|
the first couple of lines on your BocaBoard, type:</para>
|
|
<screen>#mknod /dev/ttyS16 c 5 80
|
|
#mknod /dev/ttyS17 c 5 81</screen>
|
|
<para>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).</para>
|
|
<para>Once you've finished with this, you can add entries to your
|
|
<filename>inittab</filename> file in the same way as you would for a standard ttySx entry, and the
|
|
modems or terminals should come up!</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 ID="Problems">
|
|
<title>Possible Problems</title>
|
|
<para>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:</para>
|
|
<blockquote>
|
|
<para>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,
|
|
<command>setserial -bg ttyS*</command> should list *every* port in
|
|
your system.</para>
|
|
<para>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!!!</para>
|
|
<para>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
|
|
<command>cat /proc/ioports</command> - better run
|
|
<command>cat /proc/interrupts</command> to make sure IRQ 12 isn't
|
|
used either.)</para>
|
|
<para>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
|
|
<filename>/usr/src/linux/drivers/char/serial.c</filename> to reflect the new
|
|
settings. Then, compile the kernel and install as per normal.</para>
|
|
</blockquote>
|
|
<sect2 ID="AdditionalInfo">
|
|
<title>Additional Information and Service Comments</title>
|
|
<para> 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.</para>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
<para>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!</para>
|
|
<para>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. </para>
|
|
<para>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.</para>
|
|
<para>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. </para>
|
|
<para>Some additional information on this subject from Kevin Traas of
|
|
Baan Business Systems™: </para>
|
|
<blockquote>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
</blockquote>
|
|
<para>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.</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 ID="Acknowledgements">
|
|
<title>Acknowledgements</title>
|
|
<para>Kevin Traas has issued a helpful update to this FAQ that contains a
|
|
major correction to the information on
|
|
<command>mknod</command>. He is also standing in as a new source for
|
|
cables for the device.</para>
|
|
<para>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.</para>
|
|
</sect1>
|
|
</article>
|