2009 Februar
2009 Februar

Was ein Embedded Controller ist, kann man ausführlich in der Wikipedia nachlesen. Kurz gesagt steuert er die vielen Sonder­funk­tionen heutiger Notebooks wie Battrie­l­adung, Lüfter, Tempe­ra­tur­sen­soren, usw. Der Zugriff auf diesen kleinen Copro­zessor ist jedoch unter Windows nicht gerade einfach. Viele Program­mierer nutzen daher Biblio­theken um direkt auf die Hardware zuzugreifen. Dies führt oft zu Fehler­mel­dungen im EventLog und anderen Problemen. Dies liegt daran, dass Windows eigentlich einen Treiber für diese Bausteine mitliefert. Dieser nennt sich acpiec.sys. Leider ist die Dokumen­tation zu diesem Treiber mehr als dürftig. Also habe ich mir gedacht, dass etwas reverse engineering nicht schaden kann. Das Ergebnis meiner Bemühungen ist eine DLL, welche den Zugriff auf den Ebedded Controller von Notebooks (zumindest auf meinem Thinkpad und einem Aspire One) unter Windows XP erlaubt.

Die Projekt­seite ist diesmal ausnahms­weise in englisch gehalten, da ich keine Lust habe zwei Webseiten zu pflegen. Ich habe jetzt einmal die Version 0.6 des Tools (hiermit lassen sich alle 256 Register des Controllers lesen und schreiben) sowie die Version 0.4 der DLL bereit­ge­stellt. Besonders inter­essier wäre ich an Berichten, ob das ganze auch unter Windows Vista (mit Adminis­trator rechten) funktio­niert. Wenn jemand das Tool auf einem anderen Notebook testen kann, bin ich ebenfalls an Feedback sehr inter­es­siert.

15.02.2009

Tags: