Subject: problems with LASAT PCMCIA modem card and Dell Latitude CPi laptop
To: None <current-users@netbsd.org>
From: Jarle Greipsland <jarle@runit.sintef.no>
List: current-users
Date: 03/29/1999 23:49:55
Hi,
I've recently encountered a problem with NetBSD-current on my Dell
Latitude/CPi laptop computer. When dialing up my employer's terminal
server I use a "LASAT COMMUNICATIONS A/S, LASAT CREDIT 336" pcmcia
modem. Until earlier this month I ran a NetBSD-current kernel from
approximately Dec 98, and the modem worked ok. But then I decided to
try out -current again (sources as of Mar 23rd), and then the modem no
longer worked.
>From the dmesg output of the two versions I gathered the following
output, first from the December 98 kernel:
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xd3fff: using irq 3
pcic0: controller 0 (Intel 82365SL Revision 1) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia0: CIS version PCMCIA 2.0 or 2.1
pcmcia0: CIS info: LASAT COMMUNICATIONS A/S, LASAT CREDIT 336
pcmcia0: Manufacturer code 0x134, product 0x3611
pcmcia0: function 0: serial port, ccr addr 3f0 mask 7
pcmcia0: function 0, config table entry 8: I/O card; irq mask 86bc; iomask 3, iospace 3f8-3ff; audio
pcmcia0: function 0, config table entry 24: I/O card; irq mask 86bc; iomask 3, iospace 2f8-2ff; io8 audio
pcmcia0: function 0, config table entry 40: I/O card; irq mask 86bc; iomask 3, iospace 3e8-3ef; io8 audio
pcmcia0: function 0, config table entry 56: I/O card; irq mask 86bc; iomask 3, iospace 2e8-2ef; io8 audio
com3 at pcmcia0 function 0 port 0x2f8-0x2ff: serial device
com3: ns16550a, working fifo
and then from the March 99 kernel:
pcmcia1 at pcic0 controller 0 socket 1
pcmcia1: CIS version PCMCIA 2.0 or 2.1
pcmcia1: CIS info: LASAT COMMUNICATIONS A/S, LASAT CREDIT 336
pcmcia1: Manufacturer code 0x134, product 0x3611
pcmcia1: function 0: serial port, ccr addr 3f0 mask 7
pcmcia1: function 0, config table entry 8: I/O card; irq mask 86bc; iomask 3, iospace 3f8-3ff; audio
pcmcia1: function 0, config table entry 24: I/O card; irq mask 86bc; iomask 3, iospace 2f8-2ff; io8 audio
pcmcia1: function 0, config table entry 40: I/O card; irq mask 86bc; iomask 3, iospace 3e8-3ef; io8 audio
pcmcia1: function 0, config table entry 56: I/O card; irq mask 86bc; iomask 3, iospace 2e8-2ef; io8 audio
com3 at pcmcia1 function 0sc_io_window=0x0, addr=0x340, size=0x8
port 0x340-0x347: serial device
With the March 99 kernel I then get the error messages
com3: com_iflush timeout 0d
com3: com_iflush timeout 0d
com3: com_iflush timeout 0d
com3: com_iflush timeout 0d
when ttyflags are being run from /etc/rc. Any subsequent attempts
(tip, pppd etc.) to access the serial port then hang.
The only thing different (apart the modem having been moved from
pcmcia slot 0 to 1) is that the assigned/mapped I/O port range is no
longer any of the ones listed in the function 0 config table entries
returned by the card. If I make the following change to com_pcmcia.c
diff -u0 -r1.1 com_pcmcia.c
--- com_pcmcia.c 1999/03/28 11:23:32 1.1
+++ com_pcmcia.c 1999/03/29 21:35:16
@@ -242 +242 @@
- if ((cfe->iomask != 3) && (cfe->iospace[0].start != 0)) {
+ if ((cfe->iospace[0].start != 0)) {
then the card again get mapped at one of the I/O slots returned by the
card, and everything works normally again. (This is definitely not
the appropriate fix, but it was the first mod I made where the modem
again worked).
I don't know much about the whole PCMCIA stuff, so someone more
knowledgeable should probably tell us what is the problem here.
o Is my modem card somehow at fault? Does it return entries it should
not, or is it being more strict than what it tells the system?
Should it have some sort of `quirks' entry?
o Is the PCMCIA probing and mapping mechanisms for serial ports in
NetBSD-current broken in some way? Are other cards just more forgiving?
Any thoughts on this?
-jarle
--
"WorldCom to Acquire Itself; Expects Revenues to Double Overnight"
-- http://www.denounce.com/