Subject: kern/26380: CardBus slots on IBM T41p or IBM T40p laptops not recognized
To: None <gnats-bugs@gnats.netbsd.org>
From: None <he@uninett.no>
List: netbsd-bugs
Date: 07/20/2004 15:53:48
>Number:         26380
>Category:       kern
>Synopsis:       CardBus slots on IBM T41p or IBM T40p laptops not recognized
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 20 13:55:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Havard Eidnes
>Release:        NetBSD 2.0_BETA
>Organization:
	UNINETT AS
>Environment:
System: NetBSD 2.0_BETA (INSTALL) #5: Tue Jul 20 12:57:16 CEST 2004 he@splitter-pine.urc.uninett.no:/work/netbsd-2-0/i386/obj/sys/arch/i386/compile/INSTALL
Architecture: i386
Machine: i386
>Description:
	NetBSD fails to probe the CardBus controllers in IBM T41p and
	IBM T40p laptops.

	On the T41p, the CardBus controller is shown as

vendor 0x104c product 0xac46 (CardBus bridge, revision 0x01) at pci2 dev 0 function 0 not configured
vendor 0x104c product 0xac46 (CardBus bridge, revision 0x01) at pci2 dev 0 function 1 not configured

	and later as

pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff irq 
pcic0: controller 0 (Intel 82365SL-DF) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
isapnp0: no ISA Plug 'n Play devices found
pcic0: controller 0 detecting irqs with mask 0xde18: none
pcic0: no available irq; polling for socket events

	whereas on the T40p, the CardBus controller is shown as

vendor 0x104c product 0xac55 (CardBus bridge, revision 0x01) at pci2 dev 0 function 0 not configured
vendor 0x104c product 0xac55 (CardBus bridge, revision 0x01) at pci2 dev 0 function 1 not configured

	and later as

pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff irq 
pcic0: controller 0 (Intel 82365SL-DF) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
isapnp0: no ISA Plug 'n Play devices found
pcic0: controller 0 detecting irqs with mask 0xde18:..3..4..9..10
pcic0: using irq 3 for socket events

	However, insertion of a Lucent wi(4) card does not produce any
	response.

	The complete boot messages from these two laptops follow:

	T41p with an older (1.6ZD) kernel:

NetBSD 1.6ZD (INSTALL) #33: Wed Oct 15 19:31:01 CEST 2003
	he@stegg.urc.uninett.no:/usr/users/he/src/sys/arch/i386/compile/obj.i386/INSTALL
total memory = 510 MB
avail memory = 467 MB
using 6144 buffers containing 26264 KB of memory
BIOS32 rev. 0 found at 0xfd750
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Banias) (686-class), 599.52 MHz, id 0x695
cpu0: features a7e9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR>
cpu0: features a7e9f9bf<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features a7e9f9bf<FXSR,SSE,SSE2,TM,SBF>
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: vendor 0x8086 product 0x3340 (rev. 0x03)
agp at pchb0 not configured
ppb0 at pci0 dev 1 function 0: vendor 0x8086 product 0x3341 (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: vendor 0x1002 product 0x4e54 (rev. 0x80)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x24c2 (rev. 0x01)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x24c4 (rev. 0x01)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x24c7 (rev. 0x01)
uhci2: interrupting at irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
vendor 0x8086 product 0x24cd (USB serial bus, interface 0x20, revision 0x01) at pci0 dev 29 function 7 not configured
ppb1 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0x81)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
vendor 0x104c product 0xac46 (CardBus bridge, revision 0x01) at pci2 dev 0 function 0 not configured
vendor 0x104c product 0xac46 (CardBus bridge, revision 0x01) at pci2 dev 0 function 1 not configured
wm0 at pci2 dev 1 function 0: Intel i82540EP 1000BASE-T Ethernet, rev. 3
wm0: interrupting at irq 11
wm0: Ethernet address 00:0d:60:89:28:45
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 4
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
vendor 0x168c product 0x1014 (ethernet network, revision 0x01) at pci2 dev 2 function 0 not configured
pcib0 at pci0 dev 31 function 0
pcib0: vendor 0x8086 product 0x24cc (rev. 0x01)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801DBM IDE Controller (ICH4-M) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
vendor 0x8086 product 0x24c3 (SMBus serial bus, revision 0x01) at pci0 dev 31 function 3 not configured
vendor 0x8086 product 0x24c5 (audio multimedia, revision 0x01) at pci0 dev 31 function 5 not configured
vendor 0x8086 product 0x24c6 (modem communications, revision 0x01) at pci0 dev 31 function 6 not configured
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff irq 
pcic0: controller 0 (Intel 82365SL-DF) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
isapnp0: no ISA Plug 'n Play devices found
pcic0: controller 0 detecting irqs with mask 0xde18: none
pcic0: no available irq; polling for socket events
md0: internal 2500 KB image area
wd0 at atabus0 drive 0: <HTS726060M9AT00>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 53959 MB, 109632 cyl, 16 head, 63 sec, 512 bytes/sect x 110509426 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <UJDA755zDVD/CDRW, , 1.20> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
boot device: <unknown>
root on md0a dumps on md0b
root file system type: ffs
warning: no /dev/console

	T40p with a later kernel (ath recognized):

NetBSD 2.0_BETA (INSTALL) #5: Tue Jul 20 12:57:16 CEST 2004
        he@splitter-pine.urc.uninett.no:/work/netbsd-2-0/i386/obj/sys/arch/i386/compile/INSTALL
total memory = 512 MB
avail memory = 491 MB
BIOS32 rev. 0 found at 0xfd780
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Banias) (686-class), 599.52 MHz, id 0x695
cpu0: features a7e9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR>
cpu0: features a7e9f9bf<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features a7e9f9bf<FXSR,SSE,SSE2,TM,SBF>
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: vendor 0x8086 product 0x3340 (rev. 0x03)
agp at pchb0 not configured
ppb0 at pci0 dev 1 function 0: vendor 0x8086 product 0x3341 (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: vendor 0x1002 product 0x4c66 (rev. 0x02)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x24c2 (rev. 0x01)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x24c4 (rev. 0x01)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x24c7 (rev. 0x01)
uhci2: interrupting at irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
vendor 0x8086 product 0x24cd (USB serial bus, interface 0x20, revision 0x01) at pci0 dev 29 function 7 not configured
ppb1 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0x81)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
vendor 0x104c product 0xac55 (CardBus bridge, revision 0x01) at pci2 dev 0 function 0 not configured
vendor 0x104c product 0xac55 (CardBus bridge, revision 0x01) at pci2 dev 0 function 1 not configured
wm0 at pci2 dev 1 function 0: Intel i82540EP 1000BASE-T Ethernet, rev. 3
wm0: interrupting at irq 11
wm0: 32-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:09:6b:06:5e:78
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 4
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ath0 at pci2 dev 2 function 0
ath0: interrupting at irq 11
ath0: mac 4.2 phy 3.0 5ghz radio 1.7 2ghz radio 2.3
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 802.11 address: 00:05:4e:40:17:6d
pcib0 at pci0 dev 31 function 0
pcib0: vendor 0x8086 product 0x24cc (rev. 0x01)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801DBM IDE Controller (ICH4-M) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
vendor 0x8086 product 0x24c3 (SMBus serial bus, revision 0x01) at pci0 dev 31 function 3 not configured
vendor 0x8086 product 0x24c5 (audio multimedia, revision 0x01) at pci0 dev 31 function 5 not configured
vendor 0x8086 product 0x24c6 (modem communications, revision 0x01) at pci0 dev 31 function 6 not configured
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff irq 
pcic0: controller 0 (Intel 82365SL-DF) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
isapnp0: no ISA Plug 'n Play devices found
pcic0: controller 0 detecting irqs with mask 0xde18:..3..4..9..10
pcic0: using irq 3 for socket events
Kernelized RAIDframe activated
md0: internal 5000 KB image area
wd0 at atabus0 drive 0: <IC25N040ATCS05-0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 35325 MB, 71772 cyl, 16 head, 63 sec, 512 bytes/sect x 72346607 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <UJDA745 DVD/CDRW, , 1.02> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
boot device: <unknown>
root on md0a dumps on md0b
root file system type: ffs
warning: no /dev/console


>How-To-Repeat:
	Boot either an IBM T41p or IBM T40p and watch the CardBus
	controllers not being recognized.

	Try to insert a pcmcia card, and watch it not being probed.

>Fix:
	Sorry, don't know exactly.

	0xac46 = PCI4520YENTA
	0xac55 = PCI1520

	according to our pcidevs, both manufactured by TI, but neither
	has any explicit support in sys/dev/pci/pccbb.c, array
	yc_chipsets[], so are not probed/recognized.

	Looking at FreeBSD's sys/dev/pccbb/pccbb.c, it would seem that
	the PCI1520 could easily be supported by just adding an entry
	entry to the above mentioned array, and it's an open question
	whether the same would be true for the 4520 (FreeBSD has 4510
	supported in the same way, whereas we don't).
>Release-Note:
>Audit-Trail:
>Unformatted: