home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxde
/
slxde-11.txt
< prev
next >
Wrap
Text File
|
2000-02-29
|
44KB
|
870 lines
Kapitel 11
Notebooks ¡ PCMCIA, APM, IrDA
An Notebooks werden besondere Anforderungen gestellt. Hierzu zΣhlen unter
anderem Advanced Power Management" (APM), Infrarot-Schnittstellen (Ir-
DA) und PC-Karten (PCMCIA). Gelegentlich sind auch in Desktop-Rechnern
solche Komponenten zu finden; sie unterscheiden sich nur unwesentlich von
den in Notebooks verwendeten ¡ deshalb wird deren Verwendung und Konfi-
guration in diesem Kapitel zusammengefasst.
Wer an Erfahrungen mit bestimmten Notebooks interessiert ist, soll-
te auf alle FΣlle die Linux Laptop Homepage" unter http://www.
cs.utexas.edu/users/kharker/linux-laptop besuchen. Ei-
ne weitere gute Informationsquelle ist die LiLAC"-Homepage unter
http://home.snafu.de/wehe/index_li.html. Dort findet man
sowohl ein interessantes Laptop-Howto als auch ein IrDA-Howto.
11.1 PCMCIA
11.1.1 Die Hardware
PCMCIA steht fⁿr Personal Computer Memory Card International Associa-
tion" und wird aber landlΣufig als Sammelbegriff fⁿr sΣmtliche damit zusam-
menhΣngende Hard- und Software verwendet. Die wesentliche Komponente
ist die PCMCIA-Karte; hierbei unterscheidet man zwei Typen:
PC-Karten: Das sind die derzeit noch am meisten vorkommenden Karten.
Sie verwenden einen 16 Bit breiten Bus zur Datenⁿbertragung, sind meist
relativ gⁿnstig und sehr viele werden problemlos und stabil unterstⁿtzt.
CardBus-Karten: Dies ist eine neuerer Standard. Sie verwenden einen 32
Bit breiten Bus, sind dadurch schneller, aber auch teurer. Da die Daten-
ⁿbertragungsrate aber hΣufig an anderer Stelle eingeschrΣnkt wird, lohnt
sich dieser Aufwand hΣufig nicht. Es gibt mittlerweile auch fⁿr diese Kar-
ten etliche Treiber, wobei manche immer noch instabil sind ¡ abhΣngig
auch vom vorhandenen PCMCIA-Controller.
Was fⁿr eine Karte eingeschoben ist, sagt bei aktivem PCMCIA-Dienst das
Kommando cardctl ident. Eine Liste von unterstⁿtzten Karten findet
man in SUPPORTED_CARDS in /usr/doc/packages/pcmcia. Dort
gibt es auch die jeweils aktuelle Version des PCMCIA-HOWTO.
Die zweite notwendige Komponente ist der PCMCIA-Controller, oder auch
die PC-Card/CardBus-Bridge. Diese stellt die Verbindung zwischen der Karte
315
11. Notebooks ¡ PCMCIA, APM, IrDA
und dem PCI-Bus her, in Σlteren GerΣten auch die Verbindung zum ISA-Bus.
Diese Controller sind fast immer zu dem Intel-Chip i82365 kompatibel; es
werden alle gΣngigen Modelle unterstⁿtzt. Der Typ des Controllers lΣsst sich
mit dem Kommando probe ermitteln. Falls es ein PCI-GerΣt ist, liefert auch
das Kommando lspci -vt interessante Informationen.
11.1.2 Die Software
Alle ben÷tigten Treiber und Programme befinden sich, soweit sie nicht schon
in den Kernel integriert sind, im Paket PCMCIA, Serie a1. Die Grundlage
bilden die Module pcmcia_core, i82365 (oder tcic, selten) und ds.
Diese Module werden normalerweise beim Booten automatisch gestartet. Sie
initialisieren die vorhandenen PCMCIA-Controller und stellen Basisfunktio-
nen zur Verfⁿgung.
Da PCMCIA-Karten zur Laufzeit gewechselt werden k÷nnen, muss des einen
Daemon geben, der die AktivitΣten in den SteckplΣtzen ⁿberwacht. Diese
Aufgabe erledigt der Cardmanager (cardmgr). Er wird nach dem Laden der
Basismodule automatisch gestartet. Wenn eine Karte eingeschoben wird, er-
mittelt der Cardmanager Typ und Funktion und lΣdt die passenden Module;
man kann mit lsmod nachsehen, welches Modul geladen wurde. Wurden al-
le Module erfolgreich geladen, startet der Cardmanager je nach Funktion der
Karte bestimmte Initialisierungsskripten, die ihrerseits z. B. die Netzwerk-
verbindung aufbauen oder Partitionen von externen SCSI-Platten einhΣngen
(mounten). Wenn die Karte wieder entfernt wird, sorgt der Cardmanager mit-
tels derselben Skripten fⁿr das Beenden der diversen KartenaktivitΣten. An-
schlie▀end werden die nun nicht mehr ben÷tigten Module wieder entladen.
Theoretisch kann also die Karte einfach entnommen werden. Dies funktio-
niert auch hervorragend fⁿr Netzwerk-, Modem- oder ISDN-Karten, solange
keine aktiven Netzwerkverbindungen mehr bestehen. Es funktioniert nicht im
Zusammenhang mit eingehΣngten Partitionen einer externen Platte oder mit
NFS-Verzeichnissen. Hier muss dafⁿr gesorgt werden, dass diese Einheiten
synchronisiert und sauber ausgehΣngt werden (unmounten), da das natⁿrlich
nicht mehr m÷glich ist, wenn die Karte bereits gezogen wurde. Im Zweifels-
fall hilft ein
erde: # cardctl eject
Dieser Befehl deaktiviert die Karten, solange sie sich noch im Notebook
befinden.
11.1.3 Die Konfiguration
Wenn das PCMCIA-Paket installiert ist, befinden sich in /etc/rc.
config vier PCMCIA-Variablen. START_PCMCIA gibt an, ob der Dienst
beim Booten gestartet wird. Von Hand kann er mit dem Kommando
rcpcmcia start immer gestartet werden, auch wenn START_PCMCIA
auf no gesetzt wurde. PCMCIA enthΣlt den Typ des PCMCIA-Controllers.
Dieser Wert wird bei der Installation automatisch ermittelt und steht fast
immer auf i82365. Die beiden restlichen Variablen PCMCIA_PCIC_OPTS
und PCMCIA_CORE_OPTS enthalten Optionen fⁿr die Basismodule und
k÷nnen im Normalfall leer bleiben. Die vorgegebene Option do_pnp=0
316
11.1. PCMCIA
in PCMCIA_CORE_OPTS ist nur fⁿr Compaq-Notebooks wichtig. Da die
Auswahl des richtigen Treibermoduls fⁿr die verwendete Karte vom Cardma-
nager (cardmgr) erledigt wird, sind i. a. keine weiteren hardwarebezogenen
Einstellungen notwendig.
Ethernet und TokenRing
Ethernet- oder TokenRing-Netzwerkverbindungen k÷nnen problemlos mit
YaST eingerichtet werden. Der Dialog `Netzwerk Grundkonfigura-
tion' ist unter `Administration des Systems' `Netzwerk
konfigurieren' zu finden. Die Einrichtung erfolgt wie bei fest einge-
bauten GerΣten. ZusΣtzlich muss das betreffende GerΣt mit F9 als PCMCIA-
GerΣt markiert werden; vgl. Abschnitt 3.6.3 auf Seite 106. Folgendes ist zu
beachten:
* Wenn mehrere Ethernet- oder TokenRing-GerΣte als PCMCIA markiert
wurden, wird nur die Einstellungen des ersten GerΣts ⁿbernommen.
* Die Einstellungen werden im Gegensatz zu normalen Netzwerkkarten
beim Beenden des Dialogs mit F10 sofort aktiv.
* Die angezeigten GerΣtenamen (eth0, eth1, tr0 ... ) sollten nur als
Information ⁿber den Typ des GerΣtes verstanden werden; denn die Nu-
merierung der GerΣte erfolgt bei PCMCIA dynamisch.
* War ein Eintrag deaktiviert und wird jetzt mit F4 eine Reaktivierung
vorgenommen, so muss auch die Markierung als PCMCIA-GerΣt mit F9
wieder gesetzt werden.
ISDN
Auch bei ISDN-PC-Karten erfolgt die Konfiguration wie gewohnt; vgl. Ab-
schnitt 6.2 auf Seite 169. Lediglich die Markierung als PCMCIA-GerΣt in
der `Netzwerk Grundkonfiguration' (unter `Administrati-
on des Systems' `Netzwerk konfigurieren') muss mit F9
gesetzt werden. Im Dialog `Konfiguration der ISDN-Hardware'
muss weder IRQ noch IO-Port eingegeben werden. Auch das ▄bertragungs-
protokoll (Euro-ISDN oder 1TR6) kann hier nicht verΣndert werden.
So genannte ISDN-Modems gibt es auch bei PCMCIA-Karten. Dies sind i. a.
Modem- oder Multifunktionskarten mit einem zusΣtzlichen ISDN-Connec-
tion-Kit". Diese werden wie ein Modem behandelt.
Modem
Bei Modem-PC-Karten gibt es im Normalfall keine PCMCIA-spezifischen
Einstellungen. Sobald ein Modem eingeschoben wird, steht dieses unter
/dev/modem zur Verfⁿgung. Die Einrichtung mit wvdial (wvdial) er-
folgt wie bei gew÷hnlichen Modems; vgl. Abschnitt 6.6 auf Seite 186.
SCSI und IDE
Das passende Treibermodul wird vom Cardmanager geladen. Sobald also ei-
ne SCSI- oder IDE-Karte eingeschoben wird, stehen die daran angeschlosse-
nen GerΣte zur Verfⁿgung. Die Devicenamen werden dynamisch ermittelt.
317
11. Notebooks ¡ PCMCIA, APM, IrDA
Informationen ⁿber vorhandene SCSI- bzw. IDE- GerΣte sind unter /proc/
scsi bzw. unter /proc/ide zu finden.
Externe Festplatten, CD-ROM-Laufwerke und Σhnliche GerΣte mⁿssen
eingeschaltet sein, bevor die PCMCIA-Karte in den Steckplatz eingescho-
ben wird. SCSI-GerΣte mⁿssen aktiv terminiert werden.
Wichtig: Bevor eine SCSI- oder IDE-Karte entnommen wird, mⁿssen sΣmt-
liche Partitionen der daran angeschlossenen GerΣte ausgehΣngt worden
sein. Wurde dies vergessen, kann erst nach einem Reboot des Systems er-
neut auf diese GerΣte zugegriffen werden, obwohl der Rest des Systems
durchaus stabil weiterlΣuft.
Man kann Linux auch vollstΣndig auf solchen externen Platten installieren.
Allerdings gestaltet sich dann der Bootvorgang etwas komplizierter. Es wird
auf alle FΣlle eine Bootdisk" ben÷tigt, die den Kernel und eine Init-Ramdisk
(initrd) enthΣlt; mehr Informationen dazu in Abschnitt 16.2 auf Seite 417.
Die initrd enthΣlt ein virtuelles Dateisystem, das alle ben÷tigten PCM-
CIA-Module und -Programme enthΣlt. Die SuSE Linux Bootdisk" bzw. die
Bootdisk-Images sind ebenso aufgebaut, d. h. damit k÷nnten Sie Ihre externe
Installation immer booten. Es ist aber etwas umstΣndlich, jedes Mal die PCM-
CIA-Unterstⁿtzung von Hand zu laden. Fortgeschrittene Anwender k÷nnen
sich eine auf das jeweilige System zugeschnittene Bootdiskette selbst erstel-
len1.
11.1.4 Konfigurationen zum Umschalten ¡ Schemen"
HΣufig ben÷tigt man bei mobilen Computern verschiedene Konfigurationen
fⁿr z. B. die Firma und fⁿr zu Hause. Mit PCMCIA-GerΣten ist dies kein
Problem; allerdings mⁿssen dabei Konfigurationsdateien von Hand angepasst
werden. YaST kann diese Aufgabe z. Z. noch nicht erledigen. Fⁿr ISDN bzw.
Modem trifft die folgende Beschreibung nicht zu2.
Eine Konfiguration nennt man bei PCMCIA ein Schema" (engl. Sche-
me). Die Konfigurationsdateien fⁿr PCMCIA-GerΣte, die sich unter /etc/
pcmcia/*.opts befinden, k÷nnen mehrere Schemen enthalten. Die Daten
eines Schemas sind dort in Konfigurationsbl÷cken abgelegt, die mit einer
Adresse" angesprochen werden. Diese Adressen sind durch Kommata ge-
trennte Worte. Das erste Wort ist der Name eines Schemas. Die weiteren
Worte enthalten Informationen wie z. B. den Steckplatz, in dem die Karte
steckt, oder die Nummer einer Festplattenpartition. Detaillierte Informatio-
nen dazu finden Sie am Anfang der /etc/pcmcia/*.opts-Dateien und
im PCMCIA-HOWTO. Das bei SuSE Linux verwendete Standard-Schema
hei▀t SuSE. Dieses Schema SuSE wird mittels SuSEconfig verΣndert, wenn
die Netzverbindung mit YaST konfiguriert wird. Deshalb gehen manuel-
1 Hinweise finden Sie dazu in dem PCMCIA-HOWTO in Abschnitt 5.3 Booting from a PCM-
CIA device".
2 Bei ISDN k÷nnen stattdessen mehrere ISDN-Devices mit denselben Netzwerkadressen und
derselben Defaultroute angelegt werden. Diese werden dann nicht automatisch, sondern gezielt
manuell gestartet. ¡ Bei Modems k÷nnen mehrere verschiedene Profile mit wvdial verwendet
werden.
318
11.1. PCMCIA
le ─nderungen in diesem Schema beim nΣchsten Lauf von SuSEconfig
wieder verloren.
# The address format is "scheme,socket,instance,hwaddr" .
case "$ADDRESS" in
SuSE,*,*,*)
INFO="This scheme is to be configured by YaST/SuSEconfig"
# [... gekⁿrzt ...]
;;
work,*,*,*)
INFO="Netzwerkkonfiguration fⁿr die Firma ⁿber DHCP"
IF_PORT=""
BOOTP="n"
DHCP="y"
IPADDR=""
NETMASK=""
NETWORK=""
BROADCAST=""
GATEWAY=""
DOMAIN=""
SEARCH=""
DNS_1=""
MOUNTS=""
start_fn () { return; }
stop_fn () { return; }
;;
home,*,*,*)
INFO="Netzwerkkonfiguration fⁿr zu Hause (Home) mit fes-
ter Adresse"
IF_PORT=""
BOOTP="n"
DHCP="n"
IPADDR="10.0.1.23"
NETMASK="255.255.255.0"
NETWORK="10.0.1.0"
BROADCAST="10.0.1.255"
GATEWAY="10.0.1.1"
DOMAIN="home.de"
SEARCH="home.de work.de"
DNS_1="10.0.1.1"
MOUNTS=""
start_fn () { return; }
stop_fn () { return; }
;;
*,*,*,*)
INFO="Sample private network setup"
# [... gekⁿrzt ...]
;;
esac
Datei 11.1.1: /etc/pcmcia/network.opts
Wir werden die Schemen-Konfiguration am Beispiel einer Ethernetkarte be-
sprechen. Es sollen zwei Schemen namens work und home angelegt wer-
den. Dazu werden in der Datei /etc/pcmcia/network.opts (siehe
Datei 11.1.1 auf der vorherigen Seite) mehrere Konfigurationsbl÷cke ben÷-
tigt. Diese Bl÷cke bekommen die folgenden Adressen:
319
11. Notebooks ¡ PCMCIA, APM, IrDA
* SuSE,*,*,*: Dieser Block sollte bestehen bleiben, falls Sie weiterhin
YaST zur einfachen Konfiguration verwenden m÷chten.
* work,*,*,*: In diesem Block wird das Netzwerk zur Verwendung in
der Firma konfiguriert. Entsprechend enthΣlt
* home,*,*,*: die Daten fⁿr zu Hause.
* *,*,*,*: Auch dieser Block ist schon vorhanden und dient zur Konfi-
guration aller zuvor nicht vorgekommenen Schemen.
Am einfachsten wird ein Block konfiguriert, indem die gewⁿnschten Daten
per YaST eingegeben werden und dann der von SuSEconfig angepasste
Block SuSE kopiert und entsprechend nach work bzw. home umbenannt
wird. Wer alles von Hand einstellen m÷chte, findet die ErklΣrung einiger Be-
griffe wie NETMASK, BROADCAST etc. in Tabelle 5.1 auf Seite 152 und alle
spezifischen Werte im PCMCIA-HOWTO (unter /usr/doc/packages/
pcmcia liegt die aktuelle Version).
image = /boot/vmlinuz
root = /dev/hda7
label = work
alias = w
append = xzx SCHEME=work xzx
#image = /boot/vmlinuz
root = /dev/hda7
label = home
alias = h
append = xzx SCHEME=home xzx
#image = /boot/vmlinuz
root = /dev/hda7
label = suseconf
alias = s
append = xzx SCHEME=SuSE xzx
Datei 11.1.2: PCMCIA: Ausschnitt aus lilo.conf
Das Umschalten zwischen diesen Schemen kann beim Booten oder zur Lauf-
zeit geschehen. Welches Schema gerade aktiv ist, liefert das Kommando
cardctl scheme. WΣhrend der Laufzeit wird auch mit diesem Komman-
do umgeschaltet, nΣmlich durch cardctl scheme <Name_des_Schemas>.
Diese Einstellung geht beim Neustart des Systems nicht verloren. D. h. das
zuletzt gewΣhlte Schema ist auch nach dem nΣchsten Booten noch aktiv,
solange nicht beim Booten ausdrⁿcklich ein anderes Schema gewΣhlt wird.
Beim Booten kann ein Schema gewΣhlt werden, indem am Bootprompt
(LILO:) die Variable SCHEME=<Name_des_Schemas> gesetzt wird;
Informationen zum Bootprompt sind in Abschnitt 14.3.2 auf Seite 364 zu
finden.
Wer sich ein oder mehrere feste Bootschemen anlegen will, kann LILO ent-
sprechend einrichten. Dazu muss in der Datei /etc/lilo.conf der Pa-
rameter append verwendet werden. Wir setzen am besten das Beispiel fort
und legen drei Bootkonfigurationen an. Es sollte dann so aussehen wie in Da-
tei 11.1.2 auf der vorherigen Seite. Nach der VerΣnderung von /etc/lilo.
320
11.1. PCMCIA
conf muss das Kommando lilo aufgerufen werden. GemΣ▀ der Beispiel-
konfiguration in Datei 11.1.2 auf der vorherigen Seite kann dann beim Booten
durch die Eingabe von w, h oder s sehr einfach eines der Schemen gestartet
werden.
APM-Unterstⁿtzung
Das PCMCIA-Paket von SuSE Linux wird ohne APM-Support ⁿbersetzt,
weil dieser einen Kernel mit APM-Support voraussetzt, der nicht auf allen
Systemen zuverlΣssig funktioniert. Verwenden Sie entweder den apmd (siehe
Abschnitt 11.2.3 auf Seite 324), um den APM-Support zu simulieren oder
Sie mⁿssen das PCMCIA-Paket neu ⁿbersetzen. Das ist gar nicht so schwie-
rig. Wichtig ist, dass wΣhrend der Neuⁿbersetzung bereits der richtige Kernel
lΣuft, da aus diesem einige Informationen extrahiert werden. Das PCMCIA-
Paket sollte bereits installiert sein, darf aber nicht gestartet sein; im Zwei-
felsfall also noch ein rcpcmcia stop ausfⁿhren. Dann installiert man das
PCMCIA-Sourcepaket mit YaST und gibt anschlie▀end ein:
erde: # rpm -ba /usr/src/packages/SPECS/pcmcia.spec
Das war's, jetzt liegt unter /usr/src/packages/RPMS sogar ein neues
BinΣrpaket, das man fⁿr weitere Systeme nutzen kann, wenn derselbe Kernel
eingesetzt wird.
11.1.5 Wenn's trotzdem nicht geht
Bisweilen kommt es bei der Verwendung von PCMCIA auf manchen Note-
books oder mit manchen Karten zu Problemen. Die meisten Schwierigkeiten
lassen sich mit wenig Aufwand bewΣltigen, solange man die Sache systema-
tisch angeht. Zuallererst ist herauszufinden, ob das Problem mit einer Karte
zusammenhΣngt, oder ob ein Problem des PCMCIA-Basissystems vorliegt.
Deshalb sollte man in jedem Fall den Computer zunΣchst ohne eingescho-
bene Karten starten. Erst wenn das Basissystem einwandfrei zu funktionie-
ren scheint, wird die Karte eingeschoben. Alle aufschlussreichen Meldungen
werden in /var/log/messages protokolliert. Deshalb sollte die Datei
mit
erde: # tail -f /var/log/messages
wΣhrend der notwendigen Tests beobachtet werden. So lΣsst sich der Fehler
auf einen der beiden folgenden FΣlle einschrΣnken.
Das PCMCIA-Basissystem funktioniert nicht
Wenn das System beim Booten bereits bei der Meldung "PCMCIA: Star-
ting services:" stehen bleibt oder andere merkwⁿrdige Dinge ge-
schehen, kann das Starten von PCMCIA beim nΣchsten Booten durch
die Eingabe von NOPCMCIA=yes am Bootprompt (LILO:) verhindert
werden. Um den Fehler weiter einzugrenzen, werden nun die drei Basis-
module von Hand nacheinander geladen. Dazu dienen die Kommandos
modprobe pcmcia_core, modprobe i82365 bzw. ¡ in sehr seltenen
FΣllen ¡ modprobe tcic und modprobe ds. Die kritischen Module
sind die beiden ersten.
321
11. Notebooks ¡ PCMCIA, APM, IrDA
Tritt der Fehler beim Laden von pcmcia_core auf, hilft die Manual-Page
von pcmcia_core (man pcmcia_core) weiter. Die darin beschriebe-
nen Optionen k÷nnen zunΣchst zusammen mit dem Kommando modprobe
getestet werden. Als Beispiel nehmen wir ein Problem, das aufgrund der ak-
tivierten PnP-Unterstⁿtzung ( Plug-and-Play") der PCMCIA-Module in der
Vergangenheit aufgetreten ist: PnP fⁿhrte beim Laden von pcmcia_core
zum sofortigen Systemstillstand. In diesem Fall musste die PnP-Unterstⁿt-
zung mit der Option do_pnp=0 ausgeschaltet werden. Zum Testen hΣngt
man eine solche Modul-Option an den modprobe-Befehl an, also:
erde: # modprobe pcmcia_core do_pnp=0
Fⁿhrt die gewΣhlte Option zum Erfolg, wird sie in der Datei /etc/rc.
config in die Variable PCMCIA_CORE_OPTS geschrieben:
PCMCIA_CORE_OPTS="do_pnp=0"
Diese Variable enhΣlt jetzt standardmΣ▀ig schon die Option do_pnp=0, wer
also PnP-Unterstⁿtzung ben÷tigt, muss die Option auf 1 setzen. Sollen meh-
rere Optionen verwendet werden, mⁿssen sie durch Leerzeichen getrennt wer-
den:
PCMCIA_CORE_OPTS="do_pnp=0 probe_io=0"
Wenn es beim Laden von i82365 zu Fehlern kommt, hilft die Manual-Page
von i82365 (man i82365). Ein Problem in diesem Zusammenhang
ist ein Ressourcenkonflikt, d. h. ein Interrupt, IO-Port oder Speicherbe-
reich wird doppelt belegt. Das Modul i82365 prⁿft zwar diese Ressour-
cen, bevor sie fⁿr eine Karte zur Verfⁿgung gestellt werden, jedoch fⁿhrt
manchmal genau dieses Prⁿfen zum Problem. Zum Beispiel fⁿhrt das
Prⁿfen des Interrupt 12 (PS/2-GerΣte) bei manchen Computern zum Blo-
ckieren von Maus und/oder Tastatur. In diesem Fall hilft der Parameter
irq_list=<Liste_von_IRQs>. Die Liste soll alle IRQs enthalten, die
verwendet werden dⁿrfen. Also
erde: # modprobe i82365 irq_list=5,7,9,10
oder dauerhaft in /etc/rc.config:
PCMCIA_PCIC_OPTS="irq_list=5,7,9,10"
Weiterhin gibt es /etc/pcmcia/config und /etc/pcmcia/config.
opts. Diese Dateien werden vom Cardmanager ausgewertet. Die darin ge-
machten Einstellungen sind erst fⁿr das Laden der Treiber-Module fⁿr die
PCMCIA-Karten relevant. In /etc/pcmcia/config.opts k÷nnen auch
IRQs, IO-Ports und Speicherbereiche ein- oder ausgeschlossen werden. Der
Unterschied zur Option irq_list ist, dass die in config.opts ausge-
schlossenen Ressourcen zwar nicht fⁿr eine PCMCIA-Karte verwendet, aber
dennoch vom Basis-Modul i82365 geprⁿft werden.
Die PCMCIA-Karte funktioniert nicht (richtig)
Hier gibt es im Wesentlichen drei Varianten: Die Karte wird nicht erkannt, sie
belegt unzulΣssige Ressourcen oder sie ist unzuverlΣssig.
Wenn die Karte nicht erkannt wird, erscheint in /var/log/messages
die Meldung "unsupported Card in Slot x". Diese Meldung sagt
lediglich aus, dass der Cardmanager der Karte keinen Treiber zuordnen
322
11.1. PCMCIA
kann. Zu dieser Zuordnung wird /etc/pcmcia/config ben÷tigt. Diese
Datei ist sozusagen die Treiberdatenbank". Die Treiberdatenbank" lΣsst
sich erweitern, wenn man vorhandene EintrΣge als Vorlage nimmt. Man
kann mit dem Kommando cardctl ident herausfinden, wie die Karte
sich identifiziert. Weitere Informationen dazu befinden sich im PCMCIA-
HOWTO Abschnitt 6 ( Dealing with unsupported cards") und besonders
in der Manual-Page von pcmcia (man pcmcia). Nach der ─nderung
von /etc/pcmcia/config muss diese neu geladen werden; dazu dient
rcpcmcia reload.
Den meisten PCMCIA-Karten ist es egal, mit welchem IRQ bzw. IO-Port sie
betrieben werden; d. h. hΣufig liegt das Problem darin, dass eine verwendete
Ressource spΣter von einem anderen GerΣt belegt wird (CD-ROM am 2. IDE-
Controller: IRQ 15; serieller oder IrDA-Port: IRQ 3, IRQ 4; Sound, Drucker:
IRQ 5, IRQ 7). In diesem Fall schlie▀t man die Verwendung derselben in
/etc/pcmcia/config.opts aus. Wenn eine bestimmte Karte dennoch
spezielle Einstellungen ben÷tigt, kann man in config.opts dem entspre-
chenden Modul Optionen ⁿbergeben. Soll z. B. das Modul pcnet_cs mit
dem IRQ 5 betrieben werden, wird folgender Eintrag ben÷tigt:
module "pcnet_cs" opts "irq_list=5"
Die m÷glichen Optionen sind in den Manual-Pages beschrieben, die es zu den
meisten Modulen gibt3. Wenn es keine Manual-Page gibt, sind verschiedene
Optionen aus der Manual-Page von i82365 (man i82365) in Betracht
zu ziehen, oder man muss sich mit dem Source-Code des Moduls vertraut
machen ...
Ein Problem, das manchmal mit 10/100 Mbit-Netzwerkkarten auftritt: die
▄bertragungsart wird nicht automatisch richtig erkannt. Hier hilft das Kom-
mando ifport. Damit lΣsst sich die eingestellte ▄bertragungsart anzeigen
und verΣndern; vgl. die Manual-Page von ifport (man ifport). Die ge-
eignete Einstellung kann dann in /etc/pcmcia/network.opts in die
Variable IFPORT geschrieben werden.
11.1.6 Installation via PCMCIA
In manchen FΣllen wird PCMCIA bereits zum Installieren von SuSE Linux
ben÷tigt. Dazu muss im linuxrc unter `Kernel-Module (Hardware-
Treiber)' der Punkt `Lade PCMCIA Module' ausgewΣhlt werden.
Zuerst erscheinen zwei Eingabefelder, in denen man Optionen fⁿr die Modu-
le pcmcia_core und i82365 eingeben kann. Im Normalfall bleiben diese
Felder jedoch leer. Die Manual-Pages fⁿr pcmcia_core und i82365 be-
finden sich als Textdateien auf der ersten CD im Verzeichnis docu. WΣhrend
der Installation werden Systemmeldungen auf verschiedenen virtuellen Kon-
solen ausgegeben, auf die man mit Alt + F<x> umschalten kann.4
Wenn der erste Teil der Installation abgeschlossen ist, wird das System teil-
weise oder ganz neu gestartet. Dabei kann in seltenen FΣllen beim Starten
3 Tipp: rpm -ql pcmcia | grep man listet alle im Paket pcmcia enthaltenen Manual-
Pages auf.
4 In YaST2 muss man Strg + Alt + F<x> verwenden, weil YaST2 unter dem X Window
System lΣuft.
323
11. Notebooks ¡ PCMCIA, APM, IrDA
von PCMCIA das System stehen bleiben. Zu diesem Zeitpunkt ist die In-
stallation aber schon weit genug fortgeschritten, sodass mit der Boot-Option
NOPCMCIA=yes Linux ohne PCMCIA gestartet werden kann, zumindest im
Textmodus. Hier hilft der Abschnitt 11.1.5 auf Seite 319 weiter.
11.1.7 Weitere Hilfsprogramme
Das Programm cardctl wurde hier schon mehrfach erwΣhnt. cardctl ist das
wesentliche Werkzeug, um Informationen von PCMCIA zu erhalten, bzw.
bestimmte Aktionen auszufⁿhren. Details stehen in der Manual-Page von
cardctl (man cardctl); oder man gibt nur cardctl ein und erhΣlt
eine Liste der gⁿltigen Kommandos.
Abbildung 11.1: PCMCIA ¡ Cardinfo
Zu diesem Programm gibt es auch ein graphisches Frontend cardinfo (vgl.
Abbildung 11.1), mit dem die wichtigsten Dinge kontrollierbar sind. Leider
kann man damit nicht zwischen Schemen" umschalten.
Fⁿr Freunde von KDE gibt es auch ein kardinfo. Dieses Tool ist das gleiche
in krⁿn". Es unterscheidet sich nicht wesentlich von cardinfo.
Weitere Helfer aus dem Paket pcmcia sind ifport, ifuser, probe und
rcpcmcia. Diese werden aber nicht im tΣglichen Umgang ben÷tigt. Um
genau zu erfahren, was alles im Paket pcmcia steckt, verwendet man den
Befehl rpm -ql pcmcia.
11.2 APM ¡ Powermanagement
11.2.1 Grundlagen
Powermanagement setzt eine dafⁿr ausgelegte Hardware und passende
BIOS-Routinen (BIOS) voraus. Die meisten Notebooks und viele mo-
derne Desktops bringen diese Voraussetzungen mit ¡ wichtig sind diverse
Stromsparfunktionen aber erst im mobilen Einsatz. Im Folgenden wollen wir
auf diese Funktionen eingehen:
324
11.2. APM ¡ Powermanagement
Standby ¡ In dieser Betriebsart wird nur das Display ausgeschaltet und bei
manchen GerΣten die Prozessorleistung gedrosselt.
Suspend (to memory) ¡ Hier wird der gesamte Systemzustand in den Ar-
beitsspeicher geschrieben und au▀er diesem das gesamte System schlafen
gelegt. In diesem Zustand braucht der Computer nur sehr wenig Strom,
sodass man damit je nach GerΣt von 12 Stunden bis mehrere Tage mit Bat-
terie ⁿberbrⁿcken kann. Der Vorteil dieses Zustands ist, dass man inner-
halb weniger Sekunden wieder an derselben Stelle weiterarbeiten kann,
ohne erst booten und ben÷tigte Programme neu laden zu mⁿssen. ¡ Hier
liegt der Reiz, Linux einzusetzen; denn man braucht sein System eigent-
lich nie herunterzufahren (manche Betriebsysteme werden im Laufe der
Zeit instabil). Bei den meisten modernen GerΣten genⁿgt es, den Deckel
zu schlie▀en, um zu suspendieren, und ihn zum Weiterarbeiten einfach
wieder zu ÷ffnen und es kann sofort weitergehen.
Hibernation (Suspend to disk) ¡ In dieser Betriebsart hΣlt es der Computer
lΣnger als einen Winter5 aus; denn der Systemzustand wird vollstΣndig
auf der Festplatte gespeichert und das System danach ausgeschaltet. Die
Rⁿckkehr aus dem Winterschlaf" dauert zwischen 30 - 90 Sek. und auch
hier wird der Zustand vor dem Suspend genau wiederhergestellt. Einige
Hersteller bieten sinnvolle Mischformen davon an.
Kontrolle des Akkuzustands ¡ Durchaus interessant.
Automatisches Ausschalten ¡ Das ist auch fⁿr Desktops interessant. Nach
einem Shutdown" wird der Computer vollstΣndig ausgeschaltet.
Abschalten der Festplatte ¡ Das spart deutlich Strom und auch Nerven,
wenn man eine laute Festplatte hat. Diese Funktion ist aber auch von an-
deren Faktoren abhΣngig. Zum Beispiel weckt ein Editor, der regelmΣ▀ig
automatische Sicherungen durchfⁿhrt, die Platte immer wieder auf.
Einige dieser Funktionen fⁿhrt das BIOS alleine aus. Standby und Suspend
kann man auf vielen Notebooks mit Tastenkombinationen oder mit Schlie▀en
des Deckels aktivieren. Dazu ist erstmal keinerlei Funktion seitens des Be-
triebssystems n÷tig. Wer diese Betriebsarten jedoch per Kommando einleiten
m÷chte oder darauf angewiesen ist, dass vor dem Suspend noch bestimmte
Aktionen ausgefⁿhrt werden, muss entsprechende Pakete und einen geeigne-
ten Kernel installiert haben.
11.2.2 Der richtige Kernel
Fⁿr erweiterte APM-FunktionalitΣt ben÷tigt man einen Kernel, der APM-Un-
terstⁿtzung enthΣlt. Einer der SuSE-Standardkernel, die man mit YaST in-
stallieren kann, erfⁿllt diese Voraussetzung. Das lΣsst sich auch leicht nach-
prⁿfen mit dem Kommando cat /proc/apm. Wenn hier eine Zeile mit
diversen Zahlen erscheint, ist alles okay. Jetzt sollte ein shutdown -h
zum Ausschalten des Computers fⁿhren. Da manche BIOS-Implemetierun-
gen sich nicht exakt an Standards halten, kommt es manchmal zu merk-
wⁿrdigem Verhalten. Manche Probleme kann man mit speziellen Kernelkon-
figurationen umgehen. Hinweise dazu finden Sie in unserer Supportdaten-
bank http://sdb.suse.de/sdb/de/html/oder der Linux Laptop
5 Hibernation == ▄berwinterung.
325
11. Notebooks ¡ PCMCIA, APM, IrDA
Homepage" unter http://www.cs.utexas.edu/users/kharker/
linux-laptop.
11.2.3 Der APM-Daemon
Dieser Daemon apmd dient zur ▄berwachung der Batterie und kann be-
stimmte Aktionen ausl÷sen, wenn ein Standby" oder Suspend" eintritt. Er
befindet sich im Paket apmd, Serie ap. Er ist nicht unbedingt zum Betrieb
notwendig, kann jedoch recht nⁿtzlich sein. Damit er beim Booten automa-
tisch gestartet wird, muss in /etc/rc.config die Variable START_APMD
auf yes gesetzt werden. Er kann aber immer mit rcapmd start von Hand
gestartet werden.
Zur Konfiguration gibt es in /etc/rc.config.d/apmd.rc.config
einige Variablen. Die Datei ist mit Kommentaren versehen, deshalb werden
hier nur einige Hinweise gegeben.
* PCMCIA ist bei SuSE Linux ohne APM-Unterstⁿtzung ⁿbersetzt. Wer
das PCMCIA-Paket nicht neu ⁿbersetzen m÷chte, kann die Variable
PCMCIA_SUSPEND_ON_SUSPEND auf yes setzen. Einige Karten
funktionieren nach einem Supend trotzdem nicht, dafⁿr gibt es die hΣrtere
Methode PCMCIA_EJECT_ON_SUSPEND=yes.
* Wenn nach einem Suspend die Uhrzeit nicht mehr stimmt, setzt man
SET_CLOCK_ON_RESUME auf yes.
* Macht das X Window System Probleme, wenn das System erwacht, hilft
einem LEAVE_X_BEFORE_SUSPEND=yes.
Weiterhin lΣsst sich das Spindown"-Verhalten der Festplatte automatisch
an Batterie oder Netzbetrieb anpassen oder das System bei erreichen einer
kritischen BatteriekapazitΣt automatisch herunterfahren. Fortgeschrittene An-
wender k÷nnen sich weitere Funktionen in die Datei /usr/sbin/apmd_
proxy selbst einbauen.
11.2.4 Weitere Befehle
Im Paket apmd sind noch einige nⁿtzliche Programme enthalten. Mit apm
kann die aktuelle BatteriekapazitΣt abgefragt werden und das System in
Standby (apm -S) oder Suspend (apm -s) geschickt werden; vgl. die
Manual-Page von apm (man apm).
Das Kommando apmsleep suspendiert das System fⁿr eine vorgegebene
Zeit; vgl. Manual-Page von apmsleep (man apmsleep).
Wer eine Logdatei beobachten m÷chte, ohne die Festplatte stΣndig am Laufen
zu halten, der kann tailf als Ersatz fⁿr tail -f verwenden.
Natⁿrlich gibt es auch hier Tools fⁿr das X Window System. Ebenfalls im
Paket apmd findet man xapm, was den Ladezustand der Batterie grafisch
anzeigt. Wer den KDE-Desktop verwendet ¡ oder zumindest kpanel ¡, kann
sich auch von kbatmon den Fⁿllgrad des Akkus anzeigen lassen und das
System suspendieren.
326
11.3. IrDA ¡ Infrared Data Association
11.2.5 Pause fⁿr die Festplatte
Man kann unter Linux die Festplatte abschalten, wenn sie nicht ben÷tigt wird.
Dazu dient das Programm hdparm, mit dem man diverse Einstellungen an
den Festplatten vornehmen kann. Mit der Option -y wird die Platte sofort in
den Standby-Modus geschickt, mit -Y wird sie vollstΣndig abgeschaltet. Mit
hdparm -S 6 wird erreicht, dass die Platte nach 30 Sekunden InaktivitΣt
abgeschaltet wird. Die Zahl 6 steht in diesem Fall fⁿr 6 5 = 30 Sekunden,
der Wert 0 schaltet diese Funktion aus. Bei gr÷▀eren Werten wird auch der
Multiplikator gr÷▀er; genaueres steht in der Manual-Page.
M÷chte man dieses Standby-Verhalten davon abhΣngig machen, ob man
mit Batterie oder Stromanschluss arbeitet, kann man geeignete Einstellung-
en in /etc/rc.config.d/apmd.rc.config treffen. Die Variable
CHECK_TIME sollte dann aber auf 0 stehen.
Leider wird die Platte hΣufig ben÷tigt, wodurch sie immer wieder aufge-
weckt wird. Zum Teil sind dafⁿr Programme (z. B. Texteditoren) verantwort-
lich, die regelmΣ▀ig ihre Daten auf der Platte sichern. Auch Hilfsmittel wie
tail -f <logfile> halten die Platte am Laufen, doch dafⁿr gibt es
tailf <logfile> als Ersatz. Selbst wenn man kein solches Programm
verwendet, gibt es einen Prozess, der den gerechten Schlaf der Platte regel-
mΣ▀ig st÷rt. Dazu muss man wissen, dass unter Linux die Daten nie direkt auf
die Platte geschrieben werden, sondern vorerst nur in Puffer, die der Kernel
bereithΣlt. Damit werden Schreiboperationen beschleunigt. Damit aber keine
Daten verlorengehen, gibt es den Update-Daemon, der sich in voreingestell-
ten ZeitabstΣnden um die Synchonisation der Platte und dieser Puffer kⁿm-
mert, d. h. die Daten wirklich auf die Platte schreibt. Seit Kernel 2.2.11 ist
dieser Daemon Bestandteil des Kernels, und kann nicht mehr ohne Weiteres
ausgeschaltet oder durch den mobile Update-Daemon" ersetzt werden. Aber
man kann ihn dennoch beinflussen, nΣmlich ⁿber das /proc-Dateisystem.
Der Befehl
erde: # cat /proc/sys/vm/bdflush
gibt die aktuellen Einstellungen aus und mit
erde: # echo "60 500 64 256 6000 60000 3000 1884 2" > /proc/sys/vm/bdflush
werden neue Einstellungen gesetzt. Wer diese ─nderungen vornehmen m÷ch-
te, sollte in /usr/src/linux/Documentation/proc.txt selbst die
Bedeutung der einzelnen Zahlen nachschlagen. Mit sync kann man ⁿbrigens
die Festplatte von Hand synchronisieren.
11.3 IrDA ¡ Infrared Data Association
IrDA (Infrared Data Association) ist ein Industriestandard fⁿr drahtlose Kom-
munikation ⁿber Infrarotlicht. Viele heute ausgelieferte Laptops sind mit ei-
nem IrDA-kompatiblen Sender/EmpfΣnger ausgestattet, der die Kommunika-
tion mit anderen GerΣten, wie Druckern, Modems, LAN oder anderen Lap-
tops erm÷glicht. Die ▄bertragungsrate reicht von 2400 bps bis hin zu 4 Mbps.
327
11. Notebooks ¡ PCMCIA, APM, IrDA
Die Untertⁿtzung fⁿr dieses Protokoll im Linux-Kernel ist noch nicht
vollstΣndig abgeschlossen. Daher ist die FunktionalitΣt auch nicht in den
Standard-Kernel eingebunden, es wird bislang nur als experimentell" ein-
gestuft (Beta-Status). Das bedeutet, dass dieser recht junge" Treiber nicht
so grⁿndlich erprobt und eventuell nicht so stabil ist, wie andere Bestand-
teile des Kernels.
Software
Das Paket irda stellt die Unterstⁿtzung fⁿr die Infrarotschnittstelle und das
IrDA-Protokoll bereit. Nach der Installation des Paketes findet man die Do-
kumentation unter /usr/doc/packages/irda/README.
Aus dem Paket howto wird das IR-HOWTO installiert. Dies findet man
nach der Installation unter /usr/doc/howto/en/IR-HOWTO.gz. Wei-
tere Informationen zum Linux IrDA-Projekt k÷nnen Sie auch der URL
http://www.cs.uit.no/linux-irda entnehmen.
Konfiguration
Dieses Paket trΣgt bei der Installation die Variablen START_IRDA, IRDA_PORT
und IRDA_IRQ in die Datei /etc/rc.config ein. StandardmΣ▀ig ist die
Verwendung von IrDA deaktiviert; ⁿber das Kommando
erde: # rcirda start
k÷nnen Sie die Schnittstelle aber jederzeit manuell aktivieren bzw. deaktivie-
ren (mit dem Parameter stop). Beim Aktivieren der Schnittstelle werden die
notwendigen Kernel-Module automatisch geladen.
▄ber IRDA_PORT (Voreinstellung /dev/ttyS1) und IRDA_IRQ (Vorein-
stellung 3) k÷nnen Sie die fⁿr IrDA verwendete Schnittstelle konfigurieren;
dies wird ⁿber das Skript /etc/irda/drivers beim Start der Infrarotun-
terstⁿtzung eingestellt.
Wenn Sie START_IRDA auf yes setzen steht die Unterstⁿtzung der Infra-
rotschnittstelle gleich nach dem Booten zur Verfⁿgung. Leider ben÷tigt Ir-
DA merklich mehr (Batterie-)Strom, da alle paar Sekunden ein Discovery"-
Paket verschickt wird, um andere PeripheriegerΣte automatisch zu erkennen.
Verwendung
Will man nun z. B. ⁿber Infrarot drucken kann man dazu ⁿber die GerΣtedatei
/dev/irlpt0 die Daten schicken. Die GerΣtedatei /dev/irlpt0 verhΣlt
sich wie die normale drahtgebundene" Schnittstelle /dev/lp0, nur dass
die Druckdaten drahtlos ⁿber infrarotes Licht verschickt werden.
Einen Drucker, der ⁿber die Infrarotschnittstelle betrieben wird, k÷nnen Sie
wie einen Drucker am Parallelport oder an der seriellen Schnittstelle ⁿber
YaST einrichten (vgl. Abschnitt 3.6.1 auf Seite 100). Beachten Sie bitte beim
Drucken, dass sich der Drucker in Sichtweite der Infrarotschnittstelle des
Computers befindet und dass die Infrarotunterstⁿtzung gestartet wird.
Will man ⁿber die Infrarotschnittstelle mit anderen Rechnern oder mit z. B.
Handys oder Σhnlichen GerΣten kommunizieren, so kann man dies ⁿber die
328
11.3. IrDA ¡ Infrared Data Association
GerΣtedatei /dev/ircomm0 erledigen. Mit dem Siemens S25 Handy bei-
spielsweise kann man sich ⁿber das Programm wvdial mittels Infrarot draht-
los ins Internet einwΣhlen.
Troubleshooting
Falls GerΣte am Infrarotport nicht reagieren, k÷nnen Sie als Benutzer
`root' mit dem Kommando irdadump ⁿberprⁿfen, ob das andere GerΣt
ⁿberhaupt vom Computer erkannt wird:
erde: # irdadump
Bei einem Canon BJC-80 Drucker in Sichtweite" des Computers erde er-
scheint dann eine Ausgabe Σhnlich der folgenden in regelmΣ▀iger Wiederho-
lung (vgl. Ausgabe 11.3.1).
21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14)
21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-
80 \
hint=8804 [ Printer Ir-
COMM ] (23)
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* er-
de \
hint=0500 [ PnP Computer ] (21)
Ausgabe 11.3.1: IrDA: irdadump
Sollte ⁿberhaupt keine Ausgabe erfolgen oder das andere GerΣt sich nicht zu-
rⁿckmelden, so ⁿberprⁿfen Sie bitte die Konfiguration der Schnittstelle. Ver-
wenden Sie ⁿberhaupt die richtige Schnittstelle? Manchmal ist die Infrarot-
schnittstelle auch unter /dev/ttyS2 oder /dev/ttyS3 zu finden oder ein
anderer Interrupt als Interrupt 3 wird verwendet. Diese Einstellungen k÷nnen
Sie aber bei fast jedem Laptop im BIOS-Setup konfigurieren.
Beachten Sie bitte auch, dass Sie ohne weiteres nur GerΣte ansprechen k÷n-
nen, die die Protokolle Printer oder IrCOMM unterstⁿtzen. Mit speziel-
len Programmen (irobex_palm3, irobex_receive, bitte beachten Sie
hierzu die Beschreibung im IR-HOWTO) k÷nnen Sie auch GerΣte anspre-
chen, die das IROBEX-Protokoll verwenden (z. B. 3Com Palm Pilot). Die
vom GerΣt unterstⁿtzten Protokolle werden bei der Ausgabe von irdadump
nach dem GerΣtenamen in eckigen Klammern angeben. Die Unterstⁿtzung
des IrLAN-Protokolls ist Work in progress" ¡ es ist leider zur Zeit noch
nicht stabil, wird aber sicher in naher Zukunft auch unter Linux zur Verfⁿ-
gung stehen.
Mit einer einfachen Video-Kamera k÷nnen Sie auch ⁿberprⁿfen, ob die
Infrarot-LED ⁿberhaupt aufleuchtet ¡ im Gegensatz zum Menschen k÷nnen
die meisten Videokameras Infrarotlicht sehen".
329
11. Notebooks ¡ PCMCIA, APM, IrDA
330