[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: modem works in sarge but not etch or lenny



On 09/11/2007 03:06 PM, Nathan Salwen wrote:
Interestingly, when I turned isapnp=off on the command line, I got
io 0x2f8-0x2ff
irq 5
but I don't know how to change this or to enable the device.  I
thought sending AUTO to the file should do that.  I tried
echo ENABLE > resources
but that didn't do anything.

The comx driver is an interesting lead but I wonder if it is a red
herring.  When I ran sarge with the modem card physically removed, the
COMX line also showed up in dmesg.  The only difference was that
ttyS02 is missing.

modem card physically absent:
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
COMX: driver version 0.85 (C) 1995-1999 ITConsult-Pro Co. <info@itc.hu>

modem card physically present:
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16550A
COMX: driver version 0.85 (C) 1995-1999 ITConsult-Pro Co. <info@itc.hu>

That is a little weird because the modem actually shows up at ttyS1.
I guess the modem shows up at ttyS01 and the and the second internal
UART is pushed to ttyS02.  Actually, the COMX driver appears to be for
a synchronous card and I believe my card is asynchronous as most
modems are, so I believe that is not the driver that is actually
handling my card.  I think maybe the "Serial driver" handles my card
but I don't really know.  I have experience writing drivers but not
with linux.


To me, it sounds like your modem might be normally located at ttyS2. Communicate with your serial ports as best you can. Use ATI commands to help identify the modem(s).

Do you know why the device node for ttyS1 is so recent?

The /dev/ttyS1 device updates its modify time every time I run
minicom.  Maybe when minicom resets the device.


Yes, I just noticed that here too.

In order for COM2 (/dev/ttyS1) to work properly, IRQ 3 and IO-PORTS
0x2f8-0x2ff need to be free. Look into the /proc filesystem and ...

When the card is plugged in, lenny creates space for it and removes
the serial card from /proc/ioports

proc/ioports (modem physically removed):
...
02f8-02ff : serial
...

proc/ioports (modem physically in computer):
...
0213-0213 : ISAPnP
...
0a79-0a79 : isapnp write
...

where the other parts are identical.
Also, there is nothing on interrupt 3 or 4 in /proc/interrupts
(whether the card is inserted or not).


Perhaps another driver is capturing the device before the serial driver can get it.

I have never run linux under a debugger, but my inclination would be
to try to do that and then put a break on access to the ttyS1 io port.
Or to the plugnplay port.
I don't really understand the structure of the kernel so I don't
really know where to start.  I guess once the card is set up for by
the pnp driver and the uart at that location is disabled, the kernel
doesn't have to know whether it accessing the original uart or going
through the modem card.  Maybe all I need to do is somehow enable the
card.

Another mystery, since there is nothing at 2f8, why does ttyS1 show up?

Nathan


I don't understand. There's something at 0x2f8 in both cases it seems.

BTW, please don't top-post on this list. It makes it harder for people to respond.



Reply to: