- NetBSD Manual Pages
CARDBUS(4) NetBSD Kernel Interfaces Manual CARDBUS(4)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
cardbus, cardslot, cbb -- CardBus driver
cbb* at pci? dev? function ?
cardslot* at cbb?
cardbus* at cardslot?
pcmcia* at cardslot?
XX* at cardbus? function ?
NetBSD provides machine-independent bus support and drivers for CardBus
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.
NetBSD includes the following machine-independent CardBus drivers, sorted
by function and driver name:
ath Atheros 5210/5211/5212 802.11
atw ADMtek ADM8211 (802.11)
bwi Broadcom BCM430x/4318 (802.11)
ex 3Com 3c575TX and 3c575BTX
fxp Intel i8255x
ral Ralink Technology RT25x0 (802.11)
re RealTek 8139C+/8169/8169S/8110S
rtk Realtek 8129/8139
rtw Realtek 8180L (802.11)
tlp DECchip 21143
com Modems and serial cards
adv AdvanSys 1200[A,B], 9xx[U,UA]
ahc Adaptec ADP-1480
njs Workbit NinjaSCSI-32
ehci Enhanced Host Controller (2.0)
ohci Open Host Controller
uhci Universal Host Controller
fwohci OHCI controller
sdhc SD Host Controller
Disk and tape controllers
njata Workbit NinjaATA-32
siisata Silicon Image SATA-II controllers
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
or (if ACPI is in use)
in the kernel configuration might be of use.
adv(4), ahc(4), ath(4), atw(4), bwi(4), com(4), ehci(4), ex(4),
fwohci(4), fxp(4), njata(4), njs(4), ohci(4), options(4), pci(4),
pcmcia(4), ral(4), re(4), rtk(4), rtw(4), sdhc(4), siisata(4), tlp(4),
The cardbus driver appeared in NetBSD 1.5.
Memory space conflicts
NetBSD maps memory on Cardbus (and therefore PCMCIA cards behind Cardbus)
in order to access the cards (including reading CIS tuples on PCMCIA
cards) and access the devices using the RBUS abstraction. When the map-
ping 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 Com-
paq ARMADA M700:
PCMCIA addressing choice
By default, on i386 and amd64, the kernel uses RBUS_IO_BASE as 0x4000 and
RBUS_IO_SIZE as 0x2000. On some machines, this fails, due to a require-
ment that these addresses fit within 12 bits. The following kernel
options have been reported as helpful:
NetBSD 8.0 December 31, 2014 NetBSD 8.0