Subject: Linux-Misc Digest #195
From: Digestifier <Linux-Misc-Request@senator-bedfellow.MIT.EDU>
To: Linux-Misc@senator-bedfellow.MIT.EDU
Reply-To: Linux-Misc@senator-bedfellow.MIT.EDU
Date:     Tue, 31 May 94 17:13:08 EDT

Linux-Misc Digest #195, Volume #2                Tue, 31 May 94 17:13:08 EDT

Contents:
  FAQ: Boca 16-Port Serial Card (David H Dennis)
  Xwindows and mice (Edunetics)
  Networking and Linux (Scott S Critchley)
  Re: Linux on Leading Edge? (David G. Komlosy)
  Term 116 and AIX (Act of Treason)
  When to upgrade new kernel ? (Tamas Badics)
  Re: Comp USA's Compudyne CDROM drive? (Eric P. Husen)

----------------------------------------------------------------------------

Crossposted-To: comp.os.linux.help
From: dhd@netcom.com (David H Dennis)
Subject: FAQ: Boca 16-Port Serial Card
Date: Tue, 31 May 1994 15:47:05 GMT

BOCA-FAQ
Installing a Boca 16-port serial card (Boca 2016) with Linux

This FAQ is being maintained by David H Dennis, dhd@netcom.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.

Richard Shetron (multics@hermes.acm.rpi.edu) contributed additional
information to this FAQ effort.  His new business should be an excellent
source for Boca cards and related products.  You should also mail him
if you are interested in continued development efforts for support of
the card; he is planning patches to the kernel to allow multiple cards
in one system.

Since the last release of this FAQ, I found a very interesting bug
which is probably a Linux problem and not the card.  Search for
LINUX BUG for more information.

Manufacturer of the Boca 2016 has been temporarily suspended to fix
an unspecified problem.  Boca Research will apparently resume manfacturing
with a slightly changed replacement on or around June 15.

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.

At the end of this document, there is additional information on cabling,
and some comments on Boca customer service and availability.

WHAT DO YOU NEED TO DO TO INSTALL A BOCABOARD?

In outline, the following:

1 The board itself and its manuals

2 Your Linux source tree

3 Patience

Here's the basic procedure:

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.  This consists of putting the following line at
the beginning of linux/drivers/char/serial.c:

   #define CONFIG_BOCA  1

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.

There is an alternative for those who don't want to dig into their kernel
internals.  I'm putting this second because I cannot verify that it works.
But, contributed by stephie@hermes.acm.rpi.edu (Stephanie Gilgut) via 
the aforementioned Richard Shetron, here it is:

In /usr/src/linux (kernel build area), edit config.in.  Add the line 

   bool 'BocaBoard Serial Interface support' CONFIG_BOCA y

Place the line in the section for character devices.  Do:

  make clean
  make config

Answer the BOCA question yes; it should default to yes.  Then do

    make dep

Then compile your kernel as normal.

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!  :-)

INSTALLING THE CARD

The default address on both the card and the Linux software for the
configuration is 0x100; leave that alone.  The card probably won't
work with Linux at all if you try changing it.  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 number.  I have
not tried this, however.  

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 hear 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 4 N

n = 64 + <line number>

For example, to create the first couple of lines on your board, type:

    mknod /dev/cua16 4 80
    mknod /dev/cua17 4 81
     ...

> To create dial-in lines (where users call you), type

    mknod /dev/ttySxx 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 5 80
    mknod /dev/ttyS17 5 81
      ...
  
Richard Shetron tells us that we should be able to use

    MAKEDEV /dev/ttyS16
    ...

Since I had only made the first four ports (because I only have four
phone lines right now), I decided to try this out.  Unfortunately, the
command doesn't exist on my system; whether it works for you is
probably distribution-dependent.

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!

THE BIG GOTCHA: Something extra you may need, and service comments

The status of the following information is unclear.  As we go to press,
Boca has apparently given up the DB-25 box as a bad job.  Fortunately for
new Boca card owners, Richard Shetron <multics@hermes.acm.rpi.edu> is
willing to make up cables for Boca Card owners.  A typical modem cable
will cost about $ 8.50.  Drop him a line for current pricing and more
information.  He is also selling Boca cards for what look like very
competitive pricing, at least after a glance at his preliminary price
sheet.  At least in my area, $ 8.50 is about the price of a normal
modem cable, so that's a lot cheaper than buying the box from Boca,
even if it wasn't discontinued.  He is also planning to become a Boca
dealer and sell the BocaBoard iself for an extremely low price - less
than I paid on what I thought was a special deal.

[Previous connection information.  The next two paragraphs are of
historical interest only and will be removed once the Boca situation
stabilizes.  For information on Boca customer service and quality,
read on]

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.

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.  

If you want to check out Linux performance with the card, or take a
look at my original Internet-oriented BBS software, you can reach my
BBS/Internet service provider at (818) 997-7500.  Equipment used to
run the system: 486DX2/66; 20mb RAM; 2-1.8GB Quantum hard drives;
Cirrus Logic video card; NEC 4FG monitor.

If you've found this FAQ helpful, or if you have more information to add,
I'd enjoy hearing from you.  My current electronic mail address is
dhd@netcom.com.  If that bounces, also try david@amazing.com, which is my
Linux box.

LINUX BUG?  Bizarre problem with 'who' and getname()

I have had one major problem using the card with Linux, and it's been
confirmed by at least one other person.  The 'who' command often does
not pick up people who are logged in through the BocaBoard's ports.
As a general rule, you'll have one user logged in to the board and it
will work fine.  Once another user logs on, his ID takes the original
user's position in the who.  Or sometimes someone will log in and
not appear in the who at all.

Worse, the getname() function returns garbage when this happens.  All
normal functions of the software appear to work, but the user name is
toast.  I found an interesting work around to get past this, but it
requires that you are running your own BBS/shell software.  Here's
how I do it, in C:

#include <stdio.h>

get_name()
{
   char s[LINEL];       
   char t[LINEL];
   FILE *fp;

   /* Run ps on the user and search for the BBS's process ID */
   sprintf(s, "ps -ux | grep %d >/bbs/misc/%d", getpid(), getpid());
   system(s);

   /* This file now contains the first line of the ps output, which
      contains the user name as its first word */

   sprintf(s, "/bbs/misc/%d", getpid());
   fp = fopen(s, "r");
   if (!fp) {
        printf("Couldn't find user name\n");
        exit(0);
   }
   fgets(t, LINEL, fp);
   fclose(fp);

   /* t contains the ps output.  Put a \0 at the end of the first word,
      so we have just the user name */
   for(t1 = t; t1 != ' ' && t1 != '\0'; t1++)
        ;
   *t1 = '\0';

   /* Copy into whatever variable you want for the user name, or save it
      to a file */
   strcpy(user->name, t);
}

As you can see, the strategy's pretty simple - we get the process status,
find the curent pid and obtain the user name from the process ID.  There
are probably some easier ways to do this; this is what I thought up on the
spur of the moment.  The main disadvantage of this method is that it is
relatively slow.

I didn't feel like firing up Kermit just to upload the actual code I
used to Netcom, so the above program has not been tested; however, it
should demonstrate the basic theory even if you have to fool with it 
a little to get it to work.

Incidentally, my BBS program's who command works just fine with this
change; Linux correctly reports the TTY number to it, and the fix repairs
the user name.  It would probably not be too difficult to patch other
BBS programs in the same way.  I suspect that the structures for tty
names may be too short in some parts of the Linux system, causing data
to be lost and bizarre things to happen.


------------------------------

From: edunet@zeus.datasrv.co.il (Edunetics)
Subject: Xwindows and mice
Date: Tue, 31 May 1994 14:57:37 GMT


     there is a phenomena that I was unable to solve in the Xconfig file
(not again). The problem is the mouse. I have a Logitech mouse and uppon
running the ConfigXF86 file to configure the config file i give him the
following paramteres: mouse: Logitech. Device: /dev/mouse (it wouldn't
accept anything else). Speed: 1200. All seems normal right? I thought so
too, untill I started X and it simply didn't move or moved once in 20
seconds to another part of the screen. Can anyone please help and explain
what is the cause of the problem and how to solve it?

        Paolo


------------------------------

From: scottc@alpha2.csd.uwm.edu (Scott S Critchley)
Subject: Networking and Linux
Date: 31 May 1994 15:47:22 GMT

Hello there... its Howard Feiges here...

A while ago I set up a linux partition on my 486 and had that up and
running for a while...   It was quite fun and interesting but I really
didn't need it all that much so I got rid of it so I could have more
drive space for my system....  (so I have been able to set up a linux
system in the past, even though I am a bit sketchy on the details, it 
really wasn't anywhere near as hard as I thought it was going to be...)

anyway, I know that you can network a bunch of computers together
using linux... but I really have no idea how to go about doing that...
I guess you could do it with a bunch of x86 computers and ethernet/lan
boards and concentrators and the like....

but the other day, the thought just occurred to me....  Couldn't it be
possible to hook up nodes to a linux-based server just through plain
everyday old serial connections....  I mean, I know that serial would
be slower, but if all you want to do is text processing then 19,200
baud would be plenty fast enough..  And more than that, but couldn't
you then use ANY computer that had a serial connection (like, for
example an Apple //GS or //e with a serial board, or a Mac plus or a 
crappy old 286 or XT or whatever) and terminal software....  The reason
why I am asking this is because I have several old apple //s sitting around
collecting dust, and the thought of using those apple //s as network nodes
is quite appealing (I mean, to access my 486 though an apple //e in a
completely different room would be quite a feat)...  Another possibility
could be school systems with apple //s.  The apple // is a worthless
computer now-a-days but hook them up to a 486 and you could teach
a programming class, or perhaps access the internet or whatever, all 
though an old apple //.  But It could only happen if you could use 
serial (try getting an ethernet board for an apple //e)

anyway, the thought just occurred to me... I have no idea how possible
it really is (It seems to me, that with linux, anything is possible).. 
but I am more concerned about the hardware end (can you use a concentrator
of sorts to bring together serial connections from several different
computers, and combine them so they can go into a single computer, either
through a serial port or even an ethernet board or whatever...  I am 
JUST learning about setting up networks (we have a novell system at
one of our facilities and we have ethernet boards in our 486's here at
our office, even though we don't have a server or novell software to run
on them).   I just thought that through serial connections, you could
cheaply put together a nice network of computers, using old, outdated,
existing hardware....  There are thousands of worthless computers out
there, that could be worth having if you could network them....

for now, I am not interested in the details or how practical it is
to have such a network.  All I want to know for now is if its possible,
and worry about the implementation later..   does the hardware
exist where you could network computers using serial interfaces...   Can
you 'concentrate' serial so you can channel the data all into a single
computer, or perhaps can you set up a 'token ring' system where you
could have two serial connections, one incoming and one outgoing, from
each computer in the network hooked up in a circle....   Just what
is possible???   I have at home right now a 486 dx2/66 computer and 
an apple //e, an apple //GS, and a macintosh plus.  I am a programmer
so I could actually write the software needed if it doesn't exist
already....  but as you can probably tell, I am no hardware expert....
for now, I just want to make lemondade from my lemons, thats all, and
perhaps learn a thing or two while doing it...

anyway, please let me know...  You can email me at the following
address:

scottc@alpha2.csd.uwm.edu

thanx much...

Howard Feiges
TPK

------------------------------

From: dgk5@po.CWRU.Edu (David G. Komlosy)
Subject: Re: Linux on Leading Edge?
Date: 31 May 1994 16:40:34 GMT
Reply-To: dgk5@po.CWRU.Edu (David G. Komlosy)


I'm running Linux on a Winpro 486e (486DX/33) w/8MB RAM.  The system runs
better now then it ever did under DOS/Windows.

My next experiment is to get the DOSemu working so I can kill my DOS
partion all together. :)

Good luck!

Dave
dgk5@po.cwru.edu


------------------------------

From: treason@gnu.ai.mit.edu (Act of Treason)
Subject: Term 116 and AIX
Date: 31 May 1994 19:49:40 GMT

Greets,

        I have read about all the new advances in term version 1.16 and would
like to try it out.  However, the ability for term to compile under AIX is
completely broken.  Does anyone currently have term 116 bins compiled for
AIX?  Also, I have noticed that the hostname passing patch (to pass true
hostnames to the linux machine) have dissapeared.  Has this been integrated
into the package (I have seen no evidence of this).

Thanks in advance,
   treason@gnu.ai.mit.edu

------------------------------

From: badics@poisson.rutgers.edu (Tamas Badics)
Subject: When to upgrade new kernel ?
Date: 31 May 94 16:37:30 GMT

Hi Guys,

Just a quick question: 

How do you decide to upgrade your kernel to a newer one? 
I'd like to upgrade mine once in a while when the new one is relatively
stable. I read c.o.l.announce, but I don't see any announcements concerning
kernel releases. On the other hand, people keep referring to versions of 
higher and higher numbers. I guess discussions are going on c.o.l.devel, 
but I have no time to follow everything.

Also, is there a place where I can check what is new in the different
kernels? 

Thanks,
        Tamas

------------------------------

Crossposted-To: alt.cd-rom,comp.sys.ibm.pc.hardware.cd-rom
From: husen@thanatos2.altair.wes.mot.com (Eric P. Husen)
Subject: Re: Comp USA's Compudyne CDROM drive?
Reply-To: husen@wes.mot.com
Date: Tue, 31 May 1994 16:25:28 GMT

> |> Eric
> 
>       If you tried hooking the Aztech CD to the CDROM port on a SB, SBpro, or SB16, it wont work as the Aztech uses a mitsumi interface and the mentioned SB's use a panasonic interface. I tried that and it didnt work (Comp USA tecxh said that it would) , then > I hooked it to my other SB (SB16-MCD) to the Mitsumi port and used the Aztech driver using "polling" DMA and it works fine. I could not get it to work by assigning it a DMA channel. 
>       I bought a Reveal CDROM (in reality a Panasonic 563) for about 190.00 and it plugs right into the SBPRO I have. FWIW, the ARIS cdrom utility says that they both are within MPCII specs with the Reveal being very slightly quicker/faster. To be fair the Rev> eal is on 486DX50 and the Aztech is on a 386sx16. 

I got the Aztech hooked up (using the interface card, not the SB) and the polling was dog slow.  I did actually get the DMA channel working but it was
still dog slow. (And 7th guest still didn't work right)

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Misc-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.misc) via:

    Internet: Linux-Misc@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Misc Digest
******************************
