This article describes the setup of PC-Card (also known as PCMCIA) controllers.
The following kernel options must be activated for PCMCIA controllers:
Bus options (PCI etc.) ---> PCCard (PCMCIA/CardBus) support ---> <*> 16-bit PCMCIA support [*] Load CIS updates from userspace (EXPERIMENTAL) [*] 32-bit CardBus support Select a socket driver, e.g.: [*] CardBus yenta-compatible bridge support (yenta-socket)
Portage knows the global USE flag
pcmcia for enabling support for PC-Cards in other packages. Enabling this USE flag will pull in sys-apps/pcmciautils automatically:
USE="... pcmcia ..."
After setting the USE flag in the step above be sure to update the system so the changes take effect:
emerge --ask --changed-use --deep @world
To install pcmciautils manually (if it is not already pulled in):
USE flags for sys-apps/pcmciautils PCMCIA userspace utilities for Linux
||Add support for static sockets||local|
emerge --ask pcmciautils
Card Information Structure
A PC-Card has a firmware called Card Information Structure (CIS). Some CISs are flawed, but can be patched at boot time. For those types of cards install sys-apps/pcmcia-cs-cis:
emerge --ask pcmcia-cs-cis
Some old 16-bit PCMCIA cards works only if a resource database is set up. This effects only some x86 and x86_64 computers; not all are effected. To find out if the database is needed look at the controllers PCI-ID. The lspci tool works nicely for this task:
lspci | egrep --color -i "pcmcia|cardbus"
If the first two numbers are not zeros (here in bold: 03), then no resource database is needed. If they are zeros, then the database will need copied to /etc/pcmcia/config.opts:
ebuild pcmciautils-017.ebuild unpack
cp -p /var/tmp/portage/sys-apps/pcmciautils-017/work/pcmciautils-017/config/config.opts /etc/pcmcia/
Edit the file as needed.
The pccardctl command (part of the sys-apps/pcmciautils package) can be used to show information about the PC-Card controller and the inserted cards. It can also be used to load and unload PC cards.