Compaq HP nx6125
Aus Gentoo Linux Wiki
| Laptops • Motherboards • Servers • Eingabegeräte • RAID Controller • TV Karten • Wireless • Andere Hardware • Andere Architekturen • alphabetischer Hardware Index |
Inhaltsverzeichnis |
[Bearbeiten] HP nx6125 ( HP Kode PY476ET ) Gentoo Linux
Spezifikation
| CPU | AMD Sempron(tm) 3100+ Mobile (1.8 GHz, 256 KiB L2 cache) |
| Chipset | ATI Radeon Mobile Xpress 200M (ATI RS480 + ATI SB400) |
| RAM | 256 oder 512 MiB DDR333 (SODIMM) |
| Battery | 6 Cell LiIon |
| HDD | FUJITSU MHV2060AH 5400 rpm 40 oder 80 GB (ATA-6, 100MB/s) |
| Display | 15" TFT XGA 1024x768 16M (LG Philips) |
| Video controller | Integrated ATI MOBILTY Radeon X300 with up to 128 MiB allocated system memory. Hier ist es eine ATI Radeon Xpress 200M (Pci-Id 0x5955)! Ist vermutlich fast das gleiche wie eine X300, aber OpenSource-DRM ist experimentell. |
| Net.wired | Integrated Broadcom NetXtreme Gigabit PCI Express Ethernet Controller (10/100/1000 NIC) |
| Net.wifi | Broadcom 802.11 WLAN (BCM4318) |
| PCMCIA | Texas Instruments PCIxx21/x512 |
| Keyboard | 101/102 key compatible with "One-Touch Productivity Buttons" |
| Pointer | Synaptics Touchpad with scroll zone |
| 6-in-1 Media Reader | Texas Instruments PCIxx21 Integrated FlashMedia Controller [1] |
| DVD+/-RW | HL-DT-ST GWA-4082 DVD+/-RW with Double Layer Technology (EIDE, Multiword DMA mode 2) |
| Audio | ATI Technologies Inc IXP SB400 AC'97 Audio Controller |
| Modem | ATI Technologies Inc ATI SB400 - AC'97 Modem Controller |
| Fingeprint Scanner | Authentec AES2501 USB_Id 0x08ff/0x2580 [2] |
| Termofühler für lm_sensors | SMBus PIIX4 adapter at 8200 |
[Bearbeiten] Allgemein
Diese Anleitung basiert teilweise auf dem Artikel, der zu diesem Laptop bereits im englischsprachigen Bereich von gentoo-wiki.com erschienen ist. Teilweise aber auch auf Artikeln, die einen ähnlichen Laptop beschreiben, bzw. ähnliche Hardware, wie beispielsweise der Bericht zur 64 Bit Version dieses Notebooks in diesem Forum.
Das heißt natürlich auch, daß diese Anleitung durchaus helfen kann, wenn man ein anderes Notebook, jedoch ähnlich Hardware besitzt. Für die nx6125 Baureihe mit Sempron Bestückung (egal ob 2800+, 3000+ oder 3100+) sollte dieser Artikel uneingeschränkt gelten. Bei den 64 Bittern soll es Unterschiede geben bei der WLAN Anbindung über ndiswrapper, sonst jedoch prinzipiell auch funktionieren.
[Bearbeiten] Installation von Gentoo 2007.0
Die Installation kann problemlos nach dem Gentoo Linux x86 Handbuch durchgeführt werden.
Die Installation-CD erkennt problemlos die Netzwerkkarte, so daß der Installation übers Netz nichts im Wege steht. Die WLAN-Karte wird zwar auch erkannt, offenbar fehlt aber die benötigte Firmware, sodass man diese nicht ohne weiteres bei der Installation benutzen kann.
[Bearbeiten] Kernelkonfiguration
Wichtig: Bitte stellt sicher, dass ihr mindestens die version F.11 des BIOS benutzt. Sonst funktioniert APIC & die Lüftersteuerung nicht richtig und es kann zu Überhitzung kommen!
Die anfänglichen Probleme, die das Notebook hatte, sollten durch HP (BIOS) und Kernel >= 2.6.21 behoben worden sein. Wenn immer noch Probleme auftreten, schaut euch bitte eine ältere Version des Artikels an!
Bei der Kernelkonfiguration ist zu beachten, das es sich aus Sicht des Kernels beim Sempron 3100+ um einen Prozessor aus der Klasse Opteron/Athlon64/Hammer/K8 handelt. Das ist vor allem bei der Einstellung zur Frequenzskalierung (PowerNow!) wichtig. Bitte auf keinen Fall den AthlonXP-Treiber im Kernel auswählen!
| Linux Kernel Configuration: HARDWARE HP Compaq nx6125 on 2.6.19-gentoo-r2 |
Processor type and features --->
# Ja, du hast einen K8 Prozessor :)
Processor family (Opteron/Athlon64/Hammer/K8)
[*] HPET Timer Support
Preemption Model (Preemptible Kernel (Low-Latency Desktop)) --->
[*] Preempt The Big Kernel Lock
#APIC ist wichtig!
[*] Local APIC support on uniprocessors
[*] IO-APIC support on uniprocessors
[*] Machine Check Exception
<*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
#highmen-support, wenn ihr mehr als 1 GB RAM habt
High Memory Support (4GB) --->
[*] Allocate 3rd-level pagetables from highmem
#die ATI-Treiber brauchen mtrr-supprt
[*] MTRR (Memory Type Range Register) support
[*] Use register arguments
# ACPI ist wichtig...
Power management options (ACPI, APM) --->
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
< > Generic Hotkey (EXPERIMENTAL)
<*> Fan
<*> Processor
<*> Thermal Zone
CPU Frequency scaling --->
[*] CPU Frequency scaling
Default CPUFreq governor (userspace)
<*> 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
<*> AMD Opteron/Athlon64 PowerNow!
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
<*> PCI Express support
[*] Message Signaled Interrupts (MSI and MSI-X)
[*] Interrupts on hypertransport devices
Device Drivers --->
Network device support --->
# Ethernetkarte
<*> Broadcom Tigon3 support
Character devices --->
<M> /dev/agpgart (AGP Support)
< > ATI chipset support
|
Ihr könntet im dmesg unter Kernel <2.6.22 immer wieder APIC-Errors finden ("APIC error on CPU0: 40(40)"). Diese sind aber nicht fatal und können ignoriert werden.
[Bearbeiten] XServer
X.Org ab Version 7.1 unterstützt die eingebaute ATI Radeon Xpress 200M. Auf die genaue Konfiguration von X wird hier nicht eingegangen, dazu soll diese Anleitung dienen.
Folgende zwei Optionen werden hier nur kurz beschrieben:
- Option 1: Benutzung des freien radeon-Treibers
- Option 2: Benutzung des proprietären ATI-Treibers (fglrx)
[Bearbeiten] Option 1: Benutzung des freien radeon-Treibers
Der freie radeon-Treiber bietet sowohl 2D, als auch experimentelle 3D-Beschleunigung. Er verursacht weniger Probleme als der proprietäre Treiber, zum Beispiel funktioniert damit die unten angesproche Regulierung der Helligkeit des Displays.
Als Treiber kann entweder "radeon" verwendet werden:
Section "Device" Driver "radeon" Option "DynamicClocks" "on" Option "AccelMethod" "XAA" EndSection
Um DRM-Beschleunigung zu bekommen, müssen wird folgende Dinge in den Kernel eincompilieren:
| Linux Kernel Configuration: Kernel Configuration |
Device Drivers --->
Graphics support --->
<M> /dev/agpgart (AGP Support) --->
<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<M> ATI Radeon
|
DRM-Unterstützung für den Xpress 200M-Chipsatz ist jedoch noch experimentell. Um DRM zu aktivieren, müssen noch folgende Module in der xorg.conf geladen werden:
Section "Module" ... Load "dri" Load "drm" Load "glx" ... EndSection
Natürlich darf auch ein
eselect opengl set xorg-x11
nicht fehlen.
Sollte DRM Probleme bereiten, kann man die Module jederzeit auskommentieren, um ohne 3D-Beschleunigung zu arbeiten.
Kommt ein Bildschirm, vielleicht noch mit einem Mauszeiger, dann kann man getrost dazu übergehen, den Windowmanager seiner Wahl zu installieren.
[Bearbeiten] Option 2: Benutzung des proprietären ATI-Treibers (fglrx)
Wer häufig OpenGL-Anwendungen benutzt (zum Beispiel 3D-Spiele), der kann mit der OpenSource Hardwarebeschleunigung leider noch nicht viel anfangen. Für den bietet sich der Treiber von AMD an.
Eine sehr gute Anleitung dazu findet man hier.
Eine ganz kurze Zusammenfassung von mir:
Zuerst einmal den ATI-Treiber installieren
emerge -av ati-drivers
Wenn es ein neuer Treiber ist (> 8.21.7), dann kann/muß man aticonfig zur Konfiguration verwenden.
aticonfig --initial --input=/etc/X11/xorg.conf
Bei älteren Treibern verwendet man statt dessen fglrxconfig:
fglrxconfig
Dort sollte man darauf achten, daß die x300 Karte am Anfang des Frage-Antwort Dialoges von fglrxconfig als unterstützte Karte auftritt. Falls das nicht der Fall ist, so muß man einen Treiber aus dem unstable Bereich installieren
echo "x11-drivers/ati-drivers ~x86" >> /etc/portage/package.keywords emerge -avuD ati-drivers
Danach muß man dann den aticonfig Befehl ausführen (siehe oben, weil die unstable Treiber mind. schon 8.22 sind).
Nach dieser Prozedur sollte man startx ausführen und es sollte ein Bildschirm und ein Mauszeiger zu sehen sein.
[Bearbeiten] WLAN
Beim WLAN Chip handelt es sich, wie beim LAN Chip, ebenfalls um ein Broadcom Produkt. Auch hier gibt es wieder 2 verschiedene Optionen, wie man die WLAN-Karte zum Laufen bekommt:
- Option 1: Benutzung des nativen Linux-Treiber aus dem Kernel
- Option 2: Benutzung des Windows-Treibers mit ndiswrapper (nicht mehr empfohlen)
Auch hier hat wieder jeder freie Wahl. Mit aktuellen Kerneln dürfte der b43-Treiber keine Probleme verursachen, Option 2 dient lediglich als Ausweichmöglichkeit.
[Bearbeiten] Option 1: Benutzung des nativen Linux-Treiber aus dem Kernel
Der b43-Treiber aus neueren Kerneln (>2.6.24) ist sehr stabil und arbeitet zuverlässig. Er nutzt den neuen WLAN-Stack mac80211 und funktioniert mit voller Geschwindigkeit (54g).
Hier beschrieben wird die Konfiguration mit Kernel 2.6.25 oder höher!
| Linux Kernel Configuration: Kernel Configuration |
#Optional: für die Wlan-LED
Device Drivers -->
[*] LED Support --->
<*> LED Class Support
[*] LED Trigger support
Networking --->
Wireless --->
-*- Improved wireless configuration API
[*] nl80211 new netlink interface support
-*- Wireless extensions
<*> Generic IEEE 802.11 Networking Stack (mac80211)
#Damit die WLan-LED aufleuchtet:
[*] Enable LED triggers
#Den alten Softmac-Stack braucht ihr nicht mehr
< > Generic IEEE 802.11 Networking Stack (DEPRECATED)
Device Drivers --->
Network device support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN (IEEE 802.11)
<M> Broadcom 43xx wireless support (mac80211 stack)
#Damit der WLAN-Knopf funktioniert
Networking --->
<*> RF switch subsystem support --->
<*> Input layer to RF switch connector
|
Außerdem muss man noch den fwcutter emergen:
echo net-wireless/b43-fwcutter >> /etc/portage/package.keywords emerge b43-fwcutter
Dann müsst ihr euch eine Firmware-Datei aus dem Netz herunterladen und installieren (hier die Firmware für 2.6.25):
export FIRMWARE_INSTALL_DIR="/lib/firmware" wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 tar xjf broadcom-wl-4.150.10.5.tar.bz2 cd broadcom-wl-4.150.10.5/driver sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta_mimo.o
Nun könnt ihr das Modul laden:
modprobe b43
Dann ist die WLAN-Karte als wlanx (z.B. wlan0) ansprechbar und im Prinzip genauso konfigurierbar wie im Gentoo Handbook beschrieben.
Dieser Treiber funktioniert auch wunderbar mit Kismet und anderen Progs mit denen ich Probleme hatte.
Tolle Anleitung und FAQ zum Treiber
Anleitung im Gentoo-Forum
Auf die allgemeine Konfiguration von WLAN wird hier nicht nocheinmal genau eingegangen, dazu gibt es das Gentoo Handbook bzw. das [http://de.gentoo-wiki.com/Wireless_Konfiguration
[Bearbeiten] Option 2: Benutzung des Windows-Treibers mit ndiswrapper
Ndiswrapper kann normal installiert werden (AMD64-Benutzer: erst demaskieren):
emerge ndiswrapper
Dazu müssen natürlich die compilierten Kernel-Sources in /usr/src/linux liegen. Nachdem ndiswrapper compiliert wurde, müssen wir erstmal den 32-bit Windows-Treiber von HP herunterladen:
wget -c ftp://ftp.hp.com/pub/softpaq/sp34001-34500/sp34152.exe
Danach wird der Treiber mit cabextract entpackt:
cabextract sp34152.exe
Dazu muss das Programm cabextract natürlich installiert sein.
Solltet ihr die 64-bit Variante des Notebooks haben, ladet euch den 64-bit Treiber herunter und unzipt diesen:
#nur für 64-bit Version!!! wget -c ftp://ftp.support.acer-euro.com/notebook/aspire_3010/driver/xp64/80211g.zip
Nun kann der Windows-Treiber mit
ndiswrapper -i bcmwl5.inf
installiert werden. Nach einem
modprobe ndiswrapper
erhaltet ihr eine Schnittstelle (wlan0 oder ethx) und euer WLAN sollte nun einsatzbereit sein. Die extrahierten Windows-Treiber können wieder gelöscht werden.
Das WLAN kann nun wie im Gentoo Handbook beschrieben eingerichtet werden. Wireless-Wiki].
[Bearbeiten] Sound
Um den Sound zum Klingen zu bringen benutzt man ALSA (Advanced Linux Sound Architecture). Dazu gibt es zwei Wege:
1. man benutzt die ALSA Treiber des Kernels (einfacher & schneller)
2. man benutzt externe ALSA Module aus dem ALSA-Treiber Package (Update auf neuere ALSA-Version schneller möglich)
Jeder kann frei entscheiden, welchen Weg er gehen möchte. Für Anfänger und Menschen mit wenig Zeit ist sicher die erste Variante die günstigere; für Sound-Experten die Letztere.
[Bearbeiten] Option 1: Benutzung der Kernel-Treiber
Hier kurz die entsprechende Kernel-Konfiguration. Die OSS APIs sind optional aber empfehlenswert, um Legacy-Anwendungen Zugriff auf die Sound-Hardware zu gewähren.
| Linux Kernel Configuration: Kernel Configuration |
Loadable module support --->
[*] Enable loadable module support
Device Drivers --->
Sound --->
<M> Sound card Support
Advanced Linux Sound Architecture --->
<*> Advanced Linux Sound Architecture
<*> Sequencer support
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] OSS Sequencer API
PCI devices --->
<*> ATI IXP AC97 Controller
<M> ATI IXP Modem
Open Sound System --->
< > Open Sound System (DEPRECATED)
|
Weiter geht es mit der Installationen der alsa-utils:
#emerge alsa-utils
Sofern das modul snd-atiixp-modem nicht geladen ist, leuchtet sogar die Mute-LED auf, wenn ihr den Sound gemutet habt!
Damit Lautstärkeeinstellungen beim Reboot erhalten bleiben, gibt man nun noch folgenden Befehl ein:
#rc-update add alsasound default
Fertig!
[Bearbeiten] Option 2: Benutzung von externen ALSA-Modulen
Als erstes muß man den Kernel richtig einrichten.
| Linux Kernel Configuration: Kernel Configuration |
Loadable module support --->
[*] Enable loadable module support
Device Drivers --->
Sound --->
<M> Sound card Support
Advanced Linux Sound Architecture --->
< > Advanced Linux Sound Architecture
Open Sound System --->
< > Open Sound System (DEPRECATED)
|
Wie man sieht, soll hier nur der Sound Card Support, jedoch nicht die Unterstützung für ALSA ausgewählt werden. Die Kernel Treiber und die Treiber aus dem externen ALSA Package treten sonst in Konflikt!
Nun muß man noch in der make.conf die richtige Soundkarte eintragen. Es handelt sich um eine ATIIXP.
| Datei: /etc/make.conf |
... ALSA_CARDS="atiixp" |
Durch diesen Eintrag weiß gentoo nun, für welche Soundkarte die ALSA Treiber zu installieren sind.
Jetzt noch das emerge:
#emerge alsa-lib alsa-driver alsa-oss alsa-utils
und eine etc-update (betrifft die Datei /etc/modules.d/alsa):
#etc-update
Die Datei /etc/modules.d/alsa sollte dann ungefähr diesen Inhalt haben:
# Alsa 0.9.X kernel modules' configuration file. # $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf # ALSA portion alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore ## ## IMPORTANT: ## You need to customise this section for your specific sound card(s) ## and then run `update-modules' command. ## Read alsa-driver's INSTALL file in /usr/share/doc for more info. ## ## ALSA portion ## alias snd-card-0 snd-interwave ## alias snd-card-1 snd-ens1371 ## OSS/Free portion ## alias sound-slot-0 snd-card-0 ## alias sound-slot-1 snd-card-1 ## # OSS/Free portion - card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss ## OSS/Free portion - card #2 ## alias sound-service-1-0 snd-mixer-oss ## alias sound-service-1-3 snd-pcm-oss ## alias sound-service-1-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/midi snd-seq-oss # Set this to the correct number of cards. options snd cards_limit=1
Jetzt noch die Nacharbeiten:
#modules-update -f
Wenn das nicht geht, dann
#modules-update force
Nun noch ALSA während des Bootens starten
#rc-update add alsasound default
Und zum testen das ALSA gleich starten
#/etc/init.d/alsasound start
Meistens ist der Sound per default ausgeschaltet. Mit dem Befehl alsamixer kann man die benötigeten Kanäle anschalten und verstärken:
#alsamixer
[Bearbeiten] Kartenlesegerät
Seit Kernel 2.6.17 befinden sich im Kernel-Tree Treiber für den integrierten SD/MMC Kartenleser. Um SD/MMC-Karten lesen zu können, müssen folgende Optionen in der Kernel-Config aktiviert sein:
| Linux Kernel Configuration: TI PCIxx21 FlashMedia Controller unter Linux 2.6.17 |
Device Drivers ---> MMC/SD Card support --> <M> MMC support <M> MMC block device driver # jetzt kommt der neue sdhci-Treiber <M> Secure Digital Host Controller Interface support |
Nun den Kernel compilieren, die Module installieren und rebooten. Natürlich kann man die Treiber auch eincompilieren. Damit hätten wir den ersten Schritt gepackt ;).
Jetzt können die Module geladen werden:
modprobe mmc_core modprobe sdhci modprobe mmc_block
Bis hierhin scheint alles logisch, aber entscheidend ist folgender Befehl nach dem Laden der Module:
setpci -s 02:04.3 4c=0x22
Die 02:04.3 steht hierbei für die PCI-ID des Gerätes "Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller". Prüft bitte mit lspci vorher nach, ob das wirklich auch die ID eures Kartenlesers ist!
Will man setpci nicht nach jedem Reboot erneut eingeben, schreibt man die Zeile einfach in die Datei /etc/conf.d/local.start (Wenn man sich nicht sicher ist, ob der Dienst 'local' beim booten gestartet wird, überprüft man es mit 'rc-update -s'. Wenn nicht dann mit 'rc-update add local default' hinzufügen)
Wenn ihr nun eine SD/MMC-Karte in das Lesegerät steckt, entsteht ein neues Gerät, nämlich /dev/mmcblk0p1. Dieses Gerät kann wie gewohnt gemountet werden.
Dementsprechend könnt ihr das Gerät nun noch in die fstab eintragen.
Wenn ihr KDE >=3.5 benutzt, erscheint bei jedem Einstecken einer SD/MMC-Karte eine Meldung über ein neues Gerät und ein schickes SD-Karten-Icon dazu.
[Bearbeiten] Powermanagement
Für den mobilen Betrieb sind vor allem lange Laufzeiten gewünscht. Um die zu erreichen, sollte man den Laptop so konfigurieren, daß er im Batteriebetrieb so wenig wie möglich unnötig Energie verbraucht. Eine hervorragende Beschreibung wie man das anstellt, findet man im Gentoo Power Management Wiki.
Aus meiner Sicht kristallisieren sich folgende vier Dinge heraus, die man auf wenig Energieverbrauch tunen kann:
1. Prozessor
2. Monitor
3. Festplatte
4. Suspend Modi
Ich werde hier nicht alles haarklein beschreiben, dafür ist das oben genannte Wiki zuständig. Nur ein paar kurze Anmerkungen zu Besonderheiten dieses Laptop.
[Bearbeiten] Prozessor
Hardwareseitig ist der Laptop so eingestellt, daß der Prozessor im Batteriebetrieb "nur" maximal auf 1,6 GHz statt den maximal möglichen 1,8 GHz läuft. Damit hat HP schonmal einen Teil der Arbeit für uns abgenommen. Nun muß der Prozessor nur noch so eingestellt werde, daß er standardmäßig auf 800 MHz läuft und nur bei starker Belastung in den zweiten Gang schaltet. Natürlich wäre es auch möglich den Rechner im mobilen Betrieb nur auf 800 Mhz zu takten.
Zuerst sollte der Kernel richtig konfiguriert sein. Er sollte so wie in diesem Artikel weiter oben unter Kernelkonfiguration angegeben ist, eingestellt sein.
Dabei ist dieser Teil wichtig:
| Linux Kernel Configuration: HP Compaq NX6125 Kernel 2.6.15-gentoo-r1 |
CPU Frequency scaling --->
[*] CPU Frequency scaling
Default CPUFreq governor (userspace)
<*> 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
<*> AMD Opteron/Athlon64 PowerNow!
|
Default CPUFreq governor sollte auf userspace stehen, damit man das Verhalten nachträglich mit userspace tools beeinflussen kann. So ein Werkzeug ist cpufreqd das man mittels
#emerge cpufreqd
installieren sollte. Die im Power Management Wiki beschrieben Beeinflussung des CPU Freuenzverhaltens mit Hilfe von /etc/cpufreqd.conf funktioniert so nicht. Man sollte einfach beim Start des Systems das Freuenzverhalten auf ondemand stellen. Dazu nimmt man sich die Datei /etc/conf.d/local.start und ergänzt die folgende Zeile
| Datei: /etc/conf.d/local.start |
... cpufreq-set -g ondemand |
Beim nächsten Neustart sollte automatisch das CPU Verhalten ondemand sein, sprich es wird nur dann hoch geschalten, wenn es nötig ist.
Noch ein Hinweis: Wenn man wünscht, im mobilen Bereich nur mit 800 MHz den Rechner laufen zu lassen, dann sollte man ein kleines Skript verfassen, das beim Übergang ins Runlevel battery (siehe Power Management Wiki) cpufreq-set -g powersave ausführt.
[Bearbeiten] LCD
Hier gibt es zwei Möglichkeiten Energie zu sparen:
1. Bildschirm bei nicht Benutzung abschalten
2. im Batteriebetrieb den Bildschirm dimmen
Ersten Punkt kann man, wie im Powermanagement Wiki beschrieben mittels den Optionen "BlankTime", "StandbyTime", "SuspendTime" und "OffTime" erreichen, die man in die xorg.conf einträgt.
Der einfachere und gleichzeitig problematische Punkt ist der zweite. Hardwareseitig läßt sich die Helligkeit (brightness) über die Tasten Fn+F9 bzw. Fn+F10 regeln.
Das funktioniert mit dem fglrx-Treiber nur im Terminal, also dort wo kein XServer gestartet ist. Auch beim Batteribetrieb wird hardwareseitig die dunkelste Stufe eingestellt, aber wieder nur unter dem Terminal.
Glücklicherweise wird beim Wechsel auf X11 diese Helligkeitsanpassung übernommen, d.h. man sollte folgendes probieren:
1. mit Strg+Alt+F1 auf die erste Konsole wechseln
2. die Helligkeit ändern
3. mit Strg+Alt+F7 zurück zur XSession
Jetzt sollte sich unter X11 auch die Helligkeit geändert haben.
Durch etwas rumspielen mit dem XServer hab ich auch noch einen anderen Weg gefunden:
1. man trägt in /etc/X11/xorg.conf die Zeile Option "UseInternalAGPGART" "off" unter der Section "Device" ein (bzw. ändert ihn auf diesen Wert)
2. XServer neustarten
Jetzt sollte sich die Helligkeit auch unter der XSession mit der Funktionstaste ändern lassen.
Wenn man jedoch auf 3D Beschleunigung verzichten kann klappt das out-of-the-box mit dem "radeon" Treiber.
[Bearbeiten] Suspend Modi
Bei einem Laptop ist es durchaus wichtig, dass Suspend2Disk (TuxOnIce) und Suspend2Ram funktionieren. Glücklicherweise ist das bei aktuellen Kerneln und Suspend-Versionen der Fall.
|
Bei Verwendung des fglrx-Treibers darf auf gar keinen Fall der Radeon-Framebuffer benutzt werden. Selbst der VESA-Framebuffer bringt oft Probleme, weshalb von der Kombination von Framebuffer und proprietären AMD/ATI-Treiber abgeraten wird. Das trifft besonders auf die Kombination TuxOnIce und fglrx zu! |
Sollten Probleme bei der Konfiguration auftreten, kann man in einer älteren Version dieses Artikels eventuell weitere Hinweise zur Konfiguration finden.
[Bearbeiten] Suspend to Ram
Suspend2Ram funktioniert beim nx6125 mit Xorg >=7.1 sofort. Man sollte natürlich darauf achten, dass man ein aktuelles hibernate-script und einen aktuellen Kernel verwendet. Wer den proprietären ATI-Treiber für die Grafikkarte nutzt, sollte außerdem sicherstellen, dass die Treiber nicht zu alt sind (>=8.35.5 empfohlen).
Folgende Zeilen sollten standardmäßig in der Suspend2Ram-Konfigurationsdatei stehen:
| Datei: /etc/hibernate/ram.conf |
TryMethod ususpend-ram.conf TryMethod sysfs-ram.conf |
Das war es schon. Ein simples
hibernate-ram
als root sollte den Laptop nun in den Schlafzustand versetzen.
[Bearbeiten] Suspend to Disk
[Bearbeiten] Einfaches Kernel-Suspend
Um das einfache Suspend to Disk aus dem Kernel zu benutzen bedarf es keiner weiteren Konfiguration. Die entsprechende Option muss lediglich im Kernel aktiviert werden:
| Linux Kernel Configuration: Kernel Suspend |
Power management options (ACPI, APM) ---> <*> Software Suspend # Hier kann man seine swap-Partition angeben (/dev/hda2) Default resume partition |
Ein
echo disk >> /sys/power/state
veranlasst nun den suspend.
[Bearbeiten] TuxOnIce
TuxOnIce bringt gegenüber dem normalen Kernel suspend viele Vorteile. Um diese nutzen zu können, muss man entweder seine aktuellen Kernel-Quellen patchen oder man nutzt die tuxonice-sources im Portage-Tree:
echo "sys-kernel/tuxonice-sources" >> /etc/portage/package.keywords emerge tuxonice-sources
Danach muss man TuxOnIce noch im Kernel aktivieren:
| Linux Kernel Configuration: TuxOnIce Kernel |
Power management options (ACPI, APM) --->
[*] Suspend to RAM and standby
[*] Hibernation (aka 'suspend to disk')
# Hier kann man seine swap-Partition angeben
(/dev/hda2) Default resume partition
<*> Enhanced Hibernation (TuxOnIce) --->
<*> Swap Allocator
<*> Compression support
[*] Replace swsusp by default
[*] Checksum pageset2
# Nun müssen wir noch den Kompressor auswählen Cryptographic API ---> <*> LZF compression algorithm |
TuxOnIce funktioniert mit dem freien Radeon-Treiber sofort.
Bei Verwendung des proprietären ATI-Treibers (fglrx) muss zusätzlich folgende Zeile in die Suspend2Disk-Konfigurationsdatei eingetragen werden:
| Datei: /etc/hibernate/suspend2.conf |
|
ProcSetting extra_pages_allowance 7000 |
Nun sollte auch hier ein
hibernate
als root den Laptop in den Tiefschlaf versetzen.
[Bearbeiten] Kleinigkeiten
[Bearbeiten] Multimediatasten
Die meisten Multimediatasten werden erkannt. Lediglich die Info-, Präsentations- und Batterytaste bleiben unerkannt. Das kann man ändern, indem man in die /etc/conf.d/local.start folgende Zeilen hinzufügt:
| Datei: /etc/conf.d/local.start |
setkeycodes e059 180 setkeycodes e008 181 setkeycodes e009 182 |
Natürlich muss man auch sicherstellen, dass "local" beim Systemstart gestartet wird:
rc-update add local default
Nach einem Neustart sollten nun alle Tasten von X erkannt werden. Damit X diese auch verwenden kann, benötigen wir eine angepasste xmodmap. Das Programm xmodmap sollte standardmäßig schon installiert sein, ansonsten tut es das gewohnte:
emerge xmodmap
Die $HOME/.xmodmap sollte nun diese Zeilen beinhalten (keine Kommentare oder freie Zeilen!):
| Datei: $HOME/.xmodmap |
keycode 251 = XF86VendorHome keycode 137 = XF86ScreenSaver keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 223 = XF86Standby keycode 138 = XF86TaskPane |
Damit die Datei auch bei jedem Start von X per xmodmap geladen wird, muss in die $HOME/.bash_profile nun noch folgender Befehl hinzugefügt werden:
| Datei: $HOME/.bash_profile |
xmodmap .xmodmap |
Das wars, eure Multimediatasten sollten sich nun einfach über Programme wie zum Beispiel khotkeys (im Kontrollzentrum) einrichten lassen. Wie ihr die Tasten letztendlich belegt, ist eure Entscheidung und wird hier deshalb nicht näher beschrieben. Nur noch ein Wort zu den Lautstärketasten:
Unter KDE gibt es eine wunderschöne OSD-Lautstärkeanzeige, wenn die Lauter/Leiser/Mute-Taste gedrückt wird. Dieser tolle Lautstärkebalken wird automatisch angezeigt, wenn das Programm kmilo installiert ist und der entsprechende KDE-Dienst gestartet wurde:
emerge kmilo
Kmilo fängt automatisch die XF86AudioLowerVolume, F86AudioRaiseVolume und XF86AudioMute Tasten ab und führt das entsprechende Ereignis aus, ohne manuell dcop-Einstellungen machen zu müssen. Aus diesem Grund empfielt sich die hier beschriebene manuelle Einrichtung der Multimediatasten mittels xmodmap und hat gegenüber xbindkeys viele Vorteile.
Eine sehr detaillierte Beschreibung zum Thema Multimediatasten findet ihr im englischsprachigen MultimediaKey Wiki.
[Bearbeiten] Touchpad
Das Touchpad funktioniert standardmäßig ohne Probleme, jedoch der Scrollbereich läßt sich nicht nutzen. Mit dem Gentoo Touchpad Wiki kann man auch diesen einrichten und nutzen.
[Bearbeiten] Thermofühler
Die Temperatur lässt sich normalerwese bequem per acpi auslesen:
cat /proc/acpi/thermal_zone/TZx/temperature
Wer aber aus irgendeinem Grund auch lm_sensors benutzen möchte, muss in den Kernel folgende Module einbauen (oder eincompilieren):
i2c_piix4, adm1021 und k8temp
Nachdem diese Module geladen sind, kann man die Temperatur auch per
sensors
auslesen.
|
Das Laden (bzw. eincompilieren) dieser Module führt zu einem erhöten Energieverbrauch (bis zu 1,5 Watt zusätzlich). Die Benutzung von lm_sensors wird deshalb nicht empfohlen. |
[Bearbeiten] Probleme
- Die Helligkeit läßt sich nur mit einem Trick mit dem fglrx Treiber ändern (Wechsel auf VirtualTerminal, Helligkeit ändern, zurück zum X-Server wechseln).
- Mit dem radeon-Treiber gibt es dieses Problem nicht.
- Mit Kernel 2.6.25 wird der Akku relativ schnell leer. Abhilfe schafft 2.6.26 (zur Zeit noch als rc).
[Bearbeiten] Externe Links
- Diese Installationsanleitung ist im TuxMobil Linux Laptop und Notebook Installationsverzeichnis gelistet.
