Die Konfiguration ist sicher noch nicht 100%ig, wenn Ihr Verbesserungsvorschläge habt, oder noch Fehler findet würde ich mich über eine Email freuen. (Email-Adresse siehe ganz unten). Wenn Ihr mit meinen Einstellungen Probleme habt helfe ich auch gerne weiter.
Für Leute die es ganz genau wissen möchten habe ich eine Auflistung mit lshw erstellt.
samlap:/mnt# lspci 0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03) 0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03) 0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) 0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03) 0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03) 0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) 0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03) 0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03) 0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3) 0000:00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03) 0000:00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03) 0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03) 0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03) 0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE) 0000:06:05.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) 0000:06:07.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05) 0000:06:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3) 0000:06:09.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08) 0000:06:09.2 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17) 0000:06:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08) 0000:06:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 03)
Alle Angaben auf dieser Seite beziehen sich auf die Kernel-Version 2.6.17.7 von www.kernel.org . Meine .config könnt ihr euch gerne anschauen oder verwenden wenn ihr den selben Kernel einsetzt. ACHTUNG: Ich habe die swap-Partition als Option swap:/dev/hda6 fix in den Kernel eingebaut. Dies sollte vor dem Neukompilieren auf Euer System angepasst werden. (Suspend HowTo, Link weiter unten).
Bei der Festplatte handelt es sich um eine 100GB FUJITSU MHV2100AT. (Real gesamt ca. 92GB). Von Werk aus war die Platte in einer NTFS Partition mit Windows XP mit 86GB und einer versteckten Partition mit ca. 6GB (für eine Systemwiederherstellung auf Knopfdruck) unterteilt. Dazu ist das Programm Recover Pro beigelegt mit dem man sich erstmal einen Wiederherstellungspunkt machen kann (wenn man auch noch Windows benützen möchte). Ich habe die Recovery-Partition behalten und die Windowspartition verkleinert sodass ich Platz für Linux geschaffen habe. Es gibt eine gute Anleitung (Englisch) wie man die NTFS Partition verkleinern kann im Netz.
samlap:/home/steve/laptop/homepage# fdisk -l /dev/hda Disk /dev/hda: 92.2 GB, 92253871104 bytes 255 heads, 63 sectors/track, 11215 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1842 14795833+ 7 HPFS/NTFS /dev/hda2 10401 11215 6546487+ 77 Unknown /dev/hda3 1843 4274 19535040 b W95 FAT32 /dev/hda4 4275 10400 49207095 5 Extended /dev/hda5 4275 4278 32098+ 83 Linux /dev/hda6 4279 4424 1172713+ 82 Linux swap / Solaris /dev/hda7 4425 5275 6835626 83 Linux /dev/hda8 5276 8679 27342598+ 83 Linux /dev/hda9 8680 10259 12691318+ 83 Linux /dev/hda10 10260 10400 1132551 83 Linux
Nachdem ich mir meinen Kernel neu aufgesetzt hatte lief der Laptop ungewöhnlich langsam. Der Start von Programmen dauerte immer ewig. CPU und Ram-Auslastung waren allerdings OK, die Rechenleistung ebenfalls (glxgears schafft 3200FPS). Der Grund war dass DMA (direct memory access) für die Festplatte abgeschalten war, daher blockierten Festplattenzugriffe die CPU für zu lange Zeit, was sich in einem sehr trägen System bemerkbar macht. Mir ist es leider nicht gelungen in meinem neu aufgesetzten Kernel die benötigten Optionen einzuschalten. Ich musste mir den Kernel erneut von Null an bauen dann gings erst. In Verdacht habe ich make xconfig. Seit dem verwende ich nur noch make menuconfig. Da die DMA Unterstützung eigentlich von haus aus funktionieren sollte, und es genug Anleitungen im Netz gibt, schreibe ich hier nicht die genaue Einrichtung. Ob DMA bei Euch aktiviert ist könnt ihr leicht überprüfen mit hdparm.
samlap:/home/steve/laptop/homepage# hdparm /dev/hda /dev/hda: multcount = 16 (on) IO_support = 3 (32-bit w/sync) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/16/63, sectors = 180183342, start = 0
using_dma = 1 (on) verrät uns dass DMA für die Festplatte eingeschalten ist.
Es empfihlt sich beim Systemsart hdparm für die Festplatte zu konfigurieren. Dazu in der Datei /etc/hdparm.conf folgende Zeilen hinzufügen:
command_line {
hdparm -q -m16 -q -W0 -q -d1 -u1 -c3 /dev/hda
}
Ich weiss, es ist die alte Notation allerdings habe ich das so vom Desktop PC übernommen.
Für das Synaptics existieren gut funktionierende Treiber für Xorg und XFree. Der Treiber kann. hier heruntergeladen werden. In dem Paket ist eine Installationsanleitung nach der man den Treiber problemlos installieren können sollte.
[X] Provide legacy /dev/psaux device
[X] Event interface
[X] Mouse --->
[X] PS/2 mouse
In der /etc/X11/XF86Config-4 muss man noch ein paar Einstellungen vornehmen:
Section "InputDevice"
Identifier "Mouse1"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "Device" "/dev/psaux"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4600" #"4200"
Option "FingerLow" "35"
Option "FingerHigh" "40"
Option "MaxTapTime" "180"
Option "MaxTapMove" "180"
Option "VertScrollDelta" "200"
Option "HorizScrollDelta" "0" #"200"
Option "MinSpeed" "0.10"
Option "MaxSpeed" "0.30"
Option "AccelFactor" "0.0020"
Option "SHMConfig" "on"
Option "RBCornerButton" "2"
Option "LockedDrags" "1"
Option "LTcornerButton" "3"
Option "PalmMinWith" "6"
EndSection
Ich habe mir die Maus sehr schnell eingestellt, das behagt mir bei dem Touchpad besser. Mit diesen Einstellungen hat man am rechten Rand ein Art Mausrad um vertikal zu scrollen. Wer auch gerne am unteren Rand eine Scrollfunktion hätte muss HorizScrollDelta auf 200 und BottomEdge etwas noch oben (z.B 4200) setzen. Da ich mit dem Horizontalen Mausrad immer wieder unerwünschte Effekte ausgelöst habe und ich diese Scrollfunktion nicht benötige habe ich sie abgeschaltet. Ein Druch auf den ganz linken oberen Rand erzeugt einen Rechtsklick. Um Fenstergrössen zu ändern / Zeilen markieren kann man einen Doppelklick machen und nach dem 2 Klick länger am Touchpad bleiben. Wenn man sich das Touchpad genau auf seine eigenen Bedürfnisse eingestellt hat kann man auf eine eigene Maus verzichten (zumindest gehts mir so).
man synaptics hilft weiter.
[X] EISA, VLB, PCI and on board controllers
[X] Broadcom 4400 ethernet support (EXPERIMENTAL)
Bei dem WLAN-Chip handelt es sich um den für Centrino-Laptops üblichen Intel 2200BG. Mittlerweile wird dieser Chip vom Kernel unterstützt, es wird allerdings empfohlen, die Module selbst aus neueren Quellen zu bauen. Die Kernel-Treiber verwenden eine ältere Version der Firmware wo noch kein Monitor-Mode zur Verfügung steht. Die Treiber sollten also nicht im Kernel eingebaut werden. Um die Module selber zu kompilieren braucht man ieee80211 und ipw2200 sowie die Firmware. Die Installation ist auf den angegeben Seiten sehr gut beschrieben, bei Problemen lohnt es sich sicher auch dort mal vorbeizusehen.
EDIT 30. Juli 2006: Mittlerweile wird die WLAN-Karte auch mit dem Monitor Mode unterstützt und desshalb verwende ich jetzt auch IEEE und IPW aus dem Kernel!
[X] Wireless LAN drivers (non-hamradio) & Wireless Extensions
[M] Intel PRO/Wireless 2200BG and 2915ABG Network Connection
[X] Enable promiscuous mode
[ ] IEEE 802.11 Networking Stack
[X] Generic IEEE 802.11 Networking Stack
[M] IEEE 802.11 WEP encryption (802.1x)
[M] IEEE 802.11i CCMP support
[M] IEEE 802.11i TKIP encryption
[X] Hotplug firmware loading support
[M] ARC4 cipher algorithm
[M] Michael MIC keyed digest algorithm
[M] AES cipher algorithms (i586)
[M] CRC32 functions
Kopieren der IPW2200 Firmware. Version: 2.3:
Die Firmware muss nach /usr/lib/hotplug/firmware kopiert werden. Sie wird dann von dort automatisch vom Kernel aufgerufen wenn der Treiber geladen wird.
tar xzvf ipw2200-fw-2.3.tgz cd ipw2200-fw-2.3/ cp * /usr/lib/hotplug/firmware/
Für den Betrieb sind die Programme iwlist und iwconfig aus dem Paket wireless-tools nötig. Für eine sichere verschlüsselte Verbindung (WPA) noch das Paket wpasupplicant. Schaut Euch dazu auch mal die man-Pages an.
Eine Beschreibung zur Verwendung von WPA findet ihr auf der Linux - Allgemein Seite.
Bei mir ist eine X700 Radeon Mobility Grafikkarte mit 128 MB Ram von ATI eingebaut. Der Hersteller stellt freundlicherweise auch Treiber für Linux zur Verfügung nur leider hat das bei mir nicht so unkompliziert geklappt wie ich mir das vorgestellt habe. Insgesamt habe ich die meiste Zeit gebraucht um die Grafikkarte richtig zum Laufen zu bringen.
Auf der ATI Linux driver package site for Debian gibt es die benötigten Driver und eine genaue Beschreibung (Englisch). Ich habe den kompletten Treiber downgelaoden (>60MB), die kleineren .rpm Dateien haben bei mir nicht funktioniert.
[X] Enable loadable module support
[X] Module unloading# CONFIG_SMP is not set
[X] Module versionin support (EXPERIMENTAL)
[X] Automatic kernel module loading
[X] MTRR (Memory Range Register) support
... restliche Module sind hier nicht aufgelistet.
CONFIG_AGP=m
CONFIG_AGP_CHIPSET=??
[ ] CONFIG_DRM
[ ] CCONFIG_DRM_RADEAON
[X] CONFIG_TMPFS
Zum installieren des Treibers mit chmod u+x ati-driver-installer-8.20.8-i386.run das File ausführbar machen und mit ./ati-driver-installer-8.20.8-i386.run die Installation starten. Anschliessend noch fglrxconfig (XF86Config-4 wird neu erstellt, also eine Sicherungskopie machen und eventuell nach der Installation das neu erstellte File ändern). Nach einem Neustart des X-Servers sollt fgl_glxgears den Würfel mit 600-700fps herumwirbeln lassen. Die Treiberinstallation muss nach jedem Kernel-neu-kompilieren wiederholt werden.
Die Auflösung des Displays beträgt 1280x800. Diese Auflösung wird leider nicht standartmässig vom ATI-Treiber in die xorg.conf geschrieben. Man muss die Zeile Modes "1024x768" "800x600" "640x480" unter Subsection Display händisch auf Modes "1280x800" "1024x768" "800x600" "640x480" ändern. Der erste Eintrag ist immer der Defaulteintrag.
Der VGA-Ausgang funktioniert bei mir, man kann ihn grafisch über das ATI-Control-Center konfigurieren. Starten man den XServer mit eingestecktem Monitor so verbreitert sich der Desktop und man kann bequem mit 2 Monitoren arbeiten.
Obwohl man den TV-OUT ebenfalls über das ATI-Control-Center einstellen kann belieb der Fernseher dunkel. Da ich den TV-Out allerdings auch im Windows nicht zum laufen gebracht habe liegt das Problem vielleicht auch nur bei meinem Kabel / Fernseher.
Es hat mir mittlerweile jemand bestätigt dass der TV-Out bei seinem Laptop problemlos funktionert.
Die X700 Grafikkarte unterstützt auch eine Stromsparfunktion bei der nicht benötigte Geräte abgeschalten werden können. Ein mal aktiviert kann man sie bis zum nächsten Systemstart allerdings nicht mehr ändern. Wer das Notebook hauptsächlich ohne 3D-Unterstützung braucht sollte trotzdem den Takt der Grafikkarte drosseln. Ich erreichte dadurch einen Stromsenkung von über 5% vom Gesamtleistungsbedarf was sich natürlich in der Akkulaufleistung bemerkbar macht. (Strom von 1346 mA auf 1277mA gesenkt). Aktivieren kann man die Energeisparfunktion über aticonfig --set-powerstate=1. aticonfig kann den Eintrag dauerhaft in der XF86-Config speichern nur funktionert dies leider nicht, man muss es nach dem Starten des X-Server ausführen lassen.
Die ansonsten gängige Option Option "DynamicClocks" "on" zum Stromsparen bei diverser Grafikkarte wird von diesem Modell leider nicht unterstützt.
Meine xorg.conf könnt ihr Euch auch gerne herunterladen.
Ich hatte lange Zeit das Problem dass sich der Rechner nach einen X-Server Shutdown aufhängt. Meine Vermutung hat sich, dass es sich um den ATI Treiber handelt, hat sich mittlerweile teilweise besätigt. Eigentlich liegt es an einem unsauber konfiguriertem Logininmanager.
Zitat von www.linux-development.org:
Bekannte Probleme bei Xorg Seit der Treiberversion 8.19.10 kommt es bei vielen unter den neueren Xorg Versionen ( ab 6.9 ) zu einem Systemfreeze, sobald man X restarted oder sich ausloggen will. Das ist das Ergebnis eines unsauber konfiguriertem Loginmanager, wie kdm oder gdm. Fügt einfach folgenden Eintrag zur kdm Configdatei, in der Sektion [X-:*-Core], hinzu (/etc/kde3/kdm/kdmrc): TerminateServer=true Danach dürfte das Problem mit dem X restart behoben sein.
Grub Splashscreen:
Folgende Zeile in die menu.lst eintragen. Da ich eine eigene Boot-Partition erstellt habe darf ich den Pfad nicht mit /boot/ beginnen da es ein solches Verzeichnis auf dieser Partition nicht gibt. Wenn ihr keine eigene Boot-Partition habt müsst ihr den Pfad mit /boot/ beginnen.splashimage /grub/images/bike_gua.xpm.gz
Die Soundkarte wird vom Kernel unterstützt.
[X] Sound card support
[X] Advanced Linux Sound Architecture
[M] Sequencer support
[M] OSS Mixer API
[M] OSS PCM (digital audio) API
PCI devices
[X] Intel/SiS/nVidea/AMD/ALi AC97 Controller
[X] Intel/SiS/nVidia/AMD MC97 Modem (EXPERIMENTAL)
Über die 3 Sondertasten (Mute, Up, Down) kann man die Soundausgabe ändern. Die Tasten liefern jeweile einen Tastencode. Mit xev kann man den Tastencode ermitteln. Bei mir sind das 160 für Mute, 174 für Vol Down, 176 Vol Up. Um damit die Soundausgabe steuern zu können muss man dem Tastencode eine Funktion zuweisen. Am einfachsten geht dass indem man eine Datei .Xmodmap im Homeverzeichnis ablegt und in .xsession mittels /usr/X11R6/bin/xmodmap $HOME/.Xmodmap bei jedem Start starten lässt.
.Xmodmap:keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume
Die Einstellungen werden bei einem Neustart des XServers übernommen. Dieser Eintrag alleine bewirkt, wie ich anfangs dachte, nocht nicht automatisch dass die Lautstärke gesteuert wird. Man hätte wohl genausogut eine andere Aktion zuordnen können (F20-F23). Öffnen Sie nun kmix klicken auf mixer und klicken dann mit der rechten Maustaste auf den Regler den ihr steuert wollt. Unter Configure Shortcut... kann dann die gewählte Taste einem Event (lauter, leiser, mute) zugeordnet werden.
Für eine Anzeige der aktuellen Akkukapazität sowie der verbleibenden Akkulaufzeit benötigt man ein funktionierendes ACPI.
[X] Power Management Debug Support
ACPI (Advanced Configuration and Power Interface) Support
[X] ACPI Support
[X] Sleep States
[X] AC Adapter
[X] Battery
[X] Button
[X] Fan
[X] Processor
[X] Thermal Zone
APM (advanced Power Management) BIOS Support
[M] APM (Advanced Power Management) BIOS support
Den Akkusstand kann man gleich mal zu Testzwecken kontrollieren:
samlap:$ cat /proc/acpi/battery/BAT1/state present: yes capacity state: ok charging state: discharging present rate: 1789 mA remaining capacity: 4272 mAh present voltage: 11897 mV
Für KDE Benützer empfiehlt es sich das Paket klaptop zu installieren. Einrichten lässte es sich dann grafisch im Kontrollzentrum von KDE. Man wird dann über die Taskleiste ständig über den Akku am laufenden gehalten und bekommt eine Warnung wenn der Ladezustand kritisch wird. Für Gnome gibt es wahrschinlich was ähnliches, aber da ich den nicht benutze kann ich dazu keine Tipps geben.
Sleep / Suspend to Ram
echo 3 >> /etc/acpi/sleep
Mit dem Befehl kann man den Rechner in einem Schlafzustand schicken. Herunterfahren und Neustartet dauert nur noch wenige Sekunden, allerdings wird in diesem Schlafzustand weiterhin Strom verbraucht. Meinen ersten Messungen zufolge liegt der Strombedarf bei ungefähr 70mA, der vollgeladene Akku hält so ca. 2,5 Tage. Für einen stromlosen Ruhezustand siehe den Punkt Hibernate. Nach dem Aufwachen funktioniert bei mir alles wie gewohnt, ich habe keine Probleme festgestellt. Das obige Kommando habe ich in /etc/acpi/sleepbtn eingetragen um mit dem Tastenbefehl FN + ESC das Kommando auslösen zu können.
EDIT Kernel2.6.17.7 Mit diesem Kernel (oder liegt es auch an dem neuen ATI-Treiber) bleibt der Bildschirm nach dam aufwachen dunkel.
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Um dies zu automatisieren habe ich mir ein kleines Script gebastelt dass nach /etc/init.d/cpuscaling kopiert und mit /etc/rc2.d/S99cpuscaling verlinkt wird. Wer es benötigt kann es sich gerne von mir herunterladen. cpuscaling
[X] Power Management Debug Support
CPU Frequency scaling
[X] CPU Frequency scaling
[X] CPU frequency translation statistics
[X] CPU frequenzy translation statistics details
Default CPUFreq govenor (userspace) --->
[ ] performance
[X] userspace
[X] 'performance' governor
[X] 'powersave' gonernor
[X] 'ondemand' cpufreq policy governor
[X] 'conservativ' cpufreq governor
[M] ACPI Processor P-States driver
[X] Intel Enhanced Speedstep
[X] Use ACPI tables to decode valid frequency/voltage pairs
[X] Built-in tables for Banis CPUs
[X] Intel Speedstep on ICH-M chipsets (ioport interface)
Wenn alles funktioniert hat sieht es dann etwa so aus:
samlap:/# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/trans_table
From : To : 2000000 1600000 1333000 1067000 800000 2000000: 0 1121 1143 1464 5914 1600000: 115 0 111 155 740 1333000: 179 0 0 186 889 1067000: 549 0 0 0 1256 800000: 8799 0 0 0 0
In der Tabelle sieht man wie oft der Kernel von einer Freqenz zur anderen geschalten hat. Je länger das System läuft desto mehr Kombinationen gibt es natürlich.
Die Akkulaufzeit mit dieser Konfiguration (LCD-Display auf Stufe 2, normales Arbeiten - erstellen dieser Homepage) liegt bei 2:40.samlap:/# uptime 12:51:31 up 2:26, 1 user, load average: 0.22, 0.18, 0.18 samlap:/# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state 2000000 26341 1600000 1145 1333000 1446 1067000 1884 800000 855277
Die Statistik habe ich erstellt als die Warnung von KDE kam dass noch 15 min Akkureserve sind. Interessant wäre noch ein Vergleich mit der Akkulaufzeit im Windows (ich gehe davon aus dass sie sicher um 1/2 h länger ist). Ich wüsste allerdings nicht was ich so lange im Windows arbeiten würde, daher wäre der Vergleich etwas ungerecht *g*.
Der Laptop hat 2 USB-Buchsen auf der hinteren (linken) Seite und 2 auf der rechten Seite. Unter Linux funktionieren sie mit der schnellen USB2.0 Unterstützung ohne Probleme.
Für eine externe USB-Maus müssen folgende Zeilen in der XF86-Config eingetragen sein. Es funktioniert damit das Touchpad und die USB Maus gleichzeitig. Man kann auch noch nach dem Starten des X-Servers die USB Maus anschliessen und sie wird dann erkannt.
Section "ServerLayout"
Identifier "Server Layout"
Screen "Screen0" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "USB Mouse" "AlwaysCore"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
Option "Buttons" "5"
EndSection
Der Etiquette Mode ist ein leiser Betriebsmode den ich bis jetzt nur von Samsung Modellen kenne. Eingeschalten über FN + F10 wird erstmal der Lüfter abgeschalten was mich anfangs etwas verunsichert hat ob die CPU-Temperatur nicht zu stark ansteigen kann. Ein Test beim Kernelcompilieren zeigt allerdings dass der Lüfter bei höherer Temperatur durchaus nicht komplett abgeschalten wird sondern nur anders geregelt wird. Die unten stehende Grafik zeigt die CPU-Temperatur (Thermal Zone) während dem neucompilieren des Kernels (Absinken der Temperatur ist dann das Ende des Compiliervorgangs). Man sieht dass bei eingeschaltenem Etiquette Mode der Vorgang wesentlich länger dauert, dass lässt für mich den Schluss zu dass auch die CPU-Frequenz gedrosselt wird um die Verlustwärme gering zu halten. Man sieht in der Grafik auch recht schön dass die max. Endtemperatur im Etiquette-Mode bei ca. 60°C liegt, bei vollem Betrieb bei etwa 70°C.
| Taste: | Funktion |
| FN + ESC: Standby | Taste liefert ACPI-Event, OK |
| FN + F2: Batterie | Piktoramm mit Ladezustand wird eingeblendet, OK |
| FN + F4: Monitor | VGA-Monitor abschalten, OK |
| FN + F5: Backlight | Hintergrundbeleuchtung abschalten, OK |
| FN + F6: Mute | Taste liefert Tastencode, OK |
| FN + F7: SRS | Keine Änderung des Sounds |
| FN + F8: WLAN | WLAN abschalten, Piktogramm am LCD, OK |
| FN + F9: Touchpad | Touchpad abschalten, Piktogramm am LCD, OK |
| FN + F10: Silent | OK |
| FN + UP/DOWN: Brightness | OK |
| FN + LEFT/RIGHT: Lautstärke | OK, liefert Tastencode |
| Lid Close | liefert ACPI-Event, OK |
[X] MMC support
[ ] MMC debugging
[M] MMC block device driver
[M] Secure Digital Host Controller Interface support
mount /dev/mmcblk0p1 /mnt
Zuerst muss der richtige Kernel Patch heruntergeladen und entpacken werden. Aus dem Kernel-Verzeichnis heraus apply aufrugen: samlap:/usr/src/linux-2.6.14.2/$ /home/steve/suspend2-2.2-rc14-for-2.6.14/apply. Wenn ihr den passenden Patch habt sollte es hier keine Probleme geben. Jetzt den Kernel neu konfigurieren:
[X] Suspend2
Suspend2
[X] Swap Writer
(swap:/dev/hda6) Default resume device name
Die Swap-Einstellung müsst Ihr auf Eure Swap-Partition anpassen. Swap-Writer schreibt den Inhalt des Speichers in die Swap-Partition. Diese sollte mindestens so gross sein wie der Hauptspeicher. Man könnte den Speicher auch in ein File schreiben aber das erfordert mehr aufwand.
[X] LZF compression algorithm
...
Mit der LZF-Compression wird der Speicher vor dem Schreiben komprimiert
Bei der Verwendung von ATI oder nVidia Grafiktreibern kommt es beim suspend zu folgendem error: Pageset1 has grown 1900 Pages but only 500 is allowed for. Die Lösung ist hier beschrieben: Eine Ändrung am Quellcode des Kernels wie bisher beschrieben ist nicht mehr notwendig, man kann es auch einfacher über das /proc Verzeichnis erledigen. Ich habe das Startscript - klick to download - von Hibernate mit folgender Zeile erweitert: echo 3500 > /proc/suspend2/extra_pages_allowance
deb http://cp.yi.org/apt/hibernate ./ in /etc/apt/sources.list eintragen, apt updaten und hibernate installieren. Meine hibernate config ist hier zu finden
Da wir die Swap-Partition schon im Kernel festgelegt haben müssen wir im Grub eigentlich keine Kernel-Optionen übergeben. Ich habs aber trotzdem gemacht. Das schaut mir mir dann so aus: kernel /vmlinuz root=/dev/hda9 ro resume2="swap:/dev/hda6". Zur Sicherheit sollte man auch noch einen Eintrag mit kernel /vmlinuz root=/dev/hda9 ro resume2="swap:/dev/hda6 noresume2" anlegen um das System ohne suspend Funktion starten zu können.
Jetzt für die ersten Tests in der Konsole einloggen und den grafischen Modus beenden. Nach der Eingabe von hibernate sollte Suspend das System schlafen legen. Beim nächsten Start lädt er den Speicher aus dem Swap zurück und man kann weiterarbeiten. Hat dieser Test geklappt kann man mit dem nächsten Schritt vortfahren.
In kde eine Konsole öffnen und hibernate ausführen. Kommt man nach einem Neustart wieder automatisch ins KDE hat alles geklappt. Gratulation!
Buttons belegen# /etc/acpi/events/lidbtn # This is called when the user presses the lid button and calls # /etc/acpi/lidbtn.sh for further processing. # We need to react on "button lid.*" and "button/lid.*" because # of kernel changes. event=button[ /]lid action=/etc/acpi/lidbtn.sh
#!/bin/sh
# /etc/acpi/lidbtn.sh
# Initiates a suspend to ram when the lid has been
# closed.
if [ -e /tmp/lidclose ]
then
rm /tmp/lidclose
else
touch /tmp/lidclose
hibernate
rm /tmp/lidclose
fi
echo 'startkde: Shutting down...' 1>&2 # Clean up touch /tmp/lidclose kdeinit_shutdown dcopserver_shutdown artsshell -q terminate
Passwortabfrage beim Aufwachen
Nach dem Aufwachen des Rechners befindet man sich an dem Punk wo man letztens aufgehört hat zu arbeiten. Dies bringt natürlich ein gewisses Sicherheitsrisiko mit sich daher habe ich nach einer Möglichkeit gesucht beim Aufwachen eine Passwortabfrage einzubauen. Glücklicherweise bringt hibernate diese Funkion schon mit und man muss in der Datei /etc/hibernate/hibernate.conf eine Möglichkeit der Passwortabfrage aktivieren. Ich kann leider nur die Option LockConsoleAs USERNAME verwenden da alle anderen bei mir nicht funktionieren. Diese Optionen benötigen jeweil ein externen Programm das ihr mit apt-get installieren könnt.
| Option | Programm |
| LockConsoleAs | openvt, vlock |
| LockXScreenSaver | xscreensaver-command |
| LockKDE | KDE |
| LockXLock | xlock |
| LockXAutoLock | xautolock |
Schöfegger Stefan <s.schoefegger _at_ aon.at> 15.04.2006
|
|
|
||