cardbus not working

felix.schalck felix.schalck at gmx.net
Wed Jan 24 19:35:32 UTC 2007


M. Warner Losh wrote:
> In message: <45B6300F.6040302 at gmx.net>
>             "felix.schalck" <felix.schalck at gmx.net> writes:
> : Hi,
> : 
> : I posted this to freebsd-questions first, 'cause I didn't remember there 
> : was a freebsd-mobile mailing list :)... Sorry if you get this mail twice.
> : 
> : Here is my problem:
> : I'm trying to get a WLAN pcmcia card working on freebsd 6.2. Kernel with 
> : cardbus support compiled fine, but when the card is inserted, i get:
> : 
> : Status is 0x30000086
> : Status is 0x30000820
> : cbb0: card inserted: event=0x00000000, state=30000820
> : cbb0: cbb_power: 3V
> : cbb0: cbb_power: 0V
> : 
> : Dmesg shows:
> : 
> : cbb0: <ENE CB1410 PCI-CardBus Bridge> at device 7.0 on pci2
> : cbb0: Found memory at e0202000
> : cbb0: Secondary bus is 2
>
> secondary bus 2 on bus 2 is the problem, I think.
>
> : cardbus0: <CardBus bus> on cbb0
> : pccard0: <16-bit PCCard bus> on cbb0
> : 
> : Any ideas ? What are my possibilities/chances to get it work ?
>
> What kind of computer do you have?  I have one that I need to 'hack'
> to get working.  It is a Toshiba Satellite of recent vintage.  Its
> pcib2 has pci2 as a child, and my cbb device is on pci2 like yours.
> It's subordinate bus numbers are wrong on pcib2:
>
> % pciconf -l | grep pcib2
> pcib2 at pci0:20:4: class=0x060401 card=0x00000000 chip=0x43421002
> 	rev=0x00 hdr=0x01
> % pciconf -r pci0:20:4 0x18
> 20020200
> %
>
> This means that the attempt to kludge around this in the cbb driver
> fails:
>
> ...
> cbb0: Secondary bus is 0
> cbb0: Secondary bus set to 3 subbus 4
> ...
>
> because the config cycles aren't making it through.  I hacked my
> pci_pci.c code to smack a 0xff into offset 0x1b for unit 2, but that's
> evil.  It may be necessary for you to do as well until I resolve this
> issue.
>
> To see if you need to further update cbb, please send the output of:
> 	% sysctl dev.cbb
> to me.  On my machine it says:
>
> dev.cbb.0.%desc: TI1410 PCI-CardBus Bridge
> dev.cbb.0.%driver: cbb
> dev.cbb.0.%location: slot=6 function=0
> dev.cbb.0.%pnpinfo: vendor=0x104c device=0xac50 subvendor=0x1179 subdevice=0xff10 class=0x060700
> dev.cbb.0.%parent: pci2
> dev.cbb.0.pribus: 2
> dev.cbb.0.secbus: 3
> dev.cbb.0.subbus: 4
>
> Warner
>   
Thank you very much for the interesting details you provided; I 
certainly didn't understand everything, but this might be indeed the 
source of the problem; it would be great if you could help me to 
understand&provide a solution, like yours. I'm running a clevo M120 W 
with an intel 855GME + 82801DBM core architecture; the manufacturer 
provides very few details, but i *think* there's only one pcib, as 
pciconf only shows one ! So, is the pci2 (which seems to hold the cbb) 
necessary a child of this pcib1 ?

%pciconf -l | grep pcib
pcib1 at pci0:30:0:        class=0x060400 card=0x00000000 chip=0x24488086 
rev=0x83 hdr=0x01

and

%pciconf -l
hostb0 at pci0:0:0:        class=0x060000 card=0x01201558 chip=0x35808086 
rev=0x02 hdr=0x00
none0 at pci0:0:1: class=0x088000 card=0x01201558 chip=0x35848086 rev=0x02 
hdr=0x00
none1 at pci0:0:3: class=0x088000 card=0x01201558 chip=0x35858086 rev=0x02 
hdr=0x00
agp0 at pci0:2:0:  class=0x030000 card=0x01201558 chip=0x35828086 rev=0x02 
hdr=0x00
none2 at pci0:2:1: class=0x038000 card=0x01201558 chip=0x35828086 rev=0x02 
hdr=0x00
uhci0 at pci0:29:0:        class=0x0c0300 card=0x01201558 chip=0x24c28086 
rev=0x03 hdr=0x00
uhci1 at pci0:29:1:        class=0x0c0300 card=0x01201558 chip=0x24c48086 
rev=0x03 hdr=0x00
uhci2 at pci0:29:2:        class=0x0c0300 card=0x01201558 chip=0x24c78086 
rev=0x03 hdr=0x00
ehci0 at pci0:29:7:        class=0x0c0320 card=0x01201558 chip=0x24cd8086 
rev=0x03 hdr=0x00
pcib1 at pci0:30:0:        class=0x060400 card=0x00000000 chip=0x24488086 
rev=0x83 hdr=0x01
isab0 at pci0:31:0:        class=0x060100 card=0x00000000 chip=0x24cc8086 
rev=0x03 hdr=0x00
atapci0 at pci0:31:1:      class=0x01018a card=0x01201558 chip=0x24ca8086 
rev=0x03 hdr=0x00
none3 at pci0:31:3:        class=0x0c0500 card=0x01201558 chip=0x24c38086 
rev=0x03 hdr=0x00
pcm0 at pci0:31:5: class=0x040100 card=0x01201558 chip=0x24c58086 rev=0x03 
hdr=0x00
none4 at pci0:31:6:        class=0x070300 card=0x01201558 chip=0x24c68086 
rev=0x03 hdr=0x00
rl0 at pci2:6:0:   class=0x020000 card=0x01201558 chip=0x813910ec rev=0x10 
hdr=0x00
cbb0 at pci2:7:0:  class=0x060700 card=0x01201558 chip=0x14101524 rev=0x01 
hdr=0x02
iwi0 at pci2:8:0:  class=0x028000 card=0x27028086 chip=0x42208086 rev=0x05 
hdr=0x0

I tried your command:
#pciconf -r pci0:30:0 0x18 (although i didn't really understand why 0x18!),
which gives the same result:
20020200

And finally, here's the requested sysctl output:
%sysctl dev.cbb      
dev.cbb.0.%desc: ENE CB1410 PCI-CardBus Bridge
dev.cbb.0.%driver: cbb
dev.cbb.0.%location: slot=7 function=0
dev.cbb.0.%pnpinfo: vendor=0x1524 device=0x1410 subvendor=0x1558 
subdevice=0x0120 class=0x060700
dev.cbb.0.%parent: pci2

I hope it helps,

Thanks again for your cares about my problem,

Felix
> _______________________________________________
> freebsd-mobile at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
> To unsubscribe, send any mail to "freebsd-mobile-unsubscribe at freebsd.org"
>
>   



More information about the freebsd-mobile mailing list