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

Re: Modem trouble



> Seeking help getting a modem to work in potato + some unstable.  The modem is 
> on a Linksys EtherFast 10/100 + 56K Modem PC Card, model no. PCMLM56.

This is the high-end modem+lan card that we offer and it works great!
 
> When the laptop was running Slink (installed from official CD set) the modem 
> worked but the ethernet did not.  Now the ethernet works but the modem does 
> not.  More details below, all help welcome.
>
> Nick
 
Whether desktop or laptop, if a modem fails, the -very- first thing I look at
is IRQ.  For PCMCIA services check /etc/pcmcia/config.opts and make sure that
(for you at least) IRQ's 3 and 4 (standard serial) and 11 (your pcmcia bridge)
are excluded.  Auto detect is sometimes lame and doesn't find that these need
to be held aside :(

Why's the first thing I look at IRQ?  Because it's one of the more common 
problems, but the symptoms are too many to count - the computer equivalent 
of "flu symptoms"

> The laptop brand is "M-TECH".
> 
> The bios:
>    (these descriptions appear during boot sequence):
>    SystemSoft MobilePRO BIOS Version 1.01 (2482-00)-(R1.14)
>    SystemSoft Plug-n-Play BIOS Ver 1.17.01
> 
>    (version according to "Version Info" in BIOS setup):
>    1.00.03, Date: 10/22/97
> 
> PnP OS support is disabled.

I agree with that other fellow, the UART detecting as 16450 is a big concern
and may mean it's damaged or responding poorly.   And this is a fairly old
BIOS too.  You might want to check if an update is being offered - but -do-
make sure you have the current BIOS available, or good backups, because I've
heard of people upgrading BIOS getting new troubles for old.  In other words,
consider that a seperate task, unless their notes say the BIOS rev improves
serial or pcmcia/cardbus support.

> In Win98, the modem and ethernet both work.
> Here is what Win98 reports about the modem:
> Port COM3
> Interrupt 11

!! That's the pcmcia bridge IRQ!

> Address 3E8
> UART NS 16550AN

Well, -it- thinks it a 16550 anyway.

> On rebooting into Linux without switching power off, Linux does not see the 
> PCMCIA sockets.
> Here is a portion of dmesg after rebooting from Win98 without switching off 
> power:
> >>>
> Linux PCMCIA Card Services 3.1.14
>   kernel build: 2.2.14 unknown
>   options:  [pci] [cardbus] [apm]
> PCI routing table version 1.0 at 0xfe840
> Intel PCIC probe: 
>   Bridge register mapping failed: check cb_mem_base setting
> not found.
> ds: no socket drivers loaded!
> <<<

My guess, MSwin "ate" IRQ 11, making the pcmcia bridge invisible.
 
> Switching power off before booting makes the sockets visible to Linux. (I'm 
> not particularly worried about this, just reporting it in case relevant.)
> Here is dmesg in full after rebooting from power off:
> >>>
[some snippage]
> Linux version 2.2.14 (herbert@gondor) (gcc version 2.95.2 20000313 (Debian 
> GNU/Linux)) #1 Tue Apr 25 10:11:42 EST 2000
> Detected 466683316 Hz processor.
> PCI: PCI BIOS revision 2.10 entry at 0xeb190
> PCI: Using configuration type 1
> PCI: Probing PCI hardware
> apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
> apm: disabled on user request.

You might want to add append="apm=on" to your /etc/lilo.conf ... though it 
shouldn't affect this serial stuff, it's an unhappy laptop that can't suspend 

> PIIX4: IDE controller on PCI bus 00 dev 39
> PIIX4: not 100% native mode: will probe irqs later
>     ide0: BM-DMA at 0x1100-0x1107, BIOS settings: hda:pio, hdb:pio
>     ide1: BM-DMA at 0x1108-0x110f, BIOS settings: hdc:pio, hdd:pio
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
[ scsi you don't have, partitions loading, snipped ]
> Serial driver version 4.27 with no serial options enabled

in other words it doesn't have "IRQ Sharing" enabled, which might allow it
to survive what follows...

> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A

These look ok so far but...

> Linux PCMCIA Card Services 3.1.14
>   kernel build: 2.2.14 unknown
>   options:  [pci] [cardbus] [apm]
> PCI routing table version 1.0 at 0xfe840
> Intel PCIC probe: 
>   TI 1225 rev 01 PCI-to-CardBus at slot 00:0a, mem 0x68000000
>     host opts [0]: [ring] [serial pci & irq] [pci irq 10] [lat 168/176] [bus 
> 32/34]
>     host opts [1]: [ring] [serial pci & irq] [pci irq 10] [lat 168/176] [bus 
> 35/37]
>     ISA irqs (scanned) = 3,4,7,9,11 PCI status changes

So it should autoconfig that these are not available for pcmcia assignments.

> cs: IO port probe 0x1000-0x17ff: excluding 0x1000-0x103f 0x1400-0x140f
> cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x4d0-0x4d7
> cs: IO port probe 0x0a00-0x0aff: clean.
> cs: memory probe 0xa0000000-0xa0ffffff: clean.
> eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr 00:E0:98:08:EA:C2

Izzat so.  Hmm.  What's that doing on irq 3 where it can get tromped on?

> tty02 at 0x0af8 (irq = 3) is a 16450

The card is reporting back as a 16450 instead of a 16550, and it's -also-
using IRQ 3 for this.  Now I'd like to note it's normal for a PC with 3 or
4 serial ports to have two sharing each IRQ, but you don't have the kernel
option to allow that.  Unless I missed it.

> eth0: found link beat
> parport0: PC-style at 0x378 [SPP]
> parport0: no IEEE-1284 device present.
> lp0: using parport0 (polling).
> <<< (end dmesg)

I also note that the "session_lockout" flag is not on tty02 as it was on
the normal serial ports. (for what that's worth)

My advice: 
 1) tell pcmcia to explicitly ignore the IRQ's that this dmesg shows as busy.
    that way you know it can't make a mistake and assign them.
 2) Even though MSwin is calling it a 16550, the serial portion of your card
    might be damaged; far more likely though, Linux could be misinterpreting 
    a reply crippled by interrupt fandangos as the wimpier UART.  In other
    words, I think this problem will disappear when you follow (1).
 3) recompile your own kernel to get IRQ sharing enabled, you can toss out 
    those unnecessary scsi desktop controllers at the same time.
 4) (if none of that helps) see if uninstalling setserial has any effect, I've 
    read it can give pcmcia headaches.  I can't say if this will help or harm
    though. I haven't encountered it myself, because I also avoid installing 
    packages unless I'm certain that I do need them.  You might want to do 
    this as dpkg --purge setserial so it will toss out stray configfile tweaks.


-*  Heather Stern -*- star@starshine.org 
    The problem that we thought was a problem was, indeed, a problem, but
    not the problem we thought was the problem.  -- Mike Smith


Reply to: