SDB:PCMCIA: The Boot Process Hangs

Şuraya atla: kullan, ara


Version: 6.4

Symptom

The PCMCIA system basically hangs during the start process, regardless of whether you perform a warm or a cold start. The notebook hangs at the following boot message:

..
PCMCIA: Starting services:
PCMCIA: using scheme: SuSE


Cause

The PCMCIA base system does not work, which, in most cases, is due to a resource conflict (IRQ or I/O port).

Solution

To restart Linux, prevent PCMCIA from starting by entering the following command at the LILO boot prompt:

boot: linux NOPCMCIA=yes

where "linux" is the label in your '/etc/lilo.conf' file. View the labels available by pressing TAB at the LILO prompt.

A Quick Approach

Open the file '/etc/rc.config' ('/etc/rc.config.d/pcmcia.rc.config' in SuSE Linux 7.3, '/etc/sysconfig/pcmcia' from 8.0 on) with an appropriate editor (e.g., 'mcedit' or 'vi'). Search for the entry:

PCMCIA_PCIC_OPTS=""

and change it to

PCMCIA_PCIC_OPTS="pci_int=1 pci_csc=1 irq_list=9,10"

Then start the PCMCIA system with:

rcpcmcia start

If the system "freezes" again, proceed systematically as described below.

Systematic Procedure:

Load the necessary PCMCIA modules one after the other in the given order to find out which module causes the system to hang:

insmod pcmcia_core
insmod i82365 (rarely tcic, e.g., for Halikan NBD 486 notebooks)
insmod ds

Once you have found the "guilty" module, find the appropriate options. For the module 'pcmcia_core', try with:

insmod pcmcia_core probe_io=0

or

insmod pcmcia_core do_apm=0

Note: The option 'do_pnp' is available for the module 'pcmcia_core' only if the PCMCIA package has been compiled with PnP support. From SuSE Linux 6.4 on, however, the package has been compiled without PnP support.

Other options can be found in the corresponding man page of 'pcmcia_core' (man pcmcia_core).

The most likely cause of the problem is the module 'i82365'. In this case, try to restrict the list of the interrupts probed and used. Exclude IRQs already occupied by other devices (sound, on-board network card, etc.):

insmod i82365 irq_list=5,7,9,10

or even:

insmod i82365 irq_list=9,10

or

insmod i82365 pci_int=1 pci_csc=1 irq_list=9,10

Other possible options are listed in the corresponding man page, man i82365.

The module 'ds' does not usually cause any problem.

Now insert the options found in the file '/etc/rc.config' (or in the above-mentioned files for 7.3 and 8.0 or later). Options for the module 'pcmcia_core' must be inserted in the variable 'PCMCIA_CORE_OPTS' as in:

PCMCIA_CORE_OPTS="probe_io=0 do_apm=0"

Options for 'i82365' must be inserted in the variable 'PCMCIA_PCIC_OPTS' as in:

PCMCIA_PCIC_OPTS="pci_int=1 pci_csc=1 irq_list=9,10"

After changing the PCMCIA variables in the configuration file, activate the changes at once by restarting the PCMCIA system with:

rcpcmcia restart

or

rcpcmcia start

if it has not been started yet.

Tip: Permanently prevent PCMCIA from starting by setting START_PCMCIA="no".


For more information and help, refer to:

  1. The SuSE Linux manuals
  2. PCMCIA HOWTO file:/usr/share/doc/packages/pcmcia/PCMCIA-HOWTO
  3. The man pages: man pcmcia_core, man i82365, man tcic

<keyword>notebook,laptop,pcmcia,i82365,pcmcia_core</keyword>