Archiv > Development
Windows Remote Control
clausmuus:
erst mal wäre wichtig zu wissen, ob es reicht inputlircd neu zu starten, ob der Treiber neu geladen werden muss, oder ob beides erforderlichist.
Also beim nächsten ausfall mal gezielt nur einen der Teile neu starten.
Das Automatisieren kommt dann später.
Claus
iwow:
Hallo,
ich habe die Ausfälle nun einige Zeit beobachtet. Ich konnte nicht alle Ausfälle untersuchen, da ich meiner Frau und meine beiden Kindern "nur" ein CTRL-ALT-F1 und dann reboot zumuten möchte. ;)
Die Ausfälle die ich beobachtet habe lassen sich wie folgt beschreiben:
a) Bild und Ton wird normal dargestellt, die Fernbedienung reagiert nicht. Mit CTRL-ALT-F1 in die Console gewechselt und mit "ps | grep input" überprüft, ob inputlirc noch läuft. Es war immer so, das inputlirc nicht mehr lief (in der message Datei war oben aufgeführte Fehlermeldung zu finden). Ein lsmod zeigt, das der Treiber mceusb noch da ist. Nach einem /etc/init.d/inputlirc start mit anschliessendem Umschalten auf die X-Console war das Problem behoben. VDR einschl. xbmc konnten danach einwandfrei bedient werden.
B) Bild steht bzw. es wird das MLD-Logo angezeigt. Fernbedienung funktioniert noch. Nach 2mal OK Taste auf FB drücken kommt auch das Bild/Ton wieder.
c) Bild steht bzw. es wird das MLD-Logo angezeigt. Fernnbedienung funktioniert nicht. Wenn ich dann das gleiche wie unter a) durchführe und dann 2mal OK drücke, bekomme ich auch ein Bild wieder.
d) Es ist genau einmal vorgekommen, das im Fall c) ein neustart von inputlirc nichts gebracht hat. Da die Kinder schnell etwas sehen wollten, konnte ich mir leider nicht die Zeit nehmen, erst den mceusb Treiber mit rmmod / modprobe neu zu laden.
Es liegt also sehr häufig daran, das inputlirc sich einfach beendet.
@Claus: Infos soweit OK?
Ich werde nun analog zu runvdr ein Script schreiben, das inputlirc automatisch neu startet, wenn sich inputlirc unerwartet beendet (nur wenn eine Datei /tmp/inputlirc_stop existiert, wird wirklich beendet, wie bei runvdr)
Das ist für mich aber nur ein Workaround. Ich werde wohl meine alten C Kenntnisse noch mal rauskramen und das inputlirc Programm so ändern, das es damit zurecht kommt, das ein Device "verschwindet" bzw. "hinzu kommen" kann.
Oder hat jemand noch eine andere Idee?
Gruß Wolfgang
MarMic:
puh absolut keinen plan dazu
vllt kannste ja mal inputlirc aufruf stracen und mitloggen... vllt finden wir dann raus warum es sich verabschiedet. strace findest du im config.devel addon.
greetz MarMic
p.s. haben andere leute im netz ähnliche probs??
clausmuus:
Ich denke das ist eher nen job für nen debugger :)
OK, ich werd's nicht debuggen. Aber nen script schreiben, dass automatisch inputlirc neu startet, das sollte ich hin bekommen.
Morgen gibt's ne neue Version.
Claus
iwow:
Hallo Claus,
warum bist du der Meinung, das man hier debuggen muss?
Für mich ist das Verhalten von inputlirc erklärbar:
Immer dann, wenn ein USB disconnect kommt, wird das event Device z.B. /dev/input/event2 ungültig.
Inputlirc reagiert darauf mit einem "exit (EX_OSERR))"
--- Code: ---if(read(evdev->fd, &event, sizeof event) != sizeof event) {
syslog(LOG_ERR, "Error processing event from %s: %sn", evdev->name, strerror(errno));
exit(EX_OSERR);
}
--- End code ---
Für mich stellt sich die Frage, warum ein disconnect kommt. Im Internet habe ältere Einträge (2007 / 2008) gefunden, das es damit zusammen hängen könnte, das der Kernel so konfiguriert ist, das autosuspend eingeschaltet ist:
Quelle 1
oder
Quelle 2
In der zweiten Quelle wird folgendes empfohlen
--- Code: ---1) As root open for editing the file "/etc/rc.local", e.g. by "sudo nano /etc/rc.local"
2) Add the following three lines before the last line (which should contain the text "exit 0" and must be kept like that).
echo -1 > /sys/module/usbcore/parameters/autosuspend
sleep 1
/usr/sbin/lsusb
3) Restart your machine
--- End code ---
Der Pfad (/sys/module...) scheint sich beim aktuellen Kernel geändert zu haben, aber laut
dieser Dokumentation ist es weiterhin möglich.
Meint Ihr es ist ein Versuch wert oder suche ich an der falschen Stelle?
Gruß Wolfgang
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version