First, many thanks for all the helpful and encouraging replies. There is now a difference, which I hope means progress. Here is my summary of the advice, with apologies for any distortions:
* Recompile kernel with: IRQ sharing, APM, no SCSI, no Unix98 ptys. * Force UART to be 16550 (not 16450) and/or port to be 0x3e8 (not 0xaf8). * Tell pcmcia to ignore IRQs shown by dmesg to be in use. * Use BIOS PnP support. * Uninstall setserial. * Get a BIOS upgrade. The IRQ sharing sounded crucial so (after some fruitless fiddling with pcmcia config files) I recompiled the kernel, reverting to standard pcmcia config.opts and serial.opts, and leaving BIOS PnP off. Here is an extract of the relevant (I think) portions of dmesg with the new kernel, standard pcmcia configs and no PnP, card in slot: >>> Linux version 2.2.14 ([EMAIL PROTECTED]) (gcc version 2.95.2 20000313 (Debian GNU/Linux)) #1 Wed May 3 15:02:14 PDT 2000 ... apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9) ... ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 ... Serial driver version 4.27 with SHARE_IRQ enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A Linux PCMCIA Card Services 3.1.8 kernel build: 2.2.14 unknown options: [pci] [cardbus] [apm] Intel PCIC probe: TI 1225 PCI-to-CardBus at bus 0 slot 10, mem 0x68000000, 2 sockets host opts [0]: [ring] [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 32/34] host opts [1]: [ring] [pwr save] [serial pci & irq] [no pci irq] [lat 168/176] [bus 35/37] ISA irqs (scanned) = 3,4,7,9,11 polling interval = 1000 ms 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 tty02 at 0x0af8 (irq = 3) is a 16450 ... eth0: found link beat <<< Here is tail of /var/log/daemon.log: >>> May 3 16:33:08 nicknote cardmgr[139]: watching 2 sockets May 3 16:33:09 nicknote modprobe: modprobe: Can't locate module char-major-45 May 3 16:33:10 nicknote cardmgr[139]: initializing socket 1 May 3 16:33:10 nicknote cardmgr[139]: socket 1: Linksys EtherFast LANmodem 56K May 3 16:33:10 nicknote cardmgr[139]: executing: 'insmod /lib/modules/2.2.14/pcmcia/8390.o' May 3 16:33:10 nicknote cardmgr[139]: executing: 'insmod /lib/modules/2.2.14/pcmcia/pcnet_cs.o' May 3 16:33:10 nicknote cardmgr[139]: executing: 'insmod /lib/modules/2.2.14/pcmcia/serial_cs.o' May 3 16:33:10 nicknote cardmgr[139]: executing: './network start eth0' May 3 16:33:11 nicknote cardmgr[139]: executing: './serial start ttyS2' May 3 16:33:11 nicknote rwhod[198]: sending on interface eth0 <<< (should I worry about char-major-45?) The ethernet is still fine. Result of 'pon' now (/var/log/ppp.log): >>> May 3 16:41:39 nicknote chat[294]: send (ATZ^M) May 3 16:41:39 nicknote chat[294]: expect (OK) May 3 16:42:24 nicknote chat[294]: alarm May 3 16:42:24 nicknote chat[294]: send (AT^M) May 3 16:42:24 nicknote chat[294]: expect (OK) May 3 16:43:09 nicknote chat[294]: alarm May 3 16:43:09 nicknote chat[294]: Failed May 3 16:43:09 nicknote pppd[293]: Connect script failed May 3 16:43:10 nicknote pppd[293]: Exit. <<< i.e. same as before. Now with BIOS PnP enabled: No change :( (But in either case (PnP on or not) I can restart from Win98 and Linux now sees the card sockets. I've left PnP on.) At this point, here is "setserial -ga /dev/ttyS2": >>> /dev/ttyS2, Line 2, UART: 16450, Port: 0x0af8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test <<< Now I try adding "uart 16550" in serial.opts. Restart pcmcia. setserial obediently reports the uart as 16550. Result of "pon" in terms of /var/log/ppp.log: no change. Same story for "uart 16550A". I leave the uart in serial.opts at 16550A and try adding "port 0x3e8", i.e. /etc/pcmcia/serial.opts has line `SERIAL_OPTS="uart 16550A port 0x3e8"'. Restart pcmcia. setserial obediently reports the given settings. Result of "pon": >>> May 4 14:02:50 nicknote pppd[572]: pppd 2.3.11 started by root, uid 0 May 4 14:02:51 nicknote chat[573]: Can't get terminal parameters: Input/output error May 4 14:02:51 nicknote pppd[572]: Connect script failed May 4 14:02:52 nicknote pppd[572]: Exit. <<< Well, it's different. Better or worse? Now for the IRQs. In /etc/pcmcia/config.opts, the options so far have been (comments omitted): >>> include port 0x100-0x4ff, port 0x1000-0x17ff include memory 0xc0000-0xfffff include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff include port 0xa00-0xaff exclude irq 4 exclude irq 7 <<< I add lines: exclude irq 3 exclude irq 9 exclude irq 11 But now pcmcia won't recognize the card (high beep, low beep). /var/log/daemon.log ends with: May 4 14:30:05 nicknote cardmgr[640]: get dev info on socket 1 failed: No such device Here is "setserial -ga /dev/ttyS2": >>> /dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test <<< I start removing the added 'exclude' lines, from 11 downwards. With 11 removed, pcmcia recognizes the card. Here is "setserial -ga /dev/ttyS2": >>> /dev/ttyS2, Line 2, UART: 16550A, Port: 0x03e8, IRQ: 11 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test <<< Result of "pon", in /var/log/ppp.log: >>> May 4 14:33:56 nicknote pppd[699]: pppd 2.3.11 started by root, uid 0 May 4 14:33:57 nicknote chat[700]: Can't get terminal parameters: Input/output error May 4 14:33:57 nicknote pppd[699]: Connect script failed May 4 14:33:58 nicknote pppd[699]: Exit. <<< Now I remove the exclusion of irq 9. pcmcia recognizes the card. Here is "setserial -ga /dev/ttyS2": >>> /dev/ttyS2, Line 2, UART: 16550A, Port: 0x03e8, IRQ: 2 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test <<< Result of "pon": the "Can't get terminal" message again. I leave the exclude irq 3 in place, i.e. /etc/pcmcia/config.ops is now (omitting comments): >>> include port 0x100-0x4ff, port 0x1000-0x17ff include memory 0xc0000-0xfffff include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff include port 0xa00-0xaff exclude irq 4 exclude irq 7 exclude irq 3 <<< I try specifying "irq 0" in serial.opts and restarting pcmcia. Result of "pon": the "Can't get terminal" message again. I try "dpkg --purge setserial" and restarting pcmcia. No change. I reboot. ppp.log reverts to its "expect (OK)..alarm" form. I try restoring config.opts and serial.opts to as-installed. Still "expect (OK)..alarm". I reboot, now choosing "none" in the BIOS for each of "COM A" (formerly COM1) and "COM B" (formerly COM2, configured for IrDA). Now I am back to "Can't get terminal parameters". Should I try a BIOS upgrade now? Is there something else to try first? All help welcome, if anyone is still reading. At the risk of laboring the point, the modem (and ethernet) work in Win98, and the modem worked in Slink, so there is nothing fundamentally wrong..? Nick > > 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. > > 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 > [snip]