Compaq HP nx6125

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Teil ist Artikel der Hardware Serie.
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

'Persönliche Werkzeuge