systemd lircd.service Problem nach Upgrade von 15.3 nach 15.4

Hinweis: In dem Thema systemd lircd.service Problem nach Upgrade von 15.3 nach 15.4 gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hi all!

    Ich habe vor zwei Wochen mein openSuse von 15.3 nach 15.4 "ge-updated".
    Nach dem Update ging mein LIRCD Service nicht mehr.
    Ich benutze einen FTDI USB Adapter als LIRC hardware.

    Das Starten des LIRCD via systemctl (re)start lircd funktioniert ohne Problem:

    Sobald ich einen client attache (z.B. irw), faellt der Lirc Service in eine Endlos-Fehlerscheife...auch nach dem Stoppen des Clients laeuft die Endlosschleife weiter:

    Code
    Oct 24 09:11:55.475139 atom lircd: Error: unable to open FTDI device (usb_open() failed)
    Oct 24 09:11:55.975273 atom lircd: Error: unable to open FTDI device (usb_open() failed)
    Oct 24 09:11:56.228472 atom lircd: Info: removed client
    Oct 24 09:11:56.475412 atom lircd: Error: unable to open FTDI device (usb_open() failed)
    Oct 24 09:11:56.975551 atom lircd: Error: unable to open FTDI device (usb_open() failed)

    Ich habe dann mal mit strace angeschaut, was der lircd daemon macht:

    Code
    recvmsg(9, {msg_namelen=128}, 0)        = -1 EAGAIN (Resource temporarily unavailable)
    openat(AT_FDCWD, "/dev/bus/usb/002/003", O_RDWR|O_CLOEXEC) = -1 EPERM (Operation not permitted)
    stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2298, ...}) = 0
    write(5, "Oct 24 09:13:46.692533 atom lirc"..., 89) = 89
    clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=500000000}, NULL) = 0

    Dann habe ich die permission vom USB device zum Testen auf 0777 gesetzt:

    Code
     crwxrwxrwx+ 1 root root 189, 130 Oct 23 20:40 /dev/bus/usb/002/003

    Keine Verbesserung!?


    AppArmor ist auf meinem System abgeschaltet.

    Ich habe zum Testen eine udev rule mit 0666 eingefuegt:

    Code
    SUBSYSTEM=="usb"       , ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="0777"

    Alles keine Verbesserung!?


    Dann habe ich den /usr/sbin/lircd von der Shell aus gestartet...und siehe da...geht einwandfrei 8)

    Langer Prolog...nun endlich meine Frage:


    "What the heck" blockiert den LIRCD Zugriff auf das FTDI-USB Device...aber nur wenn ich den lircd als system.service starte!?

    Vielleicht hat einer der Admin Profis hier im Forum eine Idee bzw. einen Tipp. Mein bescheidenes Wissen ueber LInux Systemadministration ist erschoepft :(  

    ...have fun...
    Michi

    Einmal editiert, zuletzt von michi1911 ()

    Für den Inhalt des Beitrages 302218 haftet ausdrücklich der jeweilige Autor: michi1911

  • Kommentiere mal in lird.service die folgenden Zeilen mit "Protect..." aus und restartet lircd.service.

    Zumindest bei mir konnte ich damit lircd wieder zum Laufen bringen.

    Hinweis: Das Auskommentieren entfernt alle eingeführten Schutzmaßnahmen des systemd Dienstes lircd.


    Für den Inhalt des Beitrages 302222 haftet ausdrücklich der jeweilige Autor: Kieltux

  • Kommentiere mal in lird.service die folgenden Zeilen mit "Protect..." aus und restartet lircd.service.

    Wow...beim ersten schnellen Test sieht's gut aus!
    Muss ich mir mal genauer anschauen...speziell das "added automatically".

    Vielen Dank...habe mir schon einen Wolf gesucht.
    Da muss man drauf kommen.


    ...have fun...

    Michi

    Einmal editiert, zuletzt von michi1911 ()

    Für den Inhalt des Beitrages 302224 haftet ausdrücklich der jeweilige Autor: michi1911

  • Ich habe die selbe Ausgangslage wie der TE außer, dass AppArmor bei mir an ist. Durch die Lösung aus Post #3 konnte ich zumindest das Problem mit dem "Error: unable to open FTDI device (usb_open() failed) " beheben. Allerdings bekomme ich in irw nach wie vor keine codes angezeigt, auch dann nicht, wenn ich den lirc-daemon manuell als root starte und dann ebenfalls als root irw aufrufe. Die Hardware selbst funktioniert, da ich mit irrecord die Fernbedienung anlernen kann und mit "mode2 --driver ftdi --device serial=FTDI-Chip-Seriennummer"

    auch spaces und pulses bekomme.


    Jetzt habe ich keine Idee mehr woran es noch liegen könnte. Vor dem Upgrade von openSUSE 15.3 auf 15.4 lief lirc, irw, irexec usw. einwandfrei und es wurde an der Konfiguration nichts geändert.


    lircd.service


    lirc_options.conf


    Ausgabe:

    Code
    linux-amd64:/home/user # lircd -n
    lircd-0.10.1[1000]: Info: lircd:  Opening log, level: Info
    lircd-0.10.1[1000]: Notice: Running as user lirc
    lircd-0.10.1[1000]: Info: Using remote: Pinnacle_300i.
    lircd-0.10.1[1000]: Info: Using remote: Hauppauge_350.
    lircd-0.10.1[1000]: Info: Using remote: hauppauge.
    lircd-0.10.1[1000]: Notice: lircd(ftdi) ready, using /var/run/lirc/lircd
    lircd-0.10.1[1000]: Notice: accepted new client on /var/run/lirc/lircd  # << irw auf zweitem root-terminal gestartet
    lircd-0.10.1[1000]: Info: Initializing FTDI: serial=FTDI-Chip-Seriennummer

    Für den Inhalt des Beitrages 304609 haftet ausdrücklich der jeweilige Autor: el-sahef

  • el-sahef


    Damit geschlossen

  • Alero

    Hat das Thema geschlossen.