On Sun, 20 Aug 2000, Kurth Bemis wrote:
> i installed mandrake 7.1..its great....except for one thing...once again
> my modem won't work!!!!!

  Check your motherboard's BIOS setup program, and make sure any onboard
serial ports are not conflicting with the modem.

  Look at /proc/devices and make sure the ttyS driver is present.

  Look at the output of "dmesg" for the serial driver initializing, to see
what serial ports it found.

  Use "setserial /dev/ttyS#" (where # is some number, see below) to
check/tweak the IRQ and base address so that it matches the modem (see further
below).

  Look at the /proc/ioports and /proc/interrupts files.  The standard serial
driver ("serial") should show up there, matching your serial ports.  Note that
the interrupt may not show as in use unless the port is actually open by a
process.

> somewhere after redhat 6.0 they changed the modem ports...from /dev/cua0 to 
> /dev/ttys0...so i tried ttys2...to no avail.....

  Well, it would be ttyS2 (notice the CAPITAL S).  Unix is case-sensitive,
make sure you've got that right.

  Every standard serial port in Linux has two devices, the "primary" or
"call-in" device, ttyS#, and the "alternate" or "call-out" device, cua# (where
# is the same number in both cases, see below).  The only difference, AFAIK,
is that the cua device assumes different defaults (the "cu" stands for
"call-up" and is a holdover from the days of UUCP).  You should use the ttyS#
form.


  A word on serial port naming conventions:

  A particular PC UART (standard serial port) is selected by IRQ and base
address.  The designations "COM1" and "COM2" come from the original IBM PC,
and simply correspond to a "standard" IRQ/address combination that IBM happened
to like.  "COM3" and "COM4" are a pure de facto standard.  "COM5" and above
are practically random.  The reason "COM1" and "COM2" always had to be the
same IRQ and address was that the built-in serial routines were stupid and
couldn't be configured otherwise.  Of course, nobody actually *used* the
built-in serial routines, because they sucked, but we still got stuck with
those standard designations.

  Fast-forward about twenty years.  Just about any OS other then DOS doesn't
care about this "COM1" naming business, and uses IRQ and address.  Many of
them still use the COM# designation, though, confusing things further.  Linux
doesn't do *that*, but it does default the first four serial devices to match
the "standard" designations.

  And, finally, here are the "standard" serial port designations:

  DOS    Base           Linux
  Name   Addr    Intr   Name
  ----   -----   ----   -----
  COM1   0x3F8   IRQ4   ttyS0
  COM2   0x2F8   IRQ3   ttyS1
  COM3   0x3E8   IRQ4   ttyS2
  COM4   0x2E8   IRQ3   ttyS3

  Note that because COM1 and COM3 share interrupt request lines, you cannot
use them both at once with "standard" PC hardware.  The same applies to COM2
and COM4.  You can, however, configure as many standard PC UARTs on as many
interrupts as you like, and run them all at once.  For example, on my system:

ttyS0 is 0x3F8, IRQ4 ("COM1")
ttyS1 is 0x2F8, IRQ3 ("COM2")
ttyS2 is 0x3E8, IRQ5 (some call this "COM5"; under Win9X, it appeared as
                      "COM3", simply because I configured it that way)

  If there is one piece of legacy hardware I want to see go away, it is the PC
UART.  We've been saddled with this relic from the 1970s for better then
twenty years now.  For God's sake, will someone invent a decent, standard, and
open replacement for it?

-- 
Ben Scott <[EMAIL PROTECTED]>
| "People say that life is the thing, but I prefer reading." |
|                         -- Logan Pearsall Smith            |


**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************

Reply via email to