[tulip-bug] Toshiba Pro 440CDT hangs when SMC8035TX CardBus card transmits
Mike Carr
Mike Carr <mcarr@macrolink.bc.ca>
Fri Aug 30 15:17:04 2002
Heyas,
I've been trying (unsuccessfully) to get a SMC8035TX CardBus card to
work with my Toshiba Pro 440CDT. The system locks whenever I attempt to
transmit data on the interface. The hardware goes completely
non-responsive; it looks like the dongle attached to the card blinks the
activity light once or twice when I attempt to transmit but after this I
get nothing from the card or the computer.
I'm running Debian 3.0 unstable. I've attempted to get the card working
with 2.4.18 (using the tulip_cb module) and under 2.4.19 (using the
tulip module).
Any transmit traffic on the interface locks the system. I can bring the
interface up manually and assign an IP. I can run tcpdump and watch
traffic. However, if I try to bring the interface up with pump/dhclient
I get a hardware lock; if I manually bring up the interface and attempt
to ping a host then I get a hardware lock.
I've tried insmod'ing the tulip module with the debugging flag set to 6
(which according to my documentation is the maximum level of debugging)
to see if I get any meaningful output when the system locks. I don't
appear (IMHO) to get anything helpful in syslog.
To be fair, I've never used a Cardbus card in my laptop before. I could
be looking at a problem that's outside the scope of the tulip driver. I
do not have another Cardbus card to try out to verify if it's a problem
with the laptop itself. The laptop BIOS can toggle between Cardbus and
normal PCMCIA mode (In the BIOS it's called Cardbus/16-bit mode vs PCIC
Compatible mode); in normal PCMCIA mode I use a D-LINK DE-660. The
laptop doesn't allow me to run a Cardbus card while in PCMCIA mode, or
a PCMCIA card while I'm in Cardbus mode. I can say that the laptop does
work successfully with the D-LINK card when I'm in PCMCIA mode, so I
suspect that the socket is physically functioning.
That all being said, this is what I'm seeing in kernel 2.4.19 .
[lsmod output]
Module Size Used by Not tainted
tulip 37472 0 (unused)
ds 6464 2
yenta_socket 8832 2
pcmcia_core 39168 0 [ds yenta_socket]
ipt_state 608 1 (autoclean)
ip_conntrack 13228 1 (autoclean) [ipt_state]
iptable_filter 1728 1 (autoclean)
ip_tables 10528 2 [ipt_state iptable_filter]
af_packet 11656 0 (autoclean)
usb-ohci 17760 0 (unused)
usbcore 55040 1 [usb-ohci]
opl3 11112 0 (unused)
sb 7872 0
isa-pnp 28060 0 [sb]
sb_lib 32480 0 [sb]
uart401 6080 0 [sb_lib]
sound 52780 0 [opl3 sb_lib uart401]
soundcore 3556 5 [sb_lib sound]
apm 8968 1
rtc 5916 0 (autoclean)
ide-disk 9376 2 (autoclean)
unix 13380 7 (autoclean)
ide-probe-mod 8688 0 (autoclean)
ide-mod 151072 2 (autoclean) [ide-disk ide-probe-mod]
ext3 56928 1 (autoclean)
jbd 35752 1 (autoclean) [ext3]
[lspci -vv output]
00:00.0 Host bridge: Toshiba America Info Systems 601 (rev 27)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 0, cache line size 08
00:02.0 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=14, subordinate=14, sec-latency=0
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
00:02.1 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 11
Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=15, subordinate=15, sec-latency=0
Memory window 0: 10c00000-10fff000 (prefetchable)
Memory window 1: 11000000-113ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
00:04.0 VGA compatible controller: Chips and Technologies F65554 (rev c2) (prog-if 00 [VGA])
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Region 0: Memory at fe000000 (32-bit, non-prefetchable) [size=16M]
Expansion ROM at <unassigned> [disabled] [size=256K]
00:0b.0 USB Controller: NEC Corporation USB (rev 01) (prog-if 10 [OHCI])
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort+ <TAbort- <MAbort- >SERR- <PERR-
Latency: 16 (250ns min, 5250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fdfff000 (32-bit, non-prefetchable) [size=4K]
15:00.0 Ethernet controller: Abocom Systems Inc: Unknown device ab02 (rev 11)
Subsystem: Abocom Systems Inc: Unknown device ab02
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (63750ns min, 63750ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at 4800 [size=256]
Region 1: Memory at 11000000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at 10c00000 [size=128K]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
[tulip-diag -aa -ee -mm output]
tulip-diag.c:v2.11 6/17/2002 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a ADMtek AL985 Centaur (Linksys CardBus v2) adapter at 0x4800.
ADMtek AL985 Centaur (Linksys CardBus v2) chip registers at 0x4800:
0x00: fe590000 ffffffff ffffffff 00000000 00000000 fc004010 ff970155 fffe4010
0x40: fffe0000 fff097ff 00000000 fffe0000 00000000 00000200 00000000 c40ffec8
Extended registers:
0x80: 2000c810 03fe4010 80cc0004 0000ff00 00000000 00000000 00000000 ffe0f000
0xa0: f0000000 9698e000 ffff65d3 00000000 00000000 00000000 00000000 00000000
0xc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0xe0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20000027
Comet duplex is reported in the MII status registers.
Transmit stopped, Receive stopped, half-duplex.
The Rx process state is 'Stopped'.
The Tx process state is 'Stopped'.
The transmit threshold is 128.
Interrupt sources are pending! CSR5 is fc00c810.
Link passed indication.
Timer expired indication.
Early Rx indication.
Comet MAC address registers 9698e000 ffff65d3
Comet multicast filter 0000000000000000.
EEPROM 256 words, 8 address bits.
Ethernet MAC Station Address 00:e0:98:96:d3:65.
Default connection type 'Autosense'.
PCI IDs Vendor 13d1 Device ab02 Subsystem 13d1 ab02
PCI min_grant 255 max_latency 255.
CSR18 power-up setting 0x80cc****.
EEPROM contents (256 words):
0x00: 0985 0002 0000 0000 e000 9698 65d3 0000
0x08: 0000 0400 0000 0000 0000 0000 0000 0100
0x10: ab02 13d1 ab02 13d1 ffff 0202 0000 80cc
0x18: 0000 0000 0000 0000 0000 0000 0000 0000
0x20: 0000 0000 0000 0000 0000 0000 0000 0000
0x28: 0040 0060 0000 0000 0000 0000 0000 0000
0x30: 0000 0000 0000 0000 0000 0000 0000 0000
0x38: 0000 0000 0000 0000 0000 0000 0000 740b
0x40: ffff ffff ffff ffff ffff ffff ffff ffff
0x48: ffff ffff ffff ffff ffff ffff ffff ffff
0x50: ffff ffff ffff ffff ffff ffff ffff ffff
0x58: ffff ffff ffff ffff ffff ffff ffff ffff
0x60: ffff ffff ffff ffff ffff ffff ffff ffff
0x68: ffff ffff ffff ffff ffff ffff ffff ffff
0x70: ffff ffff ffff ffff ffff ffff ffff ffff
0x78: ffff ffff ffff ffff ffff ffff ffff ffff
0x80: ffff ffff ffff ffff ffff ffff ffff ffff
0x88: ffff ffff ffff ffff ffff ffff ffff ffff
0x90: ffff ffff ffff ffff ffff ffff ffff ffff
0x98: ffff ffff ffff ffff ffff ffff ffff ffff
0xa0: 0313 4943 2053 d104 0213 21ab 0602 2201
0xa8: 0102 2202 0205 9680 0098 0522 0002 f5e1
0xb0: 2205 0302 1501 0520 4300 7261 4264 7375
0xb8: 4600 7361 2074 7445 6568 6e72 7465 5600
0xc0: 2e31 0030 ff00 0400 0306 2a01 0000 0700
0xc8: 1106 0000 0001 0700 0206 0000 0001 0700
0xd0: 0706 0000 0002 0500 410a 0139 1eb5 b002
0xd8: fefc ff84 ff84 ffff ffff ffff ffff ffff
0xe0: ffff ffff ffff ffff ffff ffff ffff ffff
0xe8: ffff ffff ffff ffff ffff ffff ffff ffff
0xf0: ffff ffff ffff ffff ffff ffff ffff ffff
0xf8: ffff ffff ffff ffff ffff ffff ffff 00b6
ID block CRC 0x63 (vs. 00).
Full contents CRC 0x740b (read as 0x740b).
MII PHY found at address 1, status 0x786d.
MII PHY found at address 2, status 0x786d.
MII PHY found at address 3, status 0x786d.
MII PHY found at address 4, status 0x786d.
MII PHY #1 transceiver registers:
3000 786d 0022 5410 01e1 0021 0004 2001
ffff ffff ffff ffff ffff ffff ffff ffff
01c0 0001 0190 8020 4f02 0304 0026 05ea
0000 d7bf 0000 ffff ffff ffff ffff ffff.
Basic mode control register 0x3000: Auto-negotiation enabled.
Basic mode status register 0x786d ... 786d.
Link status: established.
Capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Able to perform Auto-negotiation, negotiation complete.
Vendor ID is 00:08:95:--:--:--, model 1 rev. 0.
Vendor/Part: ADMtek AN983 Comet.
I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
Advertising no additional info pages.
IEEE 802.3 CSMA/CD protocol.
Link partner capability is 0021: 10baseT.
Negotiation did not complete.
ADMtek vendor specific registers information:
Cable length is approximately 0 meters.
The receiver has lost lock 1514 times since last check and had 1514 error events.
TDK format vendor-specific registers 16..18 are 0x01c0 0x0001 0x0190
Link polarity is detected as normal.
Auto-negotiation complete, 10Mbps half duplex.
Rx link in fail state, PLL slipped since last read.
Events since last read: Jabber
[applicable syslog entries]
# NB: This is after insmod'ing tulip module with tulip_diag=6 and
# forcing negotation to use MII-10baseT
Aug 30 08:43:26 pacho kernel: Linux Kernel Card Services 3.1.22
Aug 30 08:43:26 pacho kernel: options: [pci] [cardbus] [pm]
Aug 30 08:43:26 pacho kernel: Databook TCIC-2 PCMCIA probe: not found.
Aug 30 08:43:27 pacho kernel: PCI: Enabling device 00:02.0 (0004 -> 0006)
Aug 30 08:43:27 pacho kernel: PCI: Enabling device 00:02.1 (0004 -> 0006)
Aug 30 08:43:27 pacho kernel: Yenta IRQ list 0000, PCI irq11
Aug 30 08:43:27 pacho kernel: Socket status: 30000006
Aug 30 08:43:27 pacho kernel: Yenta IRQ list 0000, PCI irq11
Aug 30 08:43:27 pacho kernel: Socket status: 30000020
Aug 30 08:43:28 pacho kernel: cs: cb_alloc(bus 21): vendor 0x13d1, device 0xab02
Aug 30 08:43:28 pacho kernel: PCI: Enabling device 15:00.0 (0000 -> 0003)
Aug 30 08:43:29 pacho cardmgr[301]: watching 2 sockets
Aug 30 08:43:29 pacho kernel: cs: IO port probe 0x0c00-0x0cff: clean.
Aug 30 08:43:29 pacho kernel: cs: IO port probe 0x0800-0x08ff: clean.
Aug 30 08:43:29 pacho kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x330-0x337 0x378-0x37f 0x480-0x48f 0x4d0-0x4d7
Aug 30 08:43:29 pacho kernel: cs: IO port probe 0x0a00-0x0aff: clean.
Aug 30 08:43:29 pacho cardmgr[303]: starting, version is 3.2.1
Aug 30 08:43:29 pacho cardmgr[303]: socket 1: CardBus hotplug device
Aug 30 08:43:30 pacho apmd[310]: Version: apmd 3.0.2, driver 1.16, APM BIOS 1.2
Aug 30 08:43:30 pacho /etc/hotplug/pci.agent: Setup tulip for PCI slot 15:00.0
Aug 30 08:43:32 pacho kernel: Linux Tulip driver version 0.9.15-pre11 (May 11, 2002)
Aug 30 08:43:32 pacho kernel: PCI: Setting latency timer of device 15:00.0 to 64
Aug 30 08:43:32 pacho kernel: eth0: ADMtek Comet rev 17 at 0x4800, 00:E0:98:96:D3:65, IRQ 11.
Aug 30 08:45:34 pacho kernel: Linux Tulip driver version 0.9.15-pre11 (May 11, 2002)
Aug 30 08:45:34 pacho kernel: tulip0: Transceiver selection forced to MII 10baseT.
Aug 30 08:45:34 pacho kernel: eth0: ADMtek Comet rev 17 at 0x4800, 00:E0:98:96:D3:65, IRQ 11.
Aug 30 08:45:38 pacho modprobe: modprobe: Can't locate module eth1
Aug 30 08:45:38 pacho modprobe: modprobe: Can't locate module eth2
Aug 30 08:45:39 pacho modprobe: modprobe: Can't locate module eth3
Aug 30 08:45:39 pacho modprobe: modprobe: Can't locate module eth4
Aug 30 08:45:39 pacho modprobe: modprobe: Can't locate module eth5
Aug 30 08:45:39 pacho modprobe: modprobe: Can't locate module eth6
Aug 30 08:45:40 pacho modprobe: modprobe: Can't locate module eth7
Aug 30 08:45:52 pacho kernel: eth0: tulip_up(), irq==11.
Aug 30 08:45:52 pacho kernel: eth0: No media description table, assuming MII 10baseT transceiver, CSR12 00.
Aug 30 08:45:52 pacho kernel: eth0: Done tulip_up(), CSR0 fff98000, CSR5 fc664010 CSR6 ff9f2117.
Aug 30 08:45:52 pacho kernel: eth0: Added filter for 01:00:5e:00:00:01 7fa32d9b bit 62.
Aug 30 08:45:52 pacho kernel: eth0: Added filter for 01:00:5e:00:00:01 7fa32d9b bit 62.
Aug 30 08:45:55 pacho kernel: eth0: Comet link status 0000 partner capability 0000.
Aug 30 08:46:00 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:00 pacho kernel: In tulip_rx(), entry 0 009a0700.
Aug 30 08:46:00 pacho kernel: eth0: In tulip_rx(), entry 0 009a0700.
Aug 30 08:46:00 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:01 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:01 pacho kernel: In tulip_rx(), entry 1 00e70700.
Aug 30 08:46:01 pacho kernel: eth0: In tulip_rx(), entry 1 00e70700.
Aug 30 08:46:01 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:01 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:01 pacho kernel: In tulip_rx(), entry 2 00f70700.
Aug 30 08:46:01 pacho kernel: eth0: In tulip_rx(), entry 2 00f70700.
Aug 30 08:46:01 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 3 00820700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 3 00820700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 4 008f0700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 4 008f0700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 5 00a40700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 5 00a40700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 6 00880700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 6 00880700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 7 00b90700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 7 00b90700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:13 pacho kernel: In tulip_rx(), entry 8 00bc0700.
Aug 30 08:46:13 pacho kernel: eth0: In tulip_rx(), entry 8 00bc0700.
Aug 30 08:46:13 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:17 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:17 pacho kernel: In tulip_rx(), entry 9 00f70700.
Aug 30 08:46:17 pacho kernel: eth0: In tulip_rx(), entry 9 00f70700.
Aug 30 08:46:17 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:20 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:20 pacho kernel: In tulip_rx(), entry 10 00c00700.
Aug 30 08:46:20 pacho kernel: eth0: In tulip_rx(), entry 10 00c00700.
Aug 30 08:46:20 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:28 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:28 pacho kernel: In tulip_rx(), entry 11 00400720.
Aug 30 08:46:28 pacho kernel: eth0: In tulip_rx(), entry 11 00400720.
Aug 30 08:46:28 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:31 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:31 pacho kernel: In tulip_rx(), entry 12 009a0700.
Aug 30 08:46:31 pacho kernel: eth0: In tulip_rx(), entry 12 009a0700.
Aug 30 08:46:31 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:46:39 pacho kernel: eth0: interrupt csr5=0xfc674050 new csr5=0xfc664010.
Aug 30 08:46:39 pacho kernel: In tulip_rx(), entry 13 00400720.
Aug 30 08:46:39 pacho kernel: eth0: In tulip_rx(), entry 13 00400720.
Aug 30 08:46:39 pacho kernel: eth0: exiting interrupt, csr5=0xfc664010.
Aug 30 08:48:20 pacho syslogd 1.4.1#10: restart.
Sorry for the prodigious amount of output. I'm trying to cover my bases
by supplying everything that I think is potientially relevant.
I think the following lines from tulip-diag -aa -ee -mm are probably
indicating something beyond me:
Interrupt sources are pending! CSR5 is fc00c810.
Link passed indication.
Timer expired indication.
Early Rx indication.
The receiver has lost lock 1514 times since last check and had 1514 error events.
Rx link in fail state, PLL slipped since last read.
Events since last read: Jabber
I'm happy digging up more information or trying different things if
anyone out there has _ANY_ suggestions. I've considered trying out 2.5
to see if there have been any updates to the yenta_socket/tulip modules.
I'm puzzled at why the card would work receiving but not transmitting.
Sorry for the large email; again, _ANY_ suggestions would be helpful at
this point. I believe I've made a fair attempt to RTFM and STFW. I'm
sorry that I can't conclusively say that it's a driver issue :(
--
-Mike
Systems Administrator
# pgp keyid 30b2f8c1