Linux – Probleme nach dem Bereitschaftsmodus – Fernbedienung, Netzwerk und Sound funktionieren nicht

Da sich nun unsere Media-PCs mit der Fernbedienung (Remote Control) aus dem STR aufwecken lassen, lösen wir nun die Probleme, die mit dem Bereitschaftsmodus zu tun haben. Nach dem Suspend (Bereitschaft, S3, Suspend-to-RAM, STR) kommt es bei fast jeder Linux-Distribution, je nach Hardware, zu Problemen. Die häufigsten Probleme machen Netzwerkkarten und Soundkarten, in diesem speziellen Fall (Media-PC) auch die Fernbedienung bzw. der IR-Empfänger.

xbmc shutdown menu suspend 650x365 - Linux - Probleme nach dem Bereitschaftsmodus - Fernbedienung, Netzwerk und Sound funktionieren nicht

Wählt man im XBMC den Bereitschaftsmodus, so wird im Hintergrund pm-suspend (Inhalt von pm-utils) ausgeführt.

pm-utils steht für PowerManagement-Utils. Dieses Paket ist Bestandteil aller Ubuntu-Distributionen und wurde inzwischen zum Standard für den Wechsel in unterschiedliche Energiesparmodi. Aufgrund mehrerer Änderungen in den letzten Versionen des Pakets pm-utils ist nicht gewährleistet, dass alle hier genannten Pfade und Inhalte zu 100% auf jede der o.g. Ubuntu-Versionen passen. Die allermeisten Inhalte sind dennoch korrekt, allgemeingültig und in der aktuellen Ubuntu-Version zu finden.


Quelle: wiki.ubuntuusers.de – pm-utils

Netzwerk

Die meisten Probleme mit den Netzwerkkarten kann man lösen, wenn das Treiber-Modul vor dem Suspend entladen wird – beim Resume wird das Modul natürlich wieder geladen. Dieses Modul (in meinem Fall forcedeth) sollte in der /etc/pm/config.d/00sleep_module eingetragen werden.

vi /etc/pm/config.d/00sleep_module
SUSPEND_MODULES="$SUSPEND_MODULES forcedeth"

Welches Modul ihr verwendet, findet ihr mit diesem Befehl heraus. 

dmesg | grep -i ethernet
[ 21.779820] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
Sound

Unter Arch Linux kommt diese Hook automatisch beim Installieren von pm-utils bzw. ALSA mit.

Hooks sind pm-utils-Skripte, die bei SUSPEND- und RESUME-Vorgängen abgearbeitet werden.
Quelle: wiki.ubuntuusers.de – pm-utils

vi /etc/pm/sleep.d/90alsa
#!/bin/sh
#
# 90alsa: suspend/wakeup ALSA devices
case "$1" in
 hibernate|suspend)
 ;;
 thaw|resume)
  aplay -d 1 /dev/zero
 ;;
 *) exit $NA
 ;;
esac
Fernbedienung / IR-Empfänger / LIRC

Für diesen Fall habe ich mir eine eigene Hook erstellt. Wie man das tut, ist im UbuntuUsers-Wiki sehr gut beschrieben.

Manchmal, nach dem Bereitschaftsmodus funktionieren einige Tasten der Harmony nicht wie gewünscht (Kernel, nicht LIRC, verarbeitet die Befehle) oder sie funktioniert garnicht mehr (IR-Empfänger empfängt keine IR-Befehle).

vi /etc/pm/sleep.d/01lirc
#!/bin/bash
#
# 01lirc: suspend/wakeup LIRC
# by _nico - loggn.de
#
#############################
case "${1}" in
 suspend|hibernate)
  /etc/rc.d/lircd stop
 ;;
 resume|thaw)
  rmmod mceusb
  modprobe mceusb
  /etc/rc.d/lircd start
  echo lirc > /sys/class/rc/rc*/protocols
 ;;
esac

Kurze Erklärung: Vor dem Suspend wird der LIRC-Dienst beendet. Beim Aufwachen (Resume) wird mein IR-Treiber (mceusb) entladen und gleich wieder geladen. Danach wird der LIRC-Dienst gestartet und nicht der Kernel – sondern LIRC – soll die IR-Befehle der MCE-Fernbedienung verarbeiten.

Fazit

Seit über einer Woche habe ich keine Probleme mehr nach dem Bereitschaftsmodus, alles funktioniert einwandfrei und ich bin glücklich. 😉

Weiterführende Links
Linux – XBMC aus Bereitschaftsmodus per MCE-Fernbedienung aufwecken
HTPC – Media Center – Logitech Harmony reagiert träge unter Windows und Linux
Linux – LIRC – XBMC mit Logitech Harmony steuern – Lircmap.xml und Keyboard.xml
Arch Linux – LIRC Konfiguration mit MCE RC6 IR und Lircmap.xml für XBMC (Logitech Harmony)
Ubuntu (alle Versionen) – LIRC Konfiguration mit MCE RC6 IR605Q (147a:e03e) und Logitech Harmony

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

17 Gedanken zu „Linux – Probleme nach dem Bereitschaftsmodus – Fernbedienung, Netzwerk und Sound funktionieren nicht“

  1. Hallo Nico.
    Ein sehr schöner Blog, den du hier hast! Habe ihn zwar erst vorgestern entdeckt, aber bereits einiges an für mich Interessanten entdeckt.
    Eine Frage zum Thema: Wie kann ich herausfinden, welche Hardware das Problem verursacht? Die Syslogs sind für mich noch zu kryptisch. Wonach müsste ich suchen?
    Danke und Grüße
    Bastey

    1. Hi Bastey, meistens ist es spezielle Hardware wie TV-Karten, IR-Empfänger und so etwas – du musst halt Schritt für Schritt Fehlersuche betreiben (/var/log/messages, kernel und vor allem intuitiv).

      Was funktioniert denn nicht? Was für Hardware nutzt du?

      Gruß

      1. Ich habe mir vor zwei Wochen einen Foxconn NT-A3500 gekauft. Der funktioniert unter Xubuntu 11.10 inziwschen recht gut (auch mit suspend2ram). Hatte vorher Ubuntu 11.10 mit der Gnome-Shell und da stürzte der Computer kurz nach dem Aufwachen komplett ab. Daher die Frage. Vermtl. sollte ich mich auch mal an Arch trauen und mehr über das System lernen 🙂
        Danke und Gruß

      2. Vielleicht doch nochmal etwas genauer die Frage: Wonach müsste ich in den Logs suchen? Steht dann irgendwo: ERROR ? Bzw. wie sieht eine Fehler-Zeile aus? Danke und Gruß

        1. Hi, das kann sein – aber es muss nicht sein. Was stürzt ab? Der ganze Computer? Bootet er gleich neu? Vielleicht wird einfach nur kein Bild mehr angezeigt (Grafikkarte)? Du kannst zwar nichts sehen, aber vielleicht kannst du den PC noch pingen oder auch per SSH zugreifen. Dann gibt es auch noch die Logdatei /var/log/pm-suspend.log…

          Lies am Besten mal – wiki.ubuntuusers.de/pm-utils

          Viel Spaß
          Nico

  2. Interessanter Blog!

    Ich stosse auf der Suche nach einer Lösung des MCE Keyboard Problems mit XBMCbuntu immer weider auf Deine Seite. Du hast hier ja schon eine Lösung betreffend Harmony bereitgestellt. Ich suche nach einer Lösung zum Betrieb einer MCE Tastatur bzw. Harmony mit MCE Keyboard Profil. Bei deiner Lösung mit dem „SE“ Profil fehlen mir einfach zu viele Tasten im Profil. Ausserdem könnte man beim MCE Tastatur Profil einfach die keyboard.xml bearbeiten und die Tastenbelegung der normalen Tastatur verwenden.

    Ich habe gelesen, dass es möglich ist eine MCE Tastatur in Linux zu betreiben, krieg das aber einfach nicht hin. Ich nutzte die aktuelle XBMCbuntu Version 11.0 und möchte wie gesagt eine MCE Tastatur damit betreiben. Es schein einen MOD für Lirc zu geben, aber ich weiss nicht wie ich den installieren kann. Wenn Du Zeit und Lust hast würde es mich freuen, wenn Du Dich der Sache annehmen könntest.

    Infos bzw. den Mod findest du hier:

    1. Hi DanCooper, damit kenn ich mich nicht aus – Sorry!
      Aber auf Jon Davies seiner lirc-mod-mce Repo-Seite (Launchpad, dein Link) steht doch, wie man es installieren muss.

      Gruß Nico

      PS: Ab Ubuntu 12.04 sollte es Out-of-the-Box gehen. (For Precise onwards: do nothing – it should „just work“ – native support for the windows MCE keyboard is in the Linux kernel v3.1 and later which is expected to land with Ubuntu Precise Pangolin in April 2012.)

      1. Ja, funktioniert auch Out-of-the-Box bei 12.04, nur leider mit folgendem Fehler:
        Ich drücke auf der Harmony (MCE Keyboard Profil) ein Button, der wird dann endlos in Linux wiederholt bis ich ein Button auf der USB Tastatur drücke. Das unabhängig davon ob ich mit der FB auf den Sensor ziele oder nicht (die FB sendet den Befehl aber natürlich nur einmal und kurz).

        1. Hi DanCooper, welche LIRC-Module sind geladen? lirc_mceusb2 oder lirc_mceusb? Hast du beide?

          sudo lsmod | grep -i "lirc_"
          sudo find / -iname lirc_mceus*

          Gruß

  3. Hallo und Danke für Dein Bemühen =)

    Bei keinem der Befehle krieg ich ein Ergebniss oder Ausgabe im Terminal, aber:
    – es existiert kein Ordner „lirc“ unter /etc/
    – Befehl „sudo dpkg-reconfigure lirc“ gibt „Packet lirc nicht installiert“ zurück

    Lirc scheint also nicht installiert zu sein.
    So wie ich das verstanden habe ist lirce theoretisch mit dem neuen Kernel nicht mehr nötig (zumindest für MCE kompatible Geräte), da der Kernel den MCE Standard von Haus aus unterstützt.

    1. Okay DanCooper, was ist jetzt noch mal dein Problem?
      Dass die Taste, die du auf der Harmony drückst, immer wiederholt wird?

      Welches Modul wird dafür benutzt? mceusb? (sudo lsmod | grep -i mce)

      Du hast quasi eine MCE Tastatur und die Harmony mit „MCE Keyboard“ Profil angeschlossen/verbunden? Was passiert, wenn du die MCE Tastatur abziehst und nur die Harmony verwendest? Werden die Befehle dann auch unendliche Male wiederholt?

      Ich steuere die Harmony über das Kernel-Modul „mceusb“ an, schalte dann aber noch LIRC dazwischen – ich habe damit keine Probleme, nutze allerdings auch das „Media Center SE“ Profil.

      Gruß Nico

  4. Hallo.
    Super Siete erst mal !!!
    PROBLEM : FERNBEDIENUNG GEHT NICHT WENN XBMC ALS SESSION GESTARTET WIRD

    Ich benutze seit kurzem XBMC unter LinuxMint 10. Dort wird LXDE verwendet.
    Nun habe ich XBMC als session starten lassen. Die entsprechende /etc/xdg/lxdm/lxdm.conf angepasst, so das XBMC automatisch gestartet wird. Das funktionierte auch, aber leider funktioniert nun auf einmal meine Fernbedienung dann nicht mehr, aber das hat schon mal funktioniert! Wenn ich mich ein mal auslogge und wieder einlogge (egal ob LXDE oder XBMC) dann geht sie !
    Das letzte was ich gemacht habe war einige Tasten zu ändern und die Schrifftgröße in einem Skin zu ändern.

    Hier habe ich nun die Zeile „sudo /etc/init.d/lirc restart“ eingetragen, da es ja einen BUG gibt, so das LIRC zwar läuft, aber keine Tastencodes annimmt.

    /usr/bin/xbmc-standalone -> hier direkt am Anfang nach den ganzen #
    ~/.config/openbox/autostart.sh -> dort ist ein verweis auf ein Scipt mit lirc restart (war schon länger da drin)
    /etc/rc.local -> hier hatte ich zuerst einen verweis zu dem Script mit lirc restart, jetzt direkt den oben genannten Befehl

    Das alles hilft aber nichts ! Hat jemand eine Idee ???

    1. Hi Captain-DJ, ich vermute das XBMC zu schnell startet, bevor der LIRC-Dienst gestartet ist. Bau doch mal vor dem Start von XBMC ein „sleep 10“ oder so ein …

      In welcher Reihenfolge werden deine Skripts abgearbeitet? Wo steht was drin? (blicke durch deinen Kommentar nicht richtig durch^^)

      Gruß

      1. Also ich arbeite nur mit einem Script, das war und ist dieses lirc restart.
        XBMC wird als session gestartet, dort habe ich nur den Autologin eingeschaltet, so wie auch bei der LXDE session.
        Das was ich da oben aufgelistet habe, sind die Orte in denen ich dieses lirc restart noch mal eingefügt habe. Wenn LXDE startet wird z.B. die /etc/rc.local gestartet. Aber ist das auch so, wenn die XBMC session gestartet wird ?
        Durch die XBMC session habe ich weder taskmanager noch terminal, das ist etwas doof.

        Ich könnte jetzt natürlich ganz normal LXDE starten lassen und dann einfach XBMC. Aber da mein Laptop nicht gerade der neuste ist, kommt mir das mit der XBMC session ganz recht, das spart recourcen.

      2. Läuft !!!
        Anscheinend ist es wichtig, das LIRC neu gestartet wird, bevor XBMC geladen wird, deshalb konnte das alles nicht funktonieren, denn da es als session geladen wird, ist das wahrscheinlich das erste was so passiert.
        Nun habe ich in der „/usr/bin/xbmc-standalone“ einfach „sleep 10“ eingetragen, also wird xbmc dadurch etwas verzögert und nun läuft es !!!

        Danke für den Tipp !

  5. Tja, 10 Jahre zu spät …
    Da hab ich genau das Problem, daß mein Media-PC nach STR den TV-Tuner nicht mehr findet und ich hier so eine tolle Beschreibung finde.
    Ich muß dann als root
    ~# systemctl stop vdr
    ~# /opt/bin/mediaclient --start
    ~# systemctl start vdr

    absetzen. Beim Nachlesen zu pm-utils kam dann der große „Ätsch“ … heute ist systemd und da geht nix mehr mit den alten pm-utils.

    Mal sehen, ob ich irgendwie einen Automatismus hinkriege, der die drei Befehle automatisiert nach dem Aufwecken abschickt …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert