Power On bei ausgeschaltetem Rechner über die Fernbedienung sowie die Steuerung der Lüfert des Zalman HD160XT funktionieren!
Das Panle, welches im Gehäuse unter dem CD-Slot hinter den kleinen Tasten sitz besitzt einen USB-RS232 Chip.
In meinem System (CT VDR6) wird er als /dev/ttyUSB0 automatisch eingebunden.
Um diesen Chip ansprechen zu können, müssen zunächst die Schnittstellenparameter mit stty gesetzt werden. Bei mir funktioniert es so:
stty -F /dev/ttyUSB0 38400 -clocal -crtscts -hupcl -cstopb -parenb cs8 -ixon -ixoff raw
Dann kann man mit folgenden Befehlen die Controller, die sich hinter dem Chip verstecken, abfragen und programmieren:
echo -n -e "\0252" >/dev/ttyUSB0
echo -n -e "\0252" >/dev/ttyUSB0
Nachdem die 252 (Oktal!) zwei Mal gesandt wurde, antwortet das Board mit:
MZ5
Unter Win$ wird dies 10 Mal wiederholt. Ob es Sinn macht sei mal dahingestellt. Ich schicke die 252 vier mal an den Controller, damit kein Müll mehr die folgenden Befehle verhindert.
Folgende Befehle stehen zur Verfügung (alle Oktal!):
Lüfter1 setzten: 243 gefolgt von einem Wert zwischen 0 und 261
Lüfter2 setzten: 244 gefolgt von einem Wert zwischen 0 und 261
Power Taste auf ACPI setzen: 245 245 (Ja, der Befelt muss zwei mal sesandt werden!)
Tastenwiederholung einstellen: 255 255
Tastenwiederholung ausschalten: 254 254
Temperatursensoren lesen: 242
Der Controller antwortet mit: 373 temp1 374 temp2 während 26°C 260 entsprechen.
Nach dem Systemstart lasse ich mit folgendem Script die Lüfter einstellen:
# Hochfahrsript:
stty -F /dev/ttyUSB0 38400 -clocal -crtscts -hupcl -cstopb -parenb cs8 -ixon -ixoff raw
sleep 1
# Initialisieren
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
# ACPI Mode: A5 hex = 245 octal
echo -n -e "\0245" >/dev/ttyUSB0
sleep 1
echo -n -e "\0245" >/dev/ttyUSB0
sleep 1
# Lüfter auf Minimaldrehzahl
echo -n -e "\0243" >/dev/ttyUSB0
sleep 1
echo -n -e "\0070" >/dev/ttyUSB0
sleep 1
echo -n -e "\0244" >/dev/ttyUSB0
sleep 1
echo -n -e "\0100" >/dev/ttyUSB0
#Runterfahrscript:
stty -F /dev/ttyUSB0 38400 -clocal -crtscts -hupcl -cstopb -parenb cs8 -ixon -ixoff raw
sleep 1
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
echo -n -e "\0252" >/dev/ttyUSB0
sleep 1
echo -n -e "\0245" >/dev/ttyUSB0
sleep 1
echo -n -e "\0245" >/dev/ttyUSB0
sleep 1
stty -F /dev/ttyUSB0 0 -clocal -crtscts -hupcl -cstopb -parenb cs8 -ixon -ixoff raw
Die letzte Zeile ist extrem wichtig, weil sonst beim Runterfahren irgend ein Müll in die Schnittstelle geschrieben wird, die den Controller verwirrt. Der Rechner lässt sich dann nicht mehr über die Fernbedienung starten.
Man kann den Controller natürlich auch mit minicom connecten und dann sämtliche Befehle prüfen. In minicom muss man natürlich die Befehle als Dezimalzahlen senden. Also:
Sensoren lesen: 162
Lüfter 1 setzen: 163 gefolgt vom Stellwert
Lüfter 2 setzen: 164 gefolgt vom Stellwert
Power Taste -> ACPI: 165 165
Identifikation lesen: 170
Tastenwiederholung ausschalten: 172
Tastenwiederholung einschalten: 173
Wenn man an der Fernbedienung oder am Gehäuse Tasten drückt, kommen sie natürlich im Klartext in minicom an.
Die Konfiguration von minicom muss entsprechend angepasst werden:
E - Bps/Par/Bits : 38400 8N1
F - Hardware Flow Control : Nein
G - Software Flow Control : Nein
Keine Modem Initialisierung!!!!!!!
Kein Modem Reset!!!!!
Jetzt muss nur noch jemand das Ding in Lirc zum laufen bringen. Das sollte aber absolut kein Problem für die entsprechen Spezies sein. Ich verwende weiter meinen Hauppauge IR Empfänge, weil er die schönen bunten Tasten unterstützt.
So, das ist das Ergebnis von monatelangem suchen im Netz und tagelangem probieren sowie der unschätzbaren Hilfe von
Dr. Daniel Rolf http://www.danielrolf.com - Vielen Dank noch mal auf diesem Wege!