trotz Anleitung und patchen des Kernell bringe ich hdaps nicht zu laufen - bitte um Hilfe !

karlitos

New member
Registriert
5 Mai 2008
Beiträge
117
trotz Anleitung und patchen des Kernell bringe ich hdaps nicht zu laufen - bitte um Hilfe !

Hallo
Ich will hdaps, tp_smapi und am besten gleichzeitig auch phc zum laufen zu bringen. Dazu muss man das Kernel patchen und neu kompilieren, deswegen wollte ich am liebstan alles in einem Schritt zu machen.
Ich bin von dieser dieser Anleitung ausgegangen. Habe Linux-mint Elyssa (im Prinzip äquivalent zu Ubuntu 8.04 HH )Ich beschreibe hier kurz meine Schritte :

  1. die Pakete hdapsd und hdaps-utils instalieren :
    Code:
    sudo apt-get install hdapsd hdaps-utils
  2. die Packete build-essential und linux-source instalieren :
    Code:
    sudo apt-get install build-essential linux-source
  3. im Verzeichniss /usr/src lieget jetzt der Kernel-Quellcode. Entpacken in ein dafür angelegtes Verzeichniss :
    Code:
    cd ~/thinkpad
    tar -xvjf /usr/src/linux-source-2.6.*.tar.bz2
  4. die Datei config-2.6.* aus dem Verzeichniss /boot hineinkopieren :
    Code:
    cd ~/thinkpad/linux-source-2.6.*
    cp /boot/config-$(uname -r) .config
  5. Anlegen eines Vereichniss für die Patches anlegen und die benötigte Patches runterladen :
    Code:
    mkdir ~/thinkpad/patches
    cd ~/thinkpad/patches
    wget -c 'http://sourceforge.net/mailarchive/attachment.php?list_name=hdaps-devel&message_id=87hcjjedbn.fsf@denkblock.local&counter=2' -O disk-protect.patch
    wget -c 'http://sourceforge.net/mailarchive/attachment.php?list_name=hdaps-devel&message_id=87bq6l2ihm.fsf@denkblock.local&counter=2' -O adjust-blocked-counters.patch
    wget -c [url]http://phcpatches.googlecode.com/svn/trunk/acpi-cpufreq/patches/linux-phc-kernel-vanilla-2.6.24-rc1.patch[/url]
  6. Kernel patchen :
    Code:
    cd ~/thinkpad/linux-source-2.6.*
    patch -p1 -l < ~/thinkpad/patches/linux-phc*.patch
    patch -p1 -l < ~/thinkpad/patches/disk-protect.patch
    patch -p1 -l < ~/thinkpad/patches/adjust-blocked-counters.patch
  7. Ausführen von :

    Code:
    make oldconfig
  8. PHC Modul Kompilieren :
    Code:
    make prepare
    make scripts
    make M=./arch/x86/kernel/cpu/cpufreq
  9. Module instalieren :
    Code:
    sudo cp arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq
    echo tp_smapi | sudo tee -a /etc/modules
    echo hdaps_ec | sudo tee -a /etc/modules
  10. NeustartDas Problem ist, dass nach dem Neustart während des Bootvorgang folgende Meldung kommt:
    Not starting hdapsd: /sys/block/hda/queue/protect does not exist
    Das zeigt drauf, das deas Patch nicht korrekt instaliert wurde. Was mache ich bitte falsch ?
    PHC läuft in Gegensatz dazu 1A
    Noch ein Auszug aus

    Code:
    dmesg | more
    • [ 34.649307] tp_smapi 0.36 loading...
    • [ 34.649428] tp_smapi successfully loaded (smapi_port=0xb2).
    • [ 34.686870] hdaps: initial mode latch is 0x01
    • [ 34.686975] hdaps: setting ec_rate=250, filter_order=2
    • [ 34.687005] hdaps: fake_data_mode set to 0
    • [ 34.687231] hdaps: device successfully initialized.
    • [ 34.687290] input: ThinkPad HDAPS joystick emulation as /devices/platform/hdaps/input/input11
    • [ 34.714538] input: ThinkPad HDAPS accelerometer data as /devices/platform/hdaps/input/input12
    • [ 34.738396] hdaps: driver successfully loaded.
?( :cursing: ?( :cursing: ?( :cursing: ?( :cursing: ;( ;( ;(
 
Also ich habe diese Fehlermeldung auch, jedoch habe ich das nicht eingepatcht grossartig. also tp_smapi habe ich installiert mit hdaps unterstützung aber kein APS eingepatcht. Ubuntu hat ja auch einen eigenen hdaps treiber. Seit dem ich den von thinkwiki drüber gebügelt habe habe ich diesen fehler. Wenn ich den daemon deinstalliere ist der fehler weg.

Jedenfalls sucht der ja in ../hda/.., jedoch sind die neuen platten ja sda. Man kann soweit ich weiss diesen Pfad in einer config datei anpassen. Wo genau weiss ich leider auch nicht. Solltest du es rausfinden bitte _posten_ ich würde die Fehlermeldung gern los werden ;)
 
[quote='slinger',index.php?page=Thread&postID=418176#post418176]Jedenfalls sucht der ja in ../hda/.., jedoch sind die neuen platten ja sda. Man kann soweit ich weiss diesen Pfad in einer config datei anpassen. Wo genau weiss ich leider auch nicht. Solltest du es rausfinden bitte _posten_ ich würde die Fehlermeldung gern los werden ;)[/quote]Also mit :
Code:
sudo fdisk -l | grep ^Disk\ /dev/
kannst du die Bezeichnung deiner Platte herausfinden.
Und dann :
Code:
sudo gedit /etc/default/hdapsd
und DISK="..." dementsprechend anpassen. Die Fehlermeldung verschwindet dadurch aber nicht.
Die Fehlermeldung deutet drauf hin (so wit ich es durch googlen verstanden habe), dass hdaps nicht ordnungsgemäs funktioniert. Überall steht dazu : mann mus Kernell patchen. Das habe ich aber doch gemacht :pinch:
 
[quote='karlitos',index.php?page=Thread&postID=418229#post418229]. Das habe ich aber doch gemacht :pinch:[/quote]Wo denn? ;)

Du hast lediglich gepatcht und dann das PHC-Modul per make M=... erstellt. Aber nicht den Kernel neu kompiliert.Und das ist notwendig, damit der APS läuft.
Ab dem Schritt nach dem Einspielen der Patches hätte etwas in der Art kommen müssen:
Code:
make-kpkg clean  
make-kpkg --initrd --revision=meineeigeneVersion binary

Grüße
Daniel
 
Hallo Daniel
Prozessorspannung absenken[/url] ? Ich dachte da wurde der aktuelle Kernel rekompiliert oder sowas in der Art. Aber intuitiv ist mir klar, dass ich ein Fehler gemacht habe. Was heißt eigentlich
--revision=meineeigeneVersion binary
? Meinst du damit die Kernelversion ? Also sowas in der Art :
Code:
make-kpkg --initrd --revision=(uname -r) binary
?
 
Mit make oldconfig wird lediglich die vorhandene Kernelkonfiguration für den neuen Kernel übernommen. In dieser Config steht, welche Treiber in den Kernel geladen weden, ob fest integriert oder als Modul.

Bei der PHC-Integration wird lediglich das eine! Modul neu kompiliert, nämlich das Modul "acpi-cpufreq".

Mit dem Revisionsnamen ist gemeint, dass dieser frei gewählt werden kann, dieser bestimmt quasi den Zusatznamen, z.B. revision=hdaps01. Dann heißt das Image des Kernels "linux-image-2.6.26.1_hdpas01_amd64.deb". Dafür die Variable des laufenden Kernel (uname -r) zu nutzen ist daher keine gute Idee.

Grüße
Daniel
 
Hallo Daniel
Danke für deine Hilfe
In dieser Config steht, welche Treiber in den Kernel geladen weden, ob fest integriert oder als Modul. ...
Soll ich deswegen die Module tp_smapi und hdaps_ec gleich am Anfang installieren ?

Also zwischen den Schritten 6. und 7. noch
Code:
make-kpkg clean  
make-kpkg --initrd --revision=thinkpad binary
auszuführen und wie geht es dann weiter ?
 
Also zwischen den Schritten 6. und 7. noch
Nein, müsste nach Schritt 7 eingeflickt werden
Soll ich deswegen die Module tp_smapi und hdaps_ec gleich am Anfang installieren ?
Nein, kann ja nicht installiert werden, wenn der Kernel der benötigt ist, noch gar nicht da ist, oder? ;)



Der Übersicht halber nochmal komplett:

1+2 Pakete installieren /Dürfte selbstklärend sein, für den Befehl xconfig noch das Paket "libqt3-mt-dev" hinzufügen

3 Verzeichnisse anlegen /An sich in Ordnung, ich nutze immer das Verzeichnis /usr/src/... Da dort bereits die Sourcen liegen finde ich das aufgeräumter.

4 Config Datei kopieren /Wichtiger Schritt. Die Konfigurationsdaten eines Kernels werden als Vorlage für den neuen verwendet.

5 Patches herunterladen /selbstklärend

6 Kernel Patchen /selbstklärend

7 make oldconfig /Hier wird die "alte", vorher ins Arbeitsverzeichnis kopierte Config-Datei an den neuen Kernel angepasst, schließlich ändert sich ja auch mal der ein oder andere Treiber. Alternativ könnte man auch mit make defconfig eine Minimalkonfiguration erstellen.

8 make xconfig /Kernelkonfiguration anpassen an die eigenen Bedürfnisse, z.B. W-Lan aktivieren, Sound aktivieren...

9 make kpkg-clean /Aufräumen

10 make-kpkg --initrd --revision=thinkpad binary /Jetzt endlich wird der Kernel gebacken, kann je nach Anzahl der Module einige Stunden dauern

11 Kernel installieren /Geht per einfachem Doppelklickk auf das fertige deb-Paket

12 Neustarten und hoffen bei der Konfiguration nichts falsch gemacht zu haben, z.B. den SATA-Treiber vergessen :whistling:

Der Schritt mit PHC entfällt, da ja das Modul beim Kernel backen gleich mitproduziert wurde und auch entsprechend schon installiert ist.
Jetzt fehlt noch der tp_smapi Treiber um den Hdaps richtig nutzen zu können.
Hoffe alle Klarheiten beseitigt zu haben :rolleyes:

Grüße
Daniel
 
Hallo Daniel
Danke sehr, du bist echt der beste ! ;)
Ich werde es gleich mal ausprobieren. So weit ich es aber verstehe, ist der Schrit 8 obligatorisch, oder ? Oder gibt es irgendwelche algemeine Thinkpad-Tweaks wegen denen es sich lohnt die Konfiguraiton anzupassen ?
Ich habe z.B. den Prozessortyp angepasst und ein paar Aenderungen in der ACPI-Sektion getan. Ich Bevorzuge aber Stabilität vor irgendwelchen experimenten. Oder vieleicht täusche ich mich und man kan dadurch noch viel mehr Performance und Baterielaufzeit raushoen ? 8o

EDIT

Joa ... also nach
Code:
make kpkg-clean
bekomme ich folgende Fehlermeldung :
make: *** No rule to make target `kpkg-clean'. Stop.
Ich habe bischen gegoogelt und habe zus§tzlich noch die Packete : kernel-package und linux-headers-2.6.24-16-386 installiert. Ohne erfolg. Welche Anderen Packete werde ich noch vieleicht benoetigen ? (fakeroot vieleicht ?)
 
Hallo
Also : nachdem ich stundenlang das Forum und Think-wiki durchgeströbert habe, habe ich nach der Anleitung aus Thinkwiki ein Kernel erfolgreich kompilirert.
Sound geht Wlan ist nicht vorhanden. :cursing: Nach dem aAnmeldevorgang kommt vor dem Hintergund und der Gnome-Oberfläche ein hässliches graues Bildschrim , mit einem schwarzen Rechteck in der rechten oberen Ecke. Das war vorher nicht so.
Und wie kan ich jetzt testen ob hdaps läuft ?
Ich habe mit 2 Tools für das Gnome-Panel runtergeladen :
GNOME_HDAPS_StatusApplet
hdapsgl-applet

Das erste bringe ich unter keinem umständen zum laufen. Ich mache alle Schritte nach de ranleitung, trotzdem wird mir kein GNOME_HDAPS_StatusApplet im Gnome-Panel angeboten.
Das hdapsgl-applet konnte ich zwar kompilieren , es erscheint unter den Applets , aber wenn ich es zum Panel hinzufügen will, bekomme ich :
The panel encountered a problem while loading "OAFIID:GNOME_HDAPS_GLApplet"
Also für mehr als einer Woche Bemühung ist es echt ein tragisches Ergebniss. Irgendwie höre ich auf die Linux-Leute zu verstehen. Da gibt es eine Anleitung , man geht die Schritt für Schritt durch und am Ende hat man nichts gekonnt. :thumbdown:
 
Hast du ueberprueft ob die Firmware deiner Festplatte hdaps unterstuetzt?
 
Also PHC da hab ich mich auch ran gewagt und das lief ja Kinderleicht.

Aber ich weiss schon ganz genau warum ich hdaps nicht eingepatcht habe, obwohl ich ein bisschen Erfahrungen habe.

Am besten wäre nen fertiges deb Packet oder ne ausführliche Anleitung wie man das einpatcht und der ganze Rest danach genau so funktioniert wie vorher. Ich hoffe das du es noch hinkriegst und nicht total frustriert bist =)
 
[quote='emic',index.php?page=Thread&postID=419378#post419378]Hast du ueberprueft ob die Firmware deiner Festplatte hdaps unterstuetzt?[/quote]Also unter Windows lief es Wunderbar. Wie kann ich es testen ob es jetz Läuft wenn die Applets nicht gehen ?
Ich hoffe das du es noch hinkriegst und nicht total frustriert bist =)
Naja das ist halt die Sache.... Ich würde Linux ganz gerne benutzen , aber nicht mit zahlreichen Einschränkungen. Und ich bin weder absolut Ahnungslos (1/2 Informatiker in der Tat), weder fauloder ungeduldig. Aber Ich sitze dran über eine Woche lang und jeden Tag 3-4 Stunden macht jetzt 25-30 Stunden die ich da verloren habe. Und das Ergebniss ist eher schlechter als ja vorher (kein Wlan, graueß Screen am Anfang ...)
Ich weiß jetzt was ich hier höre : dran ist IBM schuld, weil die kein Linux im direkten Sinne unterstützen... :huh:
 
Hi, sorry, ich war die letzten Tage ohne I-Net-Zugang.
[quote='karlitos',index.php?page=Thread&postID=418775#post418775]Joa ... also nach
Code:
make kpkg-clean
bekomme ich folgende Fehlermeldung :
make: *** No rule to make target `kpkg-clean'. Stop.
[/quote]Das sagt schon alles :D Der Befehl wäre
Code:
make-kpkg clean
gewesen.


Wlan ist nicht vorhanden.
Deswegen ist auch der Befehl make xconfig nicht ganz überflüssig ;) Denn bei mir war unter WLAN-Devices der Treiber auch nicht ausgewählt.

Lösungsversuch 1:
Nachschauen ob die Treiber für die WLAN-Karte aktiviert sind, unter Device drivers -> Network device support -> Wieless LAN müsste bei Deinem Kartentyp ein Häckchen oder ein Punkt sein
Falls der Treiber nicht ausgewählt ist, musst Du Ihn anwählen und den Kernel erneut kompilieren.

Lösungsversuch 2:
Falls das Häckchen gesetzt ist, könnte es an der fehlenden Firmware liegen. (War bei mir der Fall) Dazu am besten per
Code:
dmesg | grep xyz
(xyz ist abhängig vom Kartentreiber. Z.B. bei Intel 4965 ist es der Treiber iwl4965)
prüfen ob eine Fehlermeldung ausgegeben wird. Bei mir war es etwa in dem Stil " Firmware not found"


Und wie kan ich jetzt testen ob hdaps läuft
Code:
tail -f /var/log/syslog
gibt dann bei leichter Bewegung des Notebooks in etwa das hier aus
Code:
Aug  9 17:09:09 xy kernel: [23208.506760] scsi_protect_queue(): head parked..
Aug  9 17:09:09 xy kernel: [23209.196832] scsi_unprotect_queue(): No pending I/O, re-enabling power management..


Und ja, den Frust kann ich verstehen, ging mir am Anfang auch so. Jedoch ist es aufgrund der Komplexität eben nicht ganz trivial einen Kernel zu kompilieren, der dann auch gut läuft 8o
Das mit dem Bildschirm kann ich leider nicht nachvollziehen, da ich hier eine Nvidia-Karte habe und das auf ein ATI-Treiber-Problem zurückführe, evtl auch aus versehen eine Fehlkonfiguration.

So, jetzt hoffe ich Dich den Problemlösungen etwas näher gebracht zu haben.

Grüße
Daniel
 
das ist wenn man der o.a. Anleitung mit Kernelcheck folgt wesentlich einfacher...
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben