The following is a list of the most prominent issues that are
occasionally encountered with PCMCIA. More information about this is
available in the PCMCIA README
Your machine crashes when PCMCIA is started on boot. To find out what caused your machine to crash, set it up manually as described below. In carefully setting up PCMCIA manually, you can clearly identify the step or component that crashed your machine. Once the culprit has been identified, you can circumvent the problematic step or component.
To manually set up PCMCIA, proceed as follows:
Prevent PCMCIA from being started on system boot and enable SysRq for easier debugging by appending the following options to the boot prompt:
init=3 pcmcia=off sysrq=1
For more information about SysRq, refer to
Boot the system into a text-based environment and log in as root.
Add the appropriate PCMCIA modules to the kernel:
/sbin/modprobe yenta_socket /sbin/modprobe pcmcia
Start the PCMCIA socket:
N with the number of the
socket. Repeat this step for each socket.
If the previous step crashed your machine, this might have
been caused by wrong I/O or memory ranges specified in
/etc/pcmcia/config.opts. To prevent this,
do one of the follwing:
Exclude ranges in
/ect/pcmcia/config.opts and retry the
Add the ranges manually as described below.
After you successfully added the appropriate ranges
manually, set them permanently by including them in
To manually add I/O ranges, proceed as follows (for each socket):
Change into the directory that holds the range
configurations (in this case,
adapt for other socket numbers):
Execute the following command:
end with the addresses where the new
range should start and end. The correct values can only be determined by
trial and error.
Manually adding the following ranges:
echo 0x800 - 0x8ff > available_resources_io echo 0xc00 - 0xcff > available_resources_io
equals the following line from
include port 0x800-0x8ff, port 0xc00 0xcff
The same procedure applies for the memory ranges under
|Identifying Faulty Default Settings|
If you find a faulty range in the default configuration file
Whenever suspending your system (suspend to disk, suspend to RAM, or standby), do not plug or unplug any hardware items while the system is in suspend mode. Otherwise, the system might not resume properly.
To automatically eject PCMCIA cards on suspend, proceed as follows:
Log in as root.
Open the file
Set the following variables:
SUSPEND2DISK_EJECT_PCMCIA="yes" SUSPEND2RAM_EJECT_PCMCIA="yes" STANDBY_EJECT_PCMCIA="yes"
Save the file to apply your settings.
If additional modules need to be ejected on suspend, proceed as above and add the module names to the following variables:
UNLOAD_MODULES_BEFORE_SUSPEND2DISK="" UNLOAD_MODULES_BEFORE_SUSPEND2RAM="" UNLOAD_MODULES_BEFORE_STANDBY=""
For general information about the powersave daemon, refer to Section 33.5, “The powersave Package”.
Find the latest up-to-date information about PCMCIA in
For a comprehensive overview of PCMCIA hardware and its fields
of use, turn to the official PCMCIA Web site (http://www.pcmcia.org/pccard.htm).
To check whether a certain card or device is generally
supported by Linux, refer to the Linux PCMCIA/CF/CardBus
Card Survey at http://tuxmobil.org/pcmcia_linux.html.