Arch Linux – LIRC Konfiguration (mceusb) seit systemd Umstellung

Vor ein paar Tagen hat mich Marius per Mail angeschrieben, dass er Probleme hat, LIRC auf Arch Linux mit systemd zum Laufen zu bekommen. Ach genau, da war ja was! 😉

/etc/lirc/hardware.conf nun /etc/conf.d/lircd.conf

# Parameters for lirc daemon
#
LIRC_DEVICE="/dev/lirc0"
LIRC_DRIVER="default"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE="/etc/lirc/lircd_mceusb.conf"

/etc/lirc/lircd.conf nun /etc/lirc/egal_was.conf (jeder beliebige Name)

Bei mir ist diese Datei mittlerweile nur noch ein Link.

ls -lsa /etc/lirc/
0 lrwxrwxrwx  1 root root   48 2012-11-05 23:52 lircd_mceusb.conf -> /usr/share/lirc/mceusb/lircd.conf.mceusb
# Link erstellen
ln -s /usr/share/lirc/mceusb/lircd.conf.mceusb /etc/lirc/lircd_mceusb.conf

lirc.service bearbeiten

Die originale Startdatei von systemd für LIRC muss angepasst werden, da sonst die lircd.conf nicht eingelesen wird. (Bugreport)

vi /usr/lib/systemd/system/lirc.service
[Unit]
Description=Linux Infrared Remote Control

[Service]
EnvironmentFile=/etc/conf.d/lircd.conf
ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
ExecStart=/usr/sbin/lircd -d $LIRC_DEVICE -P /run/lirc/lircd.pid -H $LIRC_DRIVER $LIRC_CONFIGFILE
Type=forking
PIDFile=/run/lirc/lircd.pid

[Install]
WantedBy=multi-user.target

StartUp Skript erstellen, ehemals rc.local

Damit nicht der Kernel die Eingaben der Fernbedienung bzw. des IR-Empfängers verarbeitet, sondern LIRC, muss noch ein zusätzlicher Befehl beim Starten ausgeführt werden. Früher haben wir diesen einfach in die rc.local gepackt, diese Arch Linux – LIRC Konfiguration (mceusb) seit systemd Umstellung weiterlesen

Linux – NVIDIA – kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM)

Lange Zeit habe ich das Problem vor mir hergeschoben, da ich einen Workaround (alter NVIDIA-Treiber 295.71) gefunden habe. Nun, nach der Arch Linux Umstellung von sysvinit auf systemd und der Einführung vom Kernel 3.6 führt nur ein sehr mühsamer Weg an dem neuen NVIDIA-Treiber 304.64 sowie 304.60304.51304.43304.37304.32302.17 (Stand: 8. November 2012) vorbei. Daher habe ich mich nun mit dem Problem intensivst auseinander gesetzt und eine Lösung gefunden!

NVIDIA Logo - Linux - NVIDIA - kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM)
NVIDIA Press Room

Problem: Nach einem Suspend to RAM wird kein Ton per HDMI ausgeben!

Vermutung: Es hat sehr wahrscheinlich mit der Einschaltreihenfolge (TV, AVR / Verstärker, Media-PC) zu tun. Diese Analyse möchte ich hier nun nicht weiter breit treten, da ihr sie im Arch Linux Forum findet.

Lösung: Glücklicherweise bin ich gestern ziemlich schnell auf einen Thread im VDR-Portal gestoßen. Dort lieferte mir steffen_b den perfekten Denkanstoß – xrandr ist das Zauberwort!

Um einen xrandr Befehl automatisch nach dem Suspend auszuführen, müssen wir ein Skript anlegen – eine sogenannte Hook. Jetzt kommt aber erschwerend hinzu, dass die meisten Distributionen pm-utils also pm-suspend für den Bereitschaftsmodus verwenden, Arch Linux in der aktuellsten Version (Stand: 8. November 2012) hingegen verwendet dank systemd nun systemctl suspend (systemd-suspend).

Das heißt, erstmal müssen wir herausfinden, wie unser System in den Bereitschaftsmodus, beim Auswählen von Bereitschaft oder Suspend, wechselt. Dazu führen wir folgenden Befehl aus:

journalctl -b -u systemd-suspend

Kommt nun Linux – NVIDIA – kein Sound / Ton nach Bereitschaftsmodus (S3 / Suspend to RAM) weiterlesen