25.3 Troubleshooting
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
(/usr/share/doc/packages/pcmciautils/README.SuSE).
25.3.1 Machine Crashes on PCMCIA
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
/usr/src/linux/Documentation/sysrq.txt.
-
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:
/sbin/pcmcia-socket-startup N
Replace 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 following:
-
Exclude ranges in
/ect/pcmcia/config.opts and retry the
socket setup.
-
Add the ranges manually as described below.
After you successfully added the appropriate ranges
manually, set them permanently by including them in
/etc/pcmcia/config.opts.
-
After the socket setup has been successfully completed, card
initialization and interface setup work as described in Section 25.2.2,
Card Initialization and Section 25.2.3,
Interface Setup.
To manually add I/O ranges, proceed as follows (for each
socket):
-
Change into the directory that holds the range
configurations (in this case, pcmcia_socket0,
adapt for other socket numbers):
cd /sys/class/pcmcia_socket/pcmcia_socket0
-
Execute the following command:
echo begin - end > available_resources_io
Replace begin and
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
/etc/pcmcia/config.opts:
include port 0x800-0x8ff, port 0xc00 0xcff
The same procedure applies for the memory ranges under
available_resources_mem.
IMPORTANT: Identifying Faulty Default Settings
If you find a faulty range in the default configuration file
(/etc/pcmcia/config.opts) shipped with this
product, file a bug against it in https://bugzilla.novell.com, so that developers can look
into this issue.
25.3.2 General Suspend Issues with PCMCIA
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 /etc/powersave/sleep.
-
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 27.5,
The powersave Package.
25.3.3 For More Information
Find the latest up-to-date information about PCMCIA in
/usr/share/doc/packages/pcmciautils/README.SuSE.
For a comprehensive overview of PCMCIA hardware and its fields
of use, turn to the official PCMCIA Web site (https://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 https://tuxmobil.org/pcmcia_linux.html.