CARDBUS(4) Kernel Interfaces Manual CARDBUS(4)
NAME
cardbus, cardslot, cbbCardBus driver
SYNOPSIS
cbb* at pci? dev? function ?
cardslot* at cbb?
cardbus* at cardslot?
pcmcia* at cardslot?
XX* at cardbus? function ?
DESCRIPTION
NetBSD provides machine-independent bus support and drivers for CardBus devices.
 
The cbb device represents the CardBus controller. Each controller has a number of slots, represented by the cardslot devices. A slot can have either a CardBus card or a PCMCIA card, which are attached with the cardbus or pcmcia devices, respectively.
SUPPORTED DEVICES
NetBSD includes the following machine-independent CardBus drivers, sorted by function and driver name:
Network interfaces
ath
Atheros 5210/5211/5212 802.11
atw
ADMtek ADM8211 (802.11)
ex
3Com 3c575TX and 3c575BTX
fxp
Intel i8255x
ral
Ralink Technology RT25x0 (802.11)
rtk
Realtek 8129/8139
rtw
Realtek 8180L (802.11)
tlp
DECchip 21143
Serial interfaces
com
Modems and serial cards
SCSI controllers
adv
AdvanSys 1200[A,B], 9xx[U,UA]
ahc
Adaptec ADP-1480
njs
Workbit NinjaSCSI-32
USB controllers
ehci
Enhanced Host Controller (2.0)
ohci
Open Host Controller
uhci
Universal Host Controller
IEEE1394 controllers
fwohci
OHCI controller
Disk and tape controllers
siisata
Silicon Image SATA-II controllers.
DIAGNOSTICS
cbb devices may not be properly handled by the system BIOS on i386-family systems. If, on an i386-family system, the cbb driver reports
cbb0: NOT USED because of unconfigured interrupt
then enabling
options PCI_ADDR_FIXUP
options PCI_BUS_FIXUP
options PCI_INTR_FIXUP
or (if ACPI is in use)
options PCI_INTR_FIXUP_DISABLED
in the kernel configuration might be of use.
SEE ALSO
HISTORY
The cardbus driver appeared in NetBSD 1.5.
BUGS
Memory space conflicts
NetBSD maps memory on Cardbus and PCMCIA cards in order to access the cards (including reading CIS tuples on PCMCIA cards) and access the devices using the RBUS abstraction. When the mapping does not work, PCMCIA cards are typically ignored on insert, and Cardbus cards are recognized but nonfunctional. On i386, the kernel has a heuristic to choose a memory address for mapping, defaulting to 1 GB, but choosing 0.5 GB on machines with less than 192 MB RAM and 2 GB on machines with more than 1 GB of RAM. The intent is to use an address that is larger than available RAM, but low enough to work; some systems seem to have trouble with addresses requiring more than 20 address lines. On i386, the following kernel configuration line disables the heuristics and forces Cardbus memory space to be mapped at 512M; this value makes Cardbus support (including PCMCIA attachment under a cbb) work on some notebook models, including the IBM Thinkpad 600E (2645-4AU) and the Compaq ARMADA M700:
 
options RBUS_MIN_START="0x20000000"