KEY_SLEEP fährt Rechner in den Standby

  • Hallo,

    ich bastle derzeit gerade an der Umstellung meines VDR von Xubuntu 14.04 auf 18.04. Beim Konfigurieren der Fernbedienung ist mir aufgefallen, dass der Rechner bei der Taste "KEY_SLEEP" in den Standby (Suspend2RAM) fährt und wenn man erneut drückt, dieser wieder hochfährt (SSH Verbindung bleibt sogar bestehen, wenn man nicht zu lange wartet). Empfänger ist ein serieller Atric.

    Kann mir jemand kurz erklären, welchen genauen Weg der Tastendruck nunmehr geht (udev legt fest, dass systemd auf den event reagieren soll?)?

    Hat es mit /lib/udev/rules.d/70-power-switch.rules zu tun? Aber wo ist festgelegt, dass KEY_SLEEP und nicht KEY_NUMERIC_1 den events auslöst?!

    Marcus

    My VDRs:

    Display Spoiler

    1: J4105-ITX Board mit 120W PicoPSU, Antec Fusion V2, Sony LCD-TV, TBS DVB-S2 6981, PCTV 292e mit DVB-T/T2
    2
    :
    C2D E7500, Zotac ITX GF9300-I-E, Medion Digitainer mit Futaba MDM166a Display, Dyon Live 24 TV, Hauppauge WinTV 5525HD (DVB-S2/C)
    3: J4105-ITX Board mit 90W PicoPSU, SilverStone SUGO SG05, Megtron LCD 240x128, Samsung LCD-TV, DVB-S2 CINE S2 V5.5, PCTV 292e mit DVB-C

    4. AMD X2 4850e, Asus M3N78-VM, EIZO Flexscan L565 17" TFT, DVB-S2 TT-3200, DVB-C Cinergy 1200
    5. AMD Athlon64 3500+, FUJITSU SIEMENS ESPRIMO E5625, GF8200, DVB-S2 TT S2-1600

    6. derzeit ungenutzt: Atom N330, Zotac IonTX-F-E

    OS: Xubuntu 18.04 mit VDR-Paketen (VDR 2.4.0) vom yaVDR-PPA, I965 bzw. NV 340.108

  • In der Vorkonfiguration wird nach der Installation von lircd neben der lircd.service (und lircd.socket) auch eine lircd-uinput.service gestartet, die die Tastendrücke auf einem virtuellen Kernel Input Device (über uinput) weiterreicht (und gerne mal prellende Tasten generiert).

    Wenn du beim Atric über das serial_ir Modul gehst und dann keinen Dienst wie eventlircd hast, der sich das Gerät exklusiv greift, hast du ebenfalls ein Kernel Input Device, dessen Tastendrücke an den Desktop weitergeleitet werden.

    KEY_SLEEP ist die gängige Taste auf Tastaturen, die für den Standby genutzt wird. Bei xfce dürfte der xfce-power-manager dafür verantwortlich sein auf diese Taste zu reagieren.

    Wenn der VDR über den Lirc-Sockel die Tastendrücke bezieht, würde ich die lircd-uinput.service maskieren, damit die nicht ungewollt dazwischen funkt:

    systemctl mask --now lircd-uinput.service

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Rechner fährt er auch ohne lircd-uinput herunter - und ich bin nicht grafisch eingeloggt, d.h. xfce läuft nicht. Bei inputlirc habe ich es gut feststellen können - mit "grab" Option fährt nichts herunter. Ohne schon.

    Es reicht serial_ir geladen zu haben. Wo ist quasi KEY_SLEEP verdrahtet...

    My VDRs:

    Display Spoiler

    1: J4105-ITX Board mit 120W PicoPSU, Antec Fusion V2, Sony LCD-TV, TBS DVB-S2 6981, PCTV 292e mit DVB-T/T2
    2
    :
    C2D E7500, Zotac ITX GF9300-I-E, Medion Digitainer mit Futaba MDM166a Display, Dyon Live 24 TV, Hauppauge WinTV 5525HD (DVB-S2/C)
    3: J4105-ITX Board mit 90W PicoPSU, SilverStone SUGO SG05, Megtron LCD 240x128, Samsung LCD-TV, DVB-S2 CINE S2 V5.5, PCTV 292e mit DVB-C

    4. AMD X2 4850e, Asus M3N78-VM, EIZO Flexscan L565 17" TFT, DVB-S2 TT-3200, DVB-C Cinergy 1200
    5. AMD Athlon64 3500+, FUJITSU SIEMENS ESPRIMO E5625, GF8200, DVB-S2 TT S2-1600

    6. derzeit ungenutzt: Atom N330, Zotac IonTX-F-E

    OS: Xubuntu 18.04 mit VDR-Paketen (VDR 2.4.0) vom yaVDR-PPA, I965 bzw. NV 340.108

  • und ich bin nicht grafisch eingeloggt, d.h. xfce läuft nicht.

    Läuft da ein Login-Manager wie lightdm oder GDM, der auf die Taste reagieren kann?

    Ansonsten könntest du versuchen das generell über die /etc/systemd/sleep.conf abzudrehen - z.B. mal versuchen AllowSuspend=no zu setzen und dann den Rechner neu zu starten.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe den "Actionhandler" ausfindig gemacht - nachdem ich von inputdev auf lirc-only umgestellt habe und lircd-uinput.service abgestellt habe ("umasked") - war das Verhalten weg. D.h. lircd-uinput.service muss das ganze schon einmal weiter reichen.

    Jetzt weiss ich wo ich genauer suchen muss...

    EDIT: nein, passt auch nicht. Weiter suchen...

    My VDRs:

    Display Spoiler

    1: J4105-ITX Board mit 120W PicoPSU, Antec Fusion V2, Sony LCD-TV, TBS DVB-S2 6981, PCTV 292e mit DVB-T/T2
    2
    :
    C2D E7500, Zotac ITX GF9300-I-E, Medion Digitainer mit Futaba MDM166a Display, Dyon Live 24 TV, Hauppauge WinTV 5525HD (DVB-S2/C)
    3: J4105-ITX Board mit 90W PicoPSU, SilverStone SUGO SG05, Megtron LCD 240x128, Samsung LCD-TV, DVB-S2 CINE S2 V5.5, PCTV 292e mit DVB-C

    4. AMD X2 4850e, Asus M3N78-VM, EIZO Flexscan L565 17" TFT, DVB-S2 TT-3200, DVB-C Cinergy 1200
    5. AMD Athlon64 3500+, FUJITSU SIEMENS ESPRIMO E5625, GF8200, DVB-S2 TT S2-1600

    6. derzeit ungenutzt: Atom N330, Zotac IonTX-F-E

    OS: Xubuntu 18.04 mit VDR-Paketen (VDR 2.4.0) vom yaVDR-PPA, I965 bzw. NV 340.108

    Edited once, last by dad401 (March 3, 2019 at 4:15 PM).

  • Nochmal von vorn:

    Laufen tut nicht viel:

    Display Spoiler

    PID TTY STAT TIME COMMAND

    1 ? Ss 0:07 /sbin/init splash

    2 ? S 0:00 [kthreadd]

    3 ? I< 0:00 [rcu_gp]

    4 ? I< 0:00 [rcu_par_gp]

    6 ? I< 0:00 [kworker/0:0H]

    8 ? I< 0:00 [mm_percpu_wq]

    9 ? S 0:00 [ksoftirqd/0]

    10 ? I 0:00 [rcu_sched]

    11 ? I 0:00 [rcu_bh]

    12 ? S 0:00 [migration/0]

    13 ? S 0:00 [watchdog/0]

    14 ? S 0:00 [cpuhp/0]

    15 ? S 0:00 [cpuhp/1]

    16 ? S 0:00 [watchdog/1]

    17 ? S 0:00 [migration/1]

    18 ? S 0:00 [ksoftirqd/1]

    20 ? I< 0:00 [kworker/1:0H-kb]

    21 ? S 0:00 [kdevtmpfs]

    22 ? I< 0:00 [netns]

    23 ? S 0:00 [rcu_tasks_kthre]

    24 ? S 0:00 [kauditd]

    28 ? S 0:00 [khungtaskd]

    29 ? S 0:00 [oom_reaper]

    30 ? I< 0:00 [writeback]

    31 ? S 0:00 [kcompactd0]

    32 ? SN 0:00 [ksmd]

    33 ? SN 0:00 [khugepaged]

    34 ? I< 0:00 [crypto]

    35 ? I< 0:00 [kintegrityd]

    36 ? I< 0:00 [kblockd]

    37 ? I< 0:00 [ata_sff]

    38 ? I< 0:00 [md]

    39 ? I< 0:00 [edac-poller]

    40 ? I< 0:00 [devfreq_wq]

    41 ? S 0:00 [watchdogd]

    43 ? S 0:00 [kswapd0]

    44 ? I< 0:00 [kworker/u13:0]

    45 ? S 0:00 [ecryptfs-kthrea]

    90 ? I< 0:00 [kthrotld]

    91 ? I< 0:00 [acpi_thermal_pm]

    96 ? I< 0:00 [ipv6_addrconf]

    105 ? I< 0:00 [kstrp]

    122 ? I< 0:00 [charger_manager]

    172 ? S 0:00 [scsi_eh_0]

    173 ? I< 0:00 [scsi_tmf_0]

    175 ? S 0:00 [scsi_eh_1]

    176 ? I< 0:00 [scsi_tmf_1]

    177 ? S 0:00 [scsi_eh_2]

    179 ? I< 0:00 [scsi_tmf_2]

    180 ? S 0:00 [scsi_eh_3]

    181 ? I< 0:00 [scsi_tmf_3]

    182 ? S 0:00 [scsi_eh_4]

    183 ? I< 0:00 [scsi_tmf_4]

    184 ? S 0:00 [scsi_eh_5]

    185 ? I< 0:00 [scsi_tmf_5]

    186 ? S 0:00 [scsi_eh_6]

    188 ? I< 0:00 [scsi_tmf_6]

    189 ? S 0:00 [scsi_eh_7]

    190 ? I< 0:00 [scsi_tmf_7]

    191 ? I 0:00 [kworker/u12:3-e]

    195 ? I 0:00 [kworker/u12:7-e]

    199 ? I< 0:00 [kworker/1:1H-kb]

    203 ? S 0:00 [scsi_eh_8]

    204 ? I< 0:00 [scsi_tmf_8]

    205 ? S 0:00 [usb-storage]

    233 ? S 0:00 [jbd2/sda1-8]

    234 ? I< 0:00 [ext4-rsv-conver]

    271 ? S<s 0:00 /lib/systemd/systemd-journald

    292 ? Ss 0:00 /lib/systemd/systemd-udevd

    293 ? I< 0:00 [kworker/0:1H-kb]

    431 ? S 0:00 [rc1]

    438 ? S 0:00 [kdvb-ca-1:0]

    449 ? S 0:00 [jbd2/sda4-8]

    451 ? I< 0:00 [ext4-rsv-conver]

    576 ? S 0:00 [jbd2/sdb4-8]

    577 ? I< 0:00 [ext4-rsv-conver]

    665 ? Ssl 0:00 /usr/sbin/irqbalance --foreground

    666 ? Ssl 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers

    669 ? Ss 0:00 /usr/sbin/acpid

    677 ? Ss 0:00 /usr/sbin/cron -f

    686 ? Ss 0:00 /lib/systemd/systemd-logind

    709 ? Ss 0:00 /usr/sbin/vsftpd /etc/vsftpd.conf

    710 ? Ss 0:00 /usr/sbin/sshd -D

    784 tty1 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux

    821 ? Rs 0:00 sshd: root@pts/0

    823 ? Ss 0:00 /lib/systemd/systemd --user

    824 ? S 0:00 (sd-pam)

    968 pts/0 Ss 0:00 -bash

    1039 ? I 0:00 [kworker/1:7-eve]

    1229 ? I 0:00 [kworker/0:1-eve]

    1232 ? I 0:00 [kworker/u12:0-e]

    1279 ? I 0:00 [kworker/0:2-eve]

    1287 ? I 0:00 [kworker/1:0-eve]

    1290 ? I 0:00 [kworker/u12:1-e]

    1327 ? I 0:00 [kworker/0:0-eve]

    1334 ? Ss 0:00 /usr/sbin/lircd --nodaemon

    1335 ? Z 0:00 [sh] <defunct>

    1337 ? I 0:00 [kworker/0:3-eve]

    1351 ? I 0:00 [kworker/u12:2-e]

    1352 ? I 0:00 [kworker/u12:4-e]

    1353 ? I 0:00 [kworker/u12:5-e]

    1354 ? I 0:00 [kworker/u12:6-e]

    1355 ? I 0:00 [kworker/u12:8-e]

    1356 ? I 0:00 [kworker/u12:9-e]

    1357 ? I 0:00 [kworker/u12:10-]

    1358 ? I 0:00 [kworker/u12:11-]

    1359 ? I 0:00 [kworker/u12:12-]

    1360 ? I 0:00 [kworker/u12:13-]

    1361 ? I 0:00 [kworker/u12:14-]

    1362 ? I 0:00 [kworker/u12:15-]

    1363 ? I 0:00 [kworker/u12:16-]

    1364 ? I 0:00 [kworker/u12:17-]

    1365 ? I 0:00 [kworker/u12:18-]

    1366 ? I 0:00 [kworker/u12:19-]

    1367 ? I 0:00 [kworker/u12:20-]

    1368 ? I 0:00 [kworker/u12:21-]

    1369 ? I 0:00 [kworker/u12:22-]

    1370 ? I 0:00 [kworker/u12:23-]

    1371 ? I 0:00 [kworker/u12:24-]

    1372 ? I 0:00 [kworker/u12:25-]

    1373 ? I 0:00 [kworker/u12:26-]

    1374 ? I 0:00 [kworker/u12:27-]

    1375 ? I 0:00 [kworker/u12:28-]

    1376 ? I 0:00 [kworker/u12:29-]

    1377 ? I 0:00 [kworker/u12:30-]

    1378 ? I 0:00 [kworker/u12:31-]

    1379 ? I 0:00 [kworker/u12:32-]

    1380 ? I 0:00 [kworker/u12:33-]

    1381 ? I 0:00 [kworker/u12:34-]

    1382 ? I 0:00 [kworker/u12:35-]

    1383 ? I 0:00 [kworker/u12:36-]

    1384 ? I 0:00 [kworker/u12:37-]

    1385 ? I 0:00 [kworker/u12:38-]

    1386 ? I 0:00 [kworker/u12:39-]

    1387 ? I 0:00 [kworker/u12:40-]

    1388 ? I 0:00 [kworker/u12:41-]

    1389 ? I 0:00 [kworker/u12:42-]

    1390 ? I 0:00 [kworker/u12:43-]

    1391 ? I 0:00 [kworker/u12:44-]

    1392 ? I 0:00 [kworker/u12:45-]

    1393 ? I 0:00 [kworker/u12:46-]

    1394 ? I 0:00 [kworker/u12:47-]

    1395 ? I 0:00 [kworker/u12:48-]

    1396 ? I 0:00 [kworker/u12:49-]

    1397 ? I 0:00 [kworker/u12:50-]

    1398 ? I 0:00 [kworker/u12:51-]

    1399 ? I 0:00 [kworker/u12:52-]

    1400 ? I 0:00 [kworker/u12:53-]

    1401 ? I 0:00 [kworker/u12:54-]

    1402 ? I 0:00 [kworker/u12:55-]

    1403 ? I 0:00 [kworker/u12:56-]

    1404 ? I 0:00 [kworker/u12:57-]

    1405 ? I 0:00 [kworker/u12:58-]

    1406 ? I 0:00 [kworker/u12:59-]

    1407 ? I 0:00 [kworker/u12:60-]

    1408 ? I 0:00 [kworker/u12:61-]

    1409 ? I 0:00 [kworker/u12:62-]

    1410 ? I 0:00 [kworker/u12:63-]

    1411 ? I 0:00 [kworker/u12:64-]

    1412 ? I 0:00 [kworker/u12:65-]

    1413 ? I 0:00 [kworker/u12:66-]

    1414 ? I 0:00 [kworker/u12:67-]

    1415 ? I 0:00 [kworker/u12:68-]

    1416 ? I 0:00 [kworker/u12:69-]

    1417 ? I 0:00 [kworker/u12:70-]

    1418 ? I 0:00 [kworker/u12:71-]

    1419 ? I 0:00 [kworker/u12:72-]

    1420 ? I 0:00 [kworker/u12:73-]

    1421 ? I 0:00 [kworker/u12:74-]

    1422 ? I 0:00 [kworker/u12:75-]

    1423 ? I 0:00 [kworker/u12:76-]

    1424 ? I 0:00 [kworker/u12:77]

    1425 ? I 0:00 [kworker/0:4-eve]

    1427 ? I 0:00 [kworker/1:1-eve]

    1431 ? I 0:00 [kworker/1:2]

    1435 ? I 0:00 [kworker/0:5-eve]

    1509 pts/0 R+ 0:00 ps x

    Sobald bei ir-keytable das Protokoll rc-6 für meine MCE-FB aktiviert ist, funktioniert das mit dem Abschalten.

    Ist dort nur lirc enthalten, erkennt das System auch keine Tasten (evtest).

    Systemd muss also auf /dev/input/event8 lauschen und sobald mit aktivierten Protokoll der KEY_SLEEP kommt, fährt das System herunter. Kann es sein, dass systemd generell alle events die es mitbekommt, auf KEY_SLEEP auswertet und reagiert? Kann man es dann auch nur generell abschalten (sleep.conf oder logind.conf)? Kann man systemd nicht sagen: bei /dev/input/event8 reagiere nicht!

    EDIT:

    man logind.conf beschreibt es m.E.:

    Also bleibt nur eine Frage: wo und wer tagt /dev/input/event8 mit "power-switch"?

    Anwort: /lib/udev/rules.d/70-power-switch.rules für ALLE event*

    Code
    SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_SWITCH}=="1", TAG+="power-switch"
    SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_KEY}=="1", TAG+="power-switch"

    Wenn ich hier irgendwie event8 ausklammern könnte, wäre mein Ziel erreicht...

    My VDRs:

    Display Spoiler

    1: J4105-ITX Board mit 120W PicoPSU, Antec Fusion V2, Sony LCD-TV, TBS DVB-S2 6981, PCTV 292e mit DVB-T/T2
    2
    :
    C2D E7500, Zotac ITX GF9300-I-E, Medion Digitainer mit Futaba MDM166a Display, Dyon Live 24 TV, Hauppauge WinTV 5525HD (DVB-S2/C)
    3: J4105-ITX Board mit 90W PicoPSU, SilverStone SUGO SG05, Megtron LCD 240x128, Samsung LCD-TV, DVB-S2 CINE S2 V5.5, PCTV 292e mit DVB-C

    4. AMD X2 4850e, Asus M3N78-VM, EIZO Flexscan L565 17" TFT, DVB-S2 TT-3200, DVB-C Cinergy 1200
    5. AMD Athlon64 3500+, FUJITSU SIEMENS ESPRIMO E5625, GF8200, DVB-S2 TT S2-1600

    6. derzeit ungenutzt: Atom N330, Zotac IonTX-F-E

    OS: Xubuntu 18.04 mit VDR-Paketen (VDR 2.4.0) vom yaVDR-PPA, I965 bzw. NV 340.108

    Edited 2 times, last by dad401 (March 3, 2019 at 4:43 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!