[Linux] problems with modem
Tim Jones
tim@timjones.com
Sat, 14 Oct 2000 11:38:20 -0400
On Fri, Oct 13, 2000 at 05:02:33PM -0700, Omar Santiago wrote:
>
> well onder windows is port COM5 my system don't have more than ttyS3
>
> >Date: Fri, 13 Oct 2000 10:21:39 -0400
> >From: Brian Horan <bhoran@herald.com>
> >To: Omar Santiago <gr_santiago@puya.net>
> >Subject: Re: [Linux] problems with modem
> >
> >do you have any idea which 'COM' (under windows) port the modem would be on? in Linux, /dev/ttyS0 is COM1 /dev/ttyS1 is COM2, etc....
> >also you may have an IRQ conflict. Look at setserial(8) man page it should help!!
First of all, I'm going to assume this is NOT a WinModem...
If it is a Plug and Play modem, you need to use pnpdump/isapnp to set it up first.
Use setserial to set the port and irq for the /dev/ttyS*, IF they aren't correct already.
If you genuinely have more than 4 serial devices, there is a way to increase this limit:
It is my first working kernel hack:
Edit your /usr/src/include/asm-i386/serial.h file, and find the following (around line 48)
#define STD_SERIAL_PORT_DEFNS \
/* UART CLK PORT IRQ FLAGS */ \
{ 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
{ 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \
{ 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */
Change it to:
#define STD_SERIAL_PORT_DEFNS \
/* UART CLK PORT IRQ FLAGS */ \
{ 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
{ 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS3 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS4 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS5 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS6 */ \
{ 0, BASE_BAUD, 0x2E8, 3, STD_COM_FLAGS }, /* ttyS7 */
Feel free to modify the third and fourth fields to match what your card
actually calls COM5 and up - they vary widely.
If you don't have the /dev/ttyS4 through /dev/ttyS7 device, just create them:
mknod /dev/ttyS4 c 4 68
mknod /dev/ttyS5 c 4 69
mknod /dev/ttyS6 c 4 70
mknod /dev/ttyS7 c 4 71
chmod 660 /dev/ttyS[4-7]
There are a number of options in the kernel config that look promising, but
they are for other types of serial cards. My patch above is for plain old
16550 UART cards.
Hope this helps!
Tim
--
-----------------------------------------------
Timothy Jones - LinuxTampa.com - 813-65-LINUX
Open Source Programming, Databases & Networking
-----------------------------------------------