SuSE auf HP Compaq nx6325

Erstellt am 10.12.2006

Einleitung

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones Auf dieser Seite möchte ich beschreiben, wie man auf sein HP Compaq nx6325 ein SuSE 10.1 installiert und die entsprechenden Konfigurationsschritte durchführt, damit z.B. Sound, ACPI oder WLAN funktioniert.

Bei diesem HowTo wird SuSE 10.1 verwendet, ältere Versionen sollten aber eigentlich ähnlich einzurichten gehen. Ich habe mich lediglich für SuSE 10.1 entschieden, da ich mir hier bessere Kompatibilität für ACPI erwarte (ich habe allerdings SuSE 10.0 noch nicht getestet).
Es handelt sich außerdem um die 64Bit-Version, da ich das gerne mal ausprobieren wollte. Für den Endanwender bringt das eigentlich sogar eher Nach- als Vorteile, aber mit WindowsVista wird es sicher bald auch z.B. Flash für Linux als 64Bit-Version geben.

Für SuSE10.2 habe ich hier auch schon eine kleine Seite geschrieben, die auch noch eine weitere interessante Möglichkeit anbietet, ohne DSDT die ACPI-Funktionen zum Leben zu erwecken (danke an MaikB): zum HowTo (2)

Die Seite ist in folgende Bereiche untergliedert:

Bevor man mit der Installation loslegt würde ich umbedingt anraten zum einen dieses HowTo erst komplett zu lesen. Manchmal drück ich mich etwas seltsam aus und man versteht es erst, wenn man die nächsten Zeilen auch schon gelesen hat. Außerdem befindet sich am Ende auch noch ein Bericht, der mir zugeschickt wurde und z.B. eine Lösung für die Multimediatasten anbietet. Zum anderen solltet ihr die Recovery-CDs/DVDs umbedingt erstellen. Denn bei HP wollte man wohl Geld sparen, denn eine Recovery-CD/DVD liegt nicht bei. Wenn ihr euer Windows zerlegt und keine CDs/DVDs erstellt habt, dann kommt ihr wahrscheinlich nicht umhin entweder HP zu belemmern oder sogar ein neues WinXP zu kaufen. Der Satz der Recovery-CDs besteht bei mir aus 13 ISOs (also gesamt 7GB). Bzw. aus 2 DVDs. Bisher hab ich die ISOs noch nicht gebrannt, werde ich aber bald tun.

Der nächste Schritt nach dem Erstellen der Recovery-CDs war bei mir die Recovery-Partition mit dem HP-Recover-Tool zu löschen! Bitte nicht per Hand über z.B. fdisk löschen, da die Partition ordnungsgemäß aus dem Recover-System von HP ausgetragen werden muss.

Und dann kann man auch schon die SuSE-DVD reinstecken und mit der Installation beginnen...

Weiterführende Links:
http://www.wolframschenck.de/nx6325.htm#sect3
http://www.andreas-kleisun.homepage.t-online.de/FC5_on_nx6325.html

Achtung: Aus aktuellem Anlass (12.12.2007)möchte ich hier auf eine Heise online - Newsticker-Meldung verweisen, die ein Sicherheitsproblem mit dem "HP Info Center" beschreibt. Dieses Sicherheitsproblem besteht zwar nur utner Windows, aber vielleicht interessiert es ja dennoch den ein oder anderen.

Installation

Nach dem Laden des DVD-Bootloaders schonmal vorsorglich die Sprache auswählen und die Auflösung auf 1024x768 einstellen. Diese Auflösung wird dann auch später für die Konsole verwendet.

Als nächstes kommt das Partitionieren: SuSE schlägt gleich die richtige größe für die SuSE-Partition vor - bzw. verkleinert die Windows-Partition richtig: bei mir auf etwa 25GB.
Ich hab daraufhin allerdings auf eigene Faust eine 1GB große Swap-, eine 25GB große Root- (/) und noch eine 6GB große Austauschpartition erstellt.
Danach alles andere einstellen, wie gewünscht und SuSE installieren lassen: Achtung ich möchte an dieser Stelle betonen, dass ich nicht für Schäden an der Windowspartition verantwortlicht gemacht werden möchte, die durch das Verkleinern der Windowspartition entstehen können. Jeder tut dies auf eigene Gefahr! Eigentlich passiert dabei nix, aber man muss sich ja absichern ;-)

Einrichten der Hardware

Jetzt wird es spannend: Es folgt die Einrichtung der Hardware. Als erstes kommt die

Soundkarte:

Die Soundkarte läuft nicht auf Anhieb, allerdings ist sie schnell eingerichtet. Zunächst müsst ihr ins Yast gehen und unter Hardware auf Sound klicken.
Im Folgenden Fenster die Soundkarte auswählen und auf Bearbeiten klicken:
Yast Soundkonfiguration
Danach gelangt man in das Menü in dem man dem Soundmodul einige Parameter übergeben kann. model muss auf hp gestellt werden und position_fix auf 1.
Modulparameter einstellen
Yast über den Weiter-Button beenden und nun die Soundkarte über z.B. kmix einrichten (das kann evtl. nicht funktionieren, dann muss das Soundsystem einmal über alsamixer in der Konsole "initialisiert" werden).

WLAN:

WLAN hab ich über ndiswrapper zum laufen bekommen und bin dabei dieser Anleitung gefolgt: http://nextgen.no-ip.org/~andrew/linux/ndiswrapper/ndiswrapperinfo.php
In kurzen Schritten erklärt:
ndiswrapper-Tarball besorgen und den Treiber (wenn man ein 64Bit-Linux installiert hat, dann den 64Bit Treiber downloaden!!!) besorgen. Den Treiber mit WinRAR entpacken (kA, ob es da auch noch andere Programme gibt, die eine .exe entpacken können).
Alle Dateien aus der Treiber.exe in einen Ordner in z.B. WinWLAN stecken...

# tar xzvf ndiswrapper-1.25.tar.gz
# cd ndiswrapper-1.25.tar.gz
# make install
# ndiswrapper -i ../WinWLAN/bcmwl5.inf

Dann noch schnell im Yast unter den Netzwerkgeräten ein neues Gerät hinzufügen, als Treiber 'ndiswrapper' einfügen und die restliche Konfigutation abschließen.
Jetzt sollte die Karte einsatzbereit sein.
Genau beschrieben ist es wie gesagt bei oberem Link! Die W-LAN-Karte funktioniert dann aber einwandfrei, konnte nach Netzen scannen und mich auch verbinden.

ACHTUNG! bei heise ist soeben (13.11.06) bekannt geworden, dass die Windows-Treiber für Broadcom Karten potentiell gefährdet sind. Mit einem einfachen Pufferüberlauf lässt sich beliebiger Code einspeisen und ausführen. Dies kann durch Ndiswrapper auf für Linux gefährlich sein. Näheres dazu auf heise news

ACPI und Fan:

Das größte Kopfzerbrechen bereitete die Lüftersteuerung, die nicht richtig funktionieren wollte. Der Lüfter sprang eigentlich nur an, wenn es schon im roten Bereich war und das BIOS die Steuerung übernahm. Dass das auf die Dauer nicht gut ist, ist wohl klar.
Viel suchen im Internet und vorallem probieren haben dann diese beiden Einstellungen ergeben:

> Im Yast unter System -> Konfiguration des Bootloaders den Standardabschnitt für SuSE editieren:
Bootloaderkonfiguration
Hier bei andere Kernel Parameter den Parameter acpi_os_name="Microsoft Windows NT" hinzufügen. Damit wird dem BIOS vorgegaukelt, dass das laufende Betriebssystem ein Windows sei und siehe da, beim nächsten reboot sind die Lüfter regelbar:

# echo 0 > /proc/acpi/fan/C352/state
# echo 3 > /proc/acpi/fan/C352/state

Mit dem ersten Kommando kann man den Lüfter einschalten, mit dem zweiten ausschalten.

Das ganze funktioniert aber noch nicht von alleine, da anscheinend der acpid nicht richtig arbeitet. Deswegen werden die Daten immer nur upgedatet, wenn man acpi -t aufruft.
Und damit ihr das nicht die ganze Zeit in die Konsole hacken müsst legt man am besten einen Cron-Job an, der jede Minute den Befehl ausführt:

# crontab /etc/crontab
(initialisierung für die Crontab von Root)
# export EDITOR=mcedit
# crontab -e

Unter SuSE 10.1 war Joe bei mir als Standardeditor eingestellt, ich denke aber, dass ihr mit dem mcedit besser zurecht kommt. Sobald ihr crontab -e ausgeführt habt könnt ihr die Cronjobs, die unter dem User root ausgeführt werden sollen editieren - die Datei sollte jetzt folgenden Inhalt bekommen:

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
#Temperaturueberwachung (menuetlich)
* * * * * test -e /proc/acpi && acpi -t &> /dev/null

Wenn ein Cronjob schon in dieser Datei steht diesen einfach mit einem # am Anfang der Zeile kommentieren, da dieser Cronjob nicht über die Crontab laufen sollte.
test -e /proc/acpi bewirkt, dass acpi -t nicht ausgeführt wird, wenn ihr das Linux z.B. mit acpi=off gebootet habt. Das gäbe sonst Probleme.

Im Internet kursieren außerdem noch Scripte alla

watch test -e /proc/acpi && acpi -t &> /dev/null & 

die man in die /etc/init.d/boot.local stecken soll. Das hatte ich zuerst gemacht, aber da dann acpi -t jede Sekunde ausgeführt wird funktioniert nach fünf Minuten die Lüftersteuerung garnicht mehr. Deswegen hab ich das ganze als Cronjob angelegt, da ein minütlicher Temperaturcheck völlig ausreicht.

Der letzte Clou, damit die Lüftersteuerung läuft ist dem System seine eigene DSDT zu erstellen und dem Kernel beim Booten zu übergeben. Die DSDTable ist sozusagen eine Beschreibung der Funktionen des BIOS und mittelt damit zwischen Kernel und BIOS. Wenn diese Tabelle sich nicht an die Standards hält, dann kann es zu Problemen kommen.

Inzwischen gibt es auf der Seite von HP ein BIOS-Update, nachdem die DSDT so aussieht, wie wenn man sie nach dem HowTo angepasst hat. Ich hatte deswegen meine initrd wieder ohne diese Tabelle erstellt. Das ging auch solange gut, wie der Rechner schon warm war. Heute geht der Lüfter wieder nicht, weshalb ich die DSDT nochmal erstellt habe. Mit der neuen DSDT funktionierte der Lüfter aber auch nicht mehr! Nur mit der von der alten BIOS-Version. Man kann das Update also durchführen, sollte sich aber die alte DSDT aufheben!
Produkseite von HP mit dem BIOS-Update

Ich habe nun nach diesem HowTo meine eigene DSDT erstellt und seither funktioniert alles reibungslos (der Cronjob muss allerdings nach wie vor ausgeführt werden; wenn man das BIOS--Update eingespielt hat braucht man an der Tabelle nix mehr zu ändern sondern kann sie gleich wieder kompilieren).

DSDT für Werksseitig installiertes BIOS und die DSDT für BIOS-Update hab ich jeweils hier gespeichert - funktionieren tut nur die vom Werkseitigen und per Hand angepassten BIOS, aber vielleicht interessiert euch die andere ja auch (z.B. um sie mal durch 'diff' zu jagen ;-)
Auf http://acpi.sourceforge.net gibt es eine weitere DSDT ( DSDT die angeblich auch die Heller/Dunkler-Funktion unterstützt). Hat aber bei mir nicht geklappt - hab also wieder meine eigene DSDT eingestellt.

Die Helligkeitseinstellung hängt offensichtlich mit dem Treiber zusammen: Wenn ich den ATI-Treiber nicht lade, dann kann ich auch unter X über die Funktionstasten die Helligkeit regulieren. Wenn der Treiber geladen ist, dann muss ich in die Konsole wechseln und kann dort dann die Helligkeit anpassen (die zum Glück dann auch für X übernommen wird).

Kartenleser:

Da ich das nicht unter SuSE 10.1 probieren kann (weil ja jetzt schon 10.2 drauf ist) verweise ich hier nur auf den 2. Teil des HowTos für SuSE10.2 wo genaueres zum Kartenleser steht. Aber ich bin mir eigentlich recht sicher, dass es auch unter 10.1 funktioniert.

Multimediatasten

Schließlich kommen wir noch zu den Multimediatasten. Hier konnte ich bisher nur die Tasten für Lauter, Leiser und Mute auslesen. Dies hab ich mit xbindkeys gemacht, da ich die Konfiguration im kcontrol nicht wirklich verstanden hatte.

Zunächst also mit dem Paketsystem eurer Wahlt (also smart, apt, yast-Paketquelle) das Paket xbindkeys installieren.
Dann muss das Programm einmal initalisiert werden:

$ xbindkeys --defaults > $HOME/.xbindkeysrc

Danach kann man mit xbindkeys -mk die Tasten einlesen - hier mal meine Config:

# Mute Taste
"dcop kmix Mixer0 toggleMute 0"
m:0x0 + c:160
NoSymbol

# Leiser Taste
"dcop kmix Mixer0 decreaseVolume 0"
m:0x0 + c:174
NoSymbol

# Lauter Taste
"dcop kmix Mixer0 increaseVolume 0"
m:0x0 + c:176
NoSymbol

Jetzt einfach noch eine Programm-Verknüpfung in ~/.kde/autostart und der Daemon wird bei jedem Start geladen. Damit das ganze funktioniert muss kmix laufen (ansonsten gibt es keinen Eintrag im DCOP-Server zum regeln der Lautstärke).

Funktionsliste

Und zu guter Letzt eine Übersicht, was nun funktioniert, was ich noch testen muss und was noch nicht geht:

Komponente Funktion Status
Sempron 3400+ Powernow funktioniert
512MB RAM --- funktioniert
Grafikkarte 3D / Composite funktioniert / Bildfehler
Soundkarte Aufnehmen, ausgeben funktioniert
LAN / WLAN --- funktioniert
DVD-Laufwerk brennen, lesen funktioniert
Touchpad Mauszeiger und Scrollfeld funktioniert
USB 3 Anschlüsse funktioniert
Multimedia Tasten Lauter, Leiser, Mute / WLAN, Präsentation, Info funktioniert / können nicht ausgelesen werden
Bildschirm heller dunkler funktioniert in der Konsole und unter X ohne den ATI-Treiber (fglrx) - mit fglrx kann man nichts verstellen.
Firewire 1 Anschluss nicht getestet
56k Modem Interneteinwahl nicht getestet (soll angeblich funktionieren)
Cardreader SD Karten lesen funktioniert - siehe HowTo Teil 2
ACPI Ladezustand / Lüfterregelung funktioniert / funktioniert nicht 100%ig
Fingerprintsensor Authentifikation funktioniert mit diesem HowTo

Abschließend lässt sich festhalten, dass ich dieses Notebook durchaus empfehlen kann. Das BIOS-Update bringt eigentlich nichts erkennbar neues, aber man kann es, durchaus einspielen (am System muss man danach jedenfalls nichts ändern). Ein weiteres Manko ist, dass man die Helligkeit des Displays nicht einstellen kann; vielleicht finde ich dafür noch eine Lösung.
Ansonsten ist die Verarbeitung ordentlich und der Akku hält mit gut 2,5 Stunden ziemlich lange (natürlich stark abhängig von der Belastung).

Mit diesen Worten hoffe ich, dass ich dem einen oder anderen weiterhelfen konnte und würde mich auch über einen Kommentar im Gästebuch freuen!

Kommentare

Da ich bereits einen sehr ausführlichen Bericht zu diesem Notebook in mein Guestbook bekommen hatte möchte ich hier gerne eventuelle Berichtigungen oder ergänzungen sammeln.

Auf dem zweiten HowTo für SuSE10.2 steht ebenfalls noch eine Mail, die mir von MaikB zugesandt wurde, die beschreibt, wie man die ACPI-Funktionen ohne DSDT zum Leben erwecken kann.

Bericht von "Thomas" Ursprünglich aus meinem Guestbook, ich habe es mal hier rein kopiert:

An dieser Stelle meine Erfahrungen in Stichworten.

  • OS: Suse Linux 10,1 64bit-Edition. Aktuelle Bugbereinigte "Reloadet"-Version. Erster Installationsversuch mußte wegen Überhitzung abgebrochen werden. Lüfter funktionierte nicht. Nach Reboot funktionierte der Lüfter aus unerfindlichen Gründen. Erneute Installation ohne Probleme.
  • Sound: Ohne Probleme
  • Kartenleser: Funktioniert nicht. Habe aber noch keine weiteren Schritte unternommen.
  • Tastatur: Sondertasten waren bis auf die Wlan-Taste tot. Umstellung der Tastatur in Yast auf die HP-Multimedia Tastatur (genaue Bezeichnung hab ich nicht im Kopf, meine Frau ist grade mit dem Laptop unterwegs). Lautsprechertasten funktionieren nun alle ohne weiteres Fummeln..
  • Modem: ungestestet
  • Firewire: ungetestet
  • Lüfter: Hab im Bios "Lüfter an während Netzbetrieb" eingestellt. Funktioniert. Für Akkubetrieb habe ich Deine Anleitung, den Eintrag in die Bootparameter übernommen. Funktioniert hier sporadisch. Hab irgendwo gelesen, daß dieses Problem mit dem Bios von HP zu tun hat und durch ein Upgrade gelöst werden kann. Hab mich aber bisher noch nicht weiter drum gekümmert, Vorerst läuft das Ding meistens unter Netzbetrieb. Komischerweise funktioniert der Lüfter unter Akkubetrieb zuverlässig, wenn das Laptop warm ist und man rebootet.
  • WLAN: Treiber wird mit ndiswrapper geladen. WLAN-Lämpchen leuchtet. Dennoch wird kein öffentliches Netzwerk gefunden. Da ich Zuhause kein WLAN habe, konnte ich das nur an der Uni testen. Der Linux-Crack aus dem Rechenzentrum berichtete von einem gleichartigen Problemen von HP-Rechnern mit Suse-Linux. Ich arbeite noch an Lösungen.
  • Helligkeitsregelung des Bildschirms über die Tasten funktioniert ohne Probleme.

So, das waren meine bisherigen Erfahrungen. Das Lüfterproblem ist nervig, da ich gerne eine sichere Lösung hätte, hier aber nichts zu 100 % sicher läuft und eher dem Zufall unterworfen ist. Aber ansonsten ist das Laptop sein Geld mehr als wert!

Viele Grüße

Thomas

An dieser Stelle vielen Dank an Thomas für seinen Bericht! Hat mich sehr gefreut und ich hoffe auch weitere "Entdeckungen" zu hören ;-).

Seitenanfang