Toshiba Cardbus

Craig St. Jean cstjean at cs.kent.edu
Tue Mar 27 23:04:43 UTC 2007


Success!! My road to getting things working was not easy though. I
actually tried installing Gentoo to see if that worked, however it
did not. After booting Gentoo with pci=assign-busses (or something like
that), it was able to show me the correct subordinate value via lspci
(was previously 7, should have been 9).

Excited after seeing that, I quickly reinstalled FreeBSD to try to fix
the problem. Going through dmesg one can see that my cardbus is on pci
bus 5 (pcib5). I then did a "pciconf -l | grep pcib5" and saw that the
bus is actually pci0:30:0. Googling has shown me that to change the
subordinate value, you use hex value 0x1a.

Then the magic: pciconf -wb pci0:30:0 0x1a 9
FreeBSD proceeded to load up the Atheros drivers and life is once again
happy!

I hope this helps someone out -- a little tinkering around and one could
probably not need to install Gentoo just to find out the correct values
(I only went that route to see if it even worked with it).

I know on Linux they had to fix the way the PCI drivers were assigning
values to the busses (which was solved by pci=assign-busses being a
default in newer kernels I believe). Not sure how to solve this in
FreeBSD. I will tinker around with the PCI drivers but I've never really
modified the codebase minus adding/removing a few debug options to a few
things.

Also - this was on a custom Toshiba A130 (or 135 -- its the one with the
fingerprint reader):
1.66 GHz Core 2 Duo
nVidia GeForce 7600
2 GiB memory

So if anyone out there is debating getting this machine -- cardbus does
work just fine (so long as you execute pciconf as stated below (assuming
your values are the same)).

Thanks!



Craig St. Jean wrote:
> Hello all,
> I have been googling for about an hour and cannot find a solution to
> this problem. Someone else posted about their Samsung cardbus not
> working with a similar situation as mine, however I have different
> hardware so am posting a new message.
>
> The problem overall: inserting a device does not do anything.
>
> With cardbus debugging on, I receive this after insertion:
> Status is 0x30000820
> cbb0: card inserted: event=0x00000000, state=30000820
> cbb0: cbb_power: 3V
> cbb0: cbb_power: 0V
>
> But then nothing else. Note that I do have a supported card that I'm
> plugging in. I believe it is a 32-bit card, and from what I've read,
> most people having this problem have tested 16-bit cards which have
> worked successfully (I don't have any to test though).
>
> Anyone have any ideas? I've seen some people resolve a similar issue by
> using pciconf -wb (device - pci6:4:0 in my case) (some hex) (some
> number), but I don't understand exactly what the hex digits meant or the
> number or how it solved their issue.
>
> == dmesg (stripped) ==
> pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0
> pci6: <ACPI PCI bus> on pcib5
> cbb0: <PCI-CardBus Bridge> at device 4.0 on pci6
> cbb0: Found memory at de006000
> cbb0: Secondary bus is 0
> cbb0: Setting primary bus to 6
> cbb0: Secondary bus set to 7 subbus 8
> cardbus0: <CardBus bus> on cbb0
> pccard0: <16-bit PCCard bus> on cbb0
> cbb0: [ITHREAD]
> Status is 0x30000820
> cbb0: card inserted: event=0x00000000, state=30000820
> cbb0: cbb_power: 3V
> cbb0: cbb_power: 0V
> Status is 0x30000026
> Status is 0x30000820
> cbb0: card inserted: event=0x00000000, state=30000820
> cbb0: cbb_power: 3V
> cbb0: cbb_power: 0V
>
> Note that status 0x30000820 means card inserted, 0x30000026 means card
> ejected.
>
> == pciconf -l (stripped) ==
> pcib5 at pci0:30:0:        class=0x060401 card=0xff001179 chip=0x24488086 rev=0xe2 hdr=0x01
> cbb0 at pci6:4:0:  class=0x060700 card=0xff001179 chip=0x8039104c rev=0x00 hdr=0x02
> none2 at pci6:4:1: class=0x0c0010 card=0xff001179 chip=0x803a104c rev=0x00 hdr=0x00
> none3 at pci6:4:2: class=0x018000 card=0xff001179 chip=0x803b104c rev=0x00 hdr=0x00
> none4 at pci6:4:3: class=0x080501 card=0xff001179 chip=0x803c104c rev=0x00 hdr=0x00
>
> == sysctl dev.cbb ==
> dev.cbb.0.%desc: PCI-CardBus Bridge
> dev.cbb.0.%driver: cbb
> dev.cbb.0.%location: slot=4 function=0
> dev.cbb.0.%pnpinfo: vendor=0x104c device=0x8039 subvendor=0x1179 subdevice=0xff00 class=0x060700
> dev.cbb.0.%parent: pci6
> dev.cbb.0.pribus: 6
> dev.cbb.0.secbus: 7
> dev.cbb.0.subbus: 8
> _______________________________________________
> 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