14.4. Problémové notebooky

Některé notebooky mají potíže s určitými kartami PCMCIA, z čehož většinu lze odstranit pouhou důsledností. Nejprve je třeba zjistit, zda se problém týká spíše karty nebo základního systému PCMCIA. K tomu stačí nejprve spustit počítač bez zasunuté karty. Pokud vše běží, pak teprve zasuneme kartu. Všechna důležitá hlášení najdeme v souboru /var/log/messages. Průběžné pozorování těchto informací umožňuje příkaz

tail -f /var/log/messages

Tímto způsobem lze určit typ chyby.

14.4.1. Základní systém PCMCIA nefunguje

Pokud systém přestane komunikovat již při startu po hlášení PCMCIA: Starting services: nebo se chová podivně, zkuste potlačit spuštění PCMCIA při příštím startu zadáním NOPCMCIA=yes ze startovacího promptu zavaděče. K dalšímu vymezení problému je potřeba ručně spustit tři základní moduly. K tomu slouží příkazy modprobe -t pcmcia_core, modprobe -t pcmcia-external i82365 u externích PCMCIA, resp. modprobe -t pcmcia yenta_socket u jaderného PCMCIA modprobe -t ds. Kritické moduly jsou první a druhý.

Objeví-li se problém při zavedení modulu pcmcia_core, pomůže nám pcmcia_core. Volby, které jsou tam popsány, vyzkoušíme nejprve pomocí příkazu modprobe. Jako příklad můžeme odpojit podporu APM pro modul PCMCIA, protože s ním mohou být občas problémy. Na to použijete volbu do_apm=0, která APM deaktivuje:

modprobe -t pcmciacore do_apm=0

V případě úspěchu zapíšete do proměnné PCMCIA_CORE_OPTS v souboru /etc/sysconfig/pcmcia:

PCMCIA_CORE_OPTS="do_apm=0"

Od této chvíle již APM nepracuje a pokud ho potřebujete obnovit, musíte zadat do_apm=1.

Rovněž může v ojedinělých případech dojít ke konfliktu některých komponent při testování volného rozsahu IO. To lze obejít volbou probe_io=0.

V případě více voleb použijeme k jejich oddělení mezery:

PCMCIA_CORE_OPTS="do_apm=0 probe_io=0"

Pokud se chyba objevuje při zavádění modulu i82365, pomůže nám i82365. Tato chyba je následkem konfliktu zdrojů resource conflict, tj. dvě zařízení si nárokují stejné přerušení, IO port nebo paměťový rozsah. Modul i82365 zdroje sice kontroluje, může však naneštěstí přestat reagovat právě při tom. Tak se stává, že u některých počítačů vede test IRQ 12 (zařízení typu PS/2) k zablokování myši, případně i klávesnice. V tomto případě pomáhá parametr irq_list=seznam_pripustnych_IRQ. Seznam by měl obsahovat všechny IRQ, které se smějí použít. Napíšeme tedy například

modprobe i82365 irq_list=5,7,9,10

nebo umístíme natrvalo do souboru /etc/rc.config řádku:

PCMCIA_PCIC_OPTS="irq_list=5,7,9,10"

Dále jsou zde soubory /etc/pcmcia/config a /etc/pcmcia/config.opts, které používá Cardmanager. Nastavení v těchto souborech se použijí pro zavádění modulů ovladačů karet PCMCIA. V souboru /etc/pcmcia/config.opts lze rovněž přiřadit nebo zakázat všechny IRQ, IO porty a paměťové rozsahy. Rozdíl oproti volbě irq_list je ten, že zde zakázané zdroje sice pak nepoužije karta PCMCIA, ale budou stále ještě kontrolovány modulem i82365.

14.4.2. Karta PCMCIA nefunguje správně

Zde jsou tři možnosti chyby: karta nebyla správně detekována, používá nedostupné zdroje nebo se nechová dle očekávání.

ádná reakce po vložení karty

Pokud systém po vložení karty nereaguje a nepomůže ani ruční zadání příkazu cardctl insert, může jít o špatnou alokaci přerušení PCI zařízení. Pokud jde o tento problém, mohou mít problémy i jiná zařízení např. síťová karta. V takovém případě může pomoci parametr jádra pci=noacpi.

Karta nebyla detekována

Pokud nebyla karta detekována, najdete v souboru /var/log/messages hlášení unsupported Card in Slot x. Toto hlášení znamená, že správce karet nebyl schopný k vaší kartě přiřadit žádný ovladač. Pro toto přiřazení je potřebný soubor /etc/pcmcia/config popř. /etc/pcmcia/*.conf. Databázi ovladačů lze snadno rozšířit existující položky, kterou použijete jako šablonu. Podrobnosti o své kartě zjistíte zadáním příkazu cardctl ident. Další informace o tomto tématu najdete v PCMCIA HOWTO (sekce 6) a manuálových stránkách pcmcia. Po editaci souborů obnovte přiřazení ovladačů příkazem rcpcmcia reload.

Ovladač se nezavedl

Jedním z důvodů této situace může být nekorektní záznam pro přiřazení ovladače v databázi. K tomu může dojít např. tehdy, pokud výrobccce použije jinou čipovou sadu u již vyráběného modelu. Některé karty pak mohou pracovat pouze s jiným než předzvoleným ovladačem. V takovém případě budete potřebovat podrobné infromace o své kartě. Někdy je užitečné požádat o pomoc v některé linuxové emailové koneferenci nebo si vyžádat rozšířenou podporu.

Pro CardBus karty musí být v souboru /etc/sysconfig/hotplug nastavena proměnná HOTPLUG_DEBUG=yes.

Další možnou příčinou je konflikt při přidělení systémových prostředků. U většiny karet je jedno, s jakým IRQ, I/O portem a rozsahem paměti pracují, ale existují vyjímky. V takovém případě testujte systém vždy pouze s jednou zapojenou kartou a ostatní vyjměte (např. zvukovou kartu, IrDA modem, tiskárnu...). Přidělení systémových prostředků můžete sledovat jako uživatel root pomocí příkazu lsdev. Z výstupu můžete zjistit, jaké prostředky jsou používány. Použití jednoho IRQ několika PCI zařízeními je obyvkle bez problémů.

Řešením je nastavení vhodných parametrů ovladače. Seznam parametrů získáte příkazem modinfo jmeno_ovladace. Pro většinu ovladačů jsou také k dispozici manuálové stránky.

Po nalezení vhodných parametrů proveďte nastavení systémových zdrojů v souboru /etc/pcmcia/config.opts. Například pro modul pcnet_cs používající IRQ 5 zadejte následující:

       module pcnet_cs opts irq_list=5
      
Chybné rozhraní

Pokud dojde k chybnému nastavení rozhraní, překontrolujte nastavení rozhraní a jméno pomocí Ipříkazu getcfg. V souboru /etc/sysconfig/network/config nastavte proměnnou DEBUG a v souboru /etc/sysconfig/hotplug proměnnou HOTPLUG_DEBUG na yes. Pokud tento postup nepomůže, zdajte do skriptu vykonávaného sprvcem karet nebo hotplugem řádku set -vx. Po tomto nastavení bude výstup skriptu zaznamenáván do systémového logu. Pokud naleznte kritickou sekci skriptu, otestujte příslušné příkazy v terminálu.


SUSE LINUX Příručka správce systému 9.3