PCMCIA(4)

NAME
pcmcia - introduction to PCMCIA (PC Card) support

SYNOPSIS
pcmcia* at pcic? controller ? socket ?
pcmcia* at tcic? controller ? socket ?
pcmcia* at cardslot?

options PCMCIAVERBOSE

  amiga
pcmcia* at pccard0

  hpcmips
pcmcia* at it8368e? controller ? socket ?
pcmcia* at plumpcmcia? controller ? socket ?

  hpcsh
pcmcia* at hd64461pcmcia? controller ? socket ?

  sh3
pcmcia* at shpcic? controller ? socket ?

  sparc
pcmcia* at nell?

DESCRIPTION
NetBSD provides machine-independent bus support and drivers for PCMCIA (Personal Computer Memory Card International Association) a.k.a. PC Card, CardBus devices.

HARDWARE
NetBSD includes the following machine-independent PCMCIA drivers, sorted by function and driver name:

  Serial interfaces and modems

com(4)
    8250/16450/16550-compatible PCMCIA serial cards and modems.

  Network interfaces

an(4)
    Aironet 4500/4800 and Cisco 340 series 802.11 controller.

awi(4)
    802.11 controller based on the AMD PCnetMobile chipset.

cnw(4)
    Netwave AirSurfer Wireless LAN interface.

ep(4)
    3Com 3c589 EtherLink III Ethernet card.

mbe(4)
    Ethernet card based on the Fujitsu MB86960A/MB86965A chipset.

mhzc(4)
    Megahertz Ethernet/Modem combo cards

ne(4)
    NE2000 compatible cards.

ray(4)
    Raytheon Raylink and WebGear Aviator2.4 802.11 controller.

sm(4)
    Megahertz Ethernet card.

wi(4)
    Lucent WaveLAN/IEEE and PRISM-II based 802.11 controller.

xi(4)
    Xircom CreditCard Ethernet

  SCSI controllers

aic(4)
    Adaptec APA-1460 SCSI controller card.

esp(4)
    NCR 53C9x, Emulex ESP406, and Qlogic FAS408 SCSI controllers.

spc(4)
    Fujitsu MB87030/MB89352 SCSI controllers.

  IDE controllers

wdc(4)
    Digital Hinote Ultra Mobile Media Adapter

  Bluetooth devices

bt3c(4)
    3Com 3CRWB6096 Bluetooth PC Card driver.

btbc(4)
    AnyCom Bluetooth BlueCard driver.

  USB Controller

slhci(4)
    Cypress/ScanLogic SL811HS USB Host Controller driver.

SEE ALSO
cardbus(4), intro(4), isa(4), options(4), pcic(4), tcic(4), pcmcia(9)

HISTORY
The pcmcia driver appeared in NetBSD 1.3.

BUGS

  IO space conflicts
NetBSD probes the PCMCIA IO bus width and uses that information to decide where to map PCMCIA IO space. For 10-bit wide cards, 0x300-0x3ff is used. For 12-bit wide cards, 0x400-0x4ff is used.

Neither choice is perfect. In the 12-bit case, 0x400 appears to work in substantially more devices than 0x300. In the event that PCMCIA devices are mapped in 0x400-0x4ff and appear to be nonfunctional, remapping to 0x300-0x3ff may be appropriate; consult options PCIC_ISA_ALLOC_IOBASE and options PCIC_ISA_ALLOC_IOSIZE in options(4). Example:

    # Avoid PCMCIA bus space conflicts with the default IO space
    # allocation on 12-bit wide busses (base 0x300 size 0xff).
    options PCIC_ISA_ALLOC_IOBASE=0x300
    options PCIC_ISA_ALLOC_IOSIZE=0x0ff

  Interrupt conflicts
NetBSD attempts to probe for available interrupts to assign to PCMCIA devices. In some cases, it is not possible to detect all interrupts in use; in such cases, use of options PCIC_ISA_INTR_ALLOC_MASK may be necessary. See options(4).

  Unconfigured devices
During autoconfiguration, if a message is displayed saying that your card is "not configured" it indicates that there isn't support for your card compiled into the kernel. To fix this problem, it may simply be a matter of adding the manufacturer and product IDs to the PCMCIA database or adding a front-end attachment to an existing driver. In the latter case, it is normally always necessary to get a dump of the CIS table from the card. You can do this by adding options PCMCIACISDEBUG and options PCMCIADEBUG into your kernel config file. Additionally, you will have to patch the kernel to enable run-time debugging. This can be done in the source by changing the variables pcmcia_debug and pcmciacis_debug to 0xff. Alternatively, you can patch the same variables at run-time using ddb(4). For most drivers you should also consider enabling any driver-specific debugging options.