Bug 3457
Summary: | Cardbus cards do not work with HP 5700CTX notebook. | ||
---|---|---|---|
Product: | Drivers | Reporter: | Anssi Hannula (anssi.hannula) |
Component: | PCMCIA | Assignee: | Dominik Brodowski (linux) |
Status: | CLOSED INSUFFICIENT_DATA | ||
Severity: | normal | CC: | romieu |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.8.1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
dmesg with yenta_socket compiled in, 8139too as module with debugging
output of ethtool -d eth0 Dmesg output with pci.h DEBUG defined Gross hack for debug dmesg with working 16bit card (pci.h debug defined) |
Description
Anssi Hannula
2004-09-24 12:53:16 UTC
Created attachment 3715 [details]
dmesg with yenta_socket compiled in, 8139too as module with debugging
Created attachment 3716 [details]
output of ethtool -d eth0
[dmesg output] PCI: IRQ 0 for device 0000:00:03.0 doesn't match PIRQ mask - try pci=usepirqmask [...] PCI: IRQ 0 for device 0000:00:03.1 doesn't match PIRQ mask - try pci=usepirqmask Does the suggestion above make a difference ? If not, the output of your /proc/interrupts and a lspci -vx after a few timeout messages may shed some light (wild guess: irq routing issue). -- Ueimor That doesn't make a difference. After few timeouts: cat /proc/interrupts: CPU0 0: 875033 XT-PIC timer 1: 1047 XT-PIC i8042 2: 0 XT-PIC cascade 6: 172 XT-PIC floppy 10: 0 XT-PIC yenta, yenta, eth0 12: 58 XT-PIC i8042 NMI: 0 LOC: 0 ERR: 0 MIS: 0 lspci -vx: 00:00.0 Host bridge: OPTi Inc. 82C557 [Viper-M] (rev 14) Flags: bus master, medium devsel, latency 0 00: 45 10 57 c5 07 00 80 12 14 00 00 06 00 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:01.0 ISA bridge: OPTi Inc. 82C558 [Viper-M ISA+IDE] (rev 02) Flags: bus master, medium devsel, latency 0 00: 45 10 58 c5 07 00 80 82 02 00 01 06 00 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:02.0 VGA compatible controller: Chips and Technologies F65554 (rev c2) (prog- if 00 [VGA]) Flags: stepping, medium devsel Memory at c0000000 (32-bit, non-prefetchable) [size=16M] Expansion ROM at <unassigned> [disabled] [size=256K] 00: 2c 10 e4 00 c3 01 80 02 c2 00 00 03 00 00 00 00 10: 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:03.0 CardBus bridge: Texas Instruments PCI1131 (rev 01) Flags: bus master, medium devsel, latency 168, IRQ 10 Memory at 10000000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=01, subordinate=04, sec-latency=176 Memory window 0: 10400000-107ff000 (prefetchable) Memory window 1: 10800000-10bff000 I/O window 0: 00004000-000040ff I/O window 1: 00004400-000044ff 16-bit legacy interface ports at 0001 00: 4c 10 15 ac 07 00 00 02 01 00 07 06 08 a8 82 00 10: 00 00 00 10 00 00 00 02 00 01 04 b0 00 00 40 10 20: 00 f0 7f 10 00 00 80 10 00 f0 bf 10 00 40 00 00 30: fc 40 00 00 00 44 00 00 fc 44 00 00 ff 01 00 05 40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:03.1 CardBus bridge: Texas Instruments PCI1131 (rev 01) Flags: bus master, medium devsel, latency 168, IRQ 10 Memory at 10001000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=05, subordinate=08, sec-latency=176 Memory window 0: 10c00000-10fff000 (prefetchable) Memory window 1: 11000000-113ff000 I/O window 0: 00004800-000048ff I/O window 1: 00004c00-00004cff 16-bit legacy interface ports at 0001 00: 4c 10 15 ac 07 00 00 02 01 00 07 06 08 a8 82 00 10: 00 10 00 10 00 00 00 02 00 05 08 b0 00 00 c0 10 20: 00 f0 ff 10 00 00 00 11 00 f0 3f 11 00 48 00 00 30: fc 48 00 00 00 4c 00 00 fc 4c 00 00 ff 02 c0 05 40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00:14.0 IDE interface: OPTi Inc. 82C621 [Viper-M/N+] (rev 12) (prog-if 80 [Master]) Flags: bus master, medium devsel, latency 0 I/O ports at 3000 [size=16] 00: 45 10 21 c6 55 00 80 02 12 80 01 01 00 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01:00.0 Ethernet controller: Accton Technology Corporation SMC2-1211TX (rev 10) Subsystem: Accton Technology Corporation: Unknown device 2230 Flags: bus master, medium devsel, latency 64, IRQ 10 I/O ports at 4000 [size=256] Memory at 10800000 (32-bit, non-prefetchable) [size=512] Capabilities: [50] Power Management version 2 00: 13 11 11 12 07 00 90 02 10 00 00 02 00 40 00 00 10: 01 40 00 00 00 00 80 10 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 02 01 00 00 13 11 30 22 30: 00 00 00 00 50 00 00 00 00 00 00 00 0a 01 20 40 My other pcmcia cards (all 16-bit) work well, when this is a 32-bit ("cardbus") card. It may be worth to mention that I have this laptop for only about 5 days anymore. Can you #define DEBUG at the top of arch/i386/pci/pci.h and rebuild the whole thing so as to have more information in the kernel log ? -- Ueimor Created attachment 3773 [details]
Dmesg output with pci.h DEBUG defined
Here's the dmesg output with pci.h debug defined also.
Created attachment 3777 [details]
Gross hack for debug
This patch may help checking if there is something really strange with
irq routing (it will surely crash the laptop a few times but you said you
will only keep it for the next 4 days, so...).
Please keep the DEBUG option in if you try it. You may want to change the
value 9 with... well, any 0..16 value (try the values which are not used by a
different device first). Keep the second slot free when the network adapter is
in.
No warranty.
Can you send lspci -vx + dmesg with pci.h DEBUG defined when a correctly working 16bit card is inserted in your system ? Created attachment 3778 [details]
dmesg with working 16bit card (pci.h debug defined)
Well, here is the working card's dmesg and lspci -vx:
00:00.0 Host bridge: OPTi Inc. 82C557 [Viper-M] (rev 14)
Flags: bus master, medium devsel, latency 0
00: 45 10 57 c5 07 00 80 02 14 00 00 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:01.0 ISA bridge: OPTi Inc. 82C558 [Viper-M ISA+IDE] (rev 02)
Flags: bus master, medium devsel, latency 0
00: 45 10 58 c5 07 00 80 82 02 00 01 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:02.0 VGA compatible controller: Chips and Technologies F65554 (rev c2)
(prog-if 00 [VGA])
Flags: stepping, medium devsel
Memory at c0000000 (32-bit, non-prefetchable) [size=16M]
Expansion ROM at <unassigned> [disabled] [size=256K]
00: 2c 10 e4 00 c3 01 80 02 c2 00 00 03 00 00 00 00
10: 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:03.0 CardBus bridge: Texas Instruments PCI1131 (rev 01)
Flags: bus master, medium devsel, latency 168, IRQ 10
Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
16-bit legacy interface ports at 0001
00: 4c 10 15 ac 07 00 00 02 01 00 07 06 08 a8 82 00
10: 00 00 00 10 00 00 00 02 00 01 04 b0 00 00 40 10
20: 00 f0 7f 10 00 00 80 10 00 f0 bf 10 00 40 00 00
30: fc 40 00 00 00 44 00 00 fc 44 00 00 ff 01 c0 05
40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:03.1 CardBus bridge: Texas Instruments PCI1131 (rev 01)
Flags: bus master, medium devsel, latency 168, IRQ 10
Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=05, subordinate=08, sec-latency=176
Memory window 0: 10c00000-10fff000 (prefetchable)
Memory window 1: 11000000-113ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
16-bit legacy interface ports at 0001
00: 4c 10 15 ac 07 00 00 02 01 00 07 06 08 a8 82 00
10: 00 10 00 10 00 00 00 02 00 05 08 b0 00 00 c0 10
20: 00 f0 ff 10 00 00 00 11 00 f0 3f 11 00 48 00 00
30: fc 48 00 00 00 4c 00 00 fc 4c 00 00 ff 02 c0 05
40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:14.0 IDE interface: OPTi Inc. 82C621 [Viper-M/N+] (rev 12) (prog-if 80
[Master])
Flags: bus master, medium devsel, latency 0
I/O ports at 3000 [size=16]
00: 45 10 21 c6 55 00 80 02 12 80 01 01 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16bit cards don't seem to be showed by lspci (because they aren't pci-devices).
The irq for it (3) gets defined by pcmcia-cs software configuration, and works
with any free irq available.
I will now try your patch.
I've tried the patch with numbers 3, 9, 10, 11, all lock up the system in kernel loading. If we are searching for the CardBus IRQ, according to notebook manual it's 10. And if I understood right that's what the kernel originally guessed. For me it looks like the problem is in finding the IRQ for the ethernet controller when loading the driver: PCI: Enabling device 0000:01:00.0 (0000 -> 0003) IRQ for 0000:01:00.0:0 -> not found in routing table Shouldn't this assign the irq 10 to the ethernet controller, too? Switched the component, note that this bug doesn't have any testers ATM. The message: > IRQ for 0000:01:00.0:0 -> not found in routing table just means that the device wasn't found in the routing table. However, your /proc/interrupts output indicates that the IRQ was correctly assigned: > 10: 0 XT-PIC yenta, yenta, eth0 but it has a count of '0' which means interrupts from eth0 and the socket itself are not getting through (I bet the '0' doesn't increment if you plug/ unplug the card.) This probably means that there's some magic for your laptop to route this interrupt to IRQ10 which we don't know about. Or it may be that the Cardbus bridge is incorrectly configured. It may be useful to search the 'net for the 'cbdump' program and provide the output. Is this bug still present in recent kernels (i.e. 2.6.11.12, 2.6.12-rc6)? No new test results; please re-open if bug is still present in 2.6.13-rc3 or later. |