[gelöst] WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
debianfanboy
Beiträge: 108
Registriert: 09.11.2013 21:42:35

[gelöst] WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von debianfanboy » 27.09.2019 16:41:18

Hallo,

habe auf der QNAP HS-210 Buster laufen und die Service Unit /usr/lib/systemd/system/wol-shutdown.service eingefügt:
(https://github.com/stapelberg/zkj-nas-t ... wn.service)

Code: Alles auswählen

# cat /usr/lib/systemd/system/wol-shutdown.service
[Unit]
Description=Enable Wake on LAN on shutdown
# Just for having the correct order when shutting down.
After=qcontrold.service
# Require eth0 to be present before trying to change WOL.
# not supported in systemd-44
#BindsTo=sys-subsystem-net-devices-eth0.device
Requires=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device
After=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ethtool -s eth0 wol d
ExecStart=/usr/sbin/qcontrol wol off
ExecStop=/sbin/ethtool -s eth0 wol g
ExecStop=/usr/sbin/qcontrol wol on
[Install]
WantedBy=multi-user.target
Allerdings kriege ich nur den Status failed nach dem Systemstart.

Code: Alles auswählen

# systemctl status wol-shutdown.service
● wol-shutdown.service - Enable Wake on LAN on shutdown
   Loaded: loaded (/lib/systemd/system/wol-shutdown.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-09-27 16:29:09 CEST; 9min ago
  Process: 303 ExecStart=/sbin/ethtool -s eth0 wol d (code=exited, status=0/SUCCESS)
  Process: 306 ExecStart=/usr/sbin/qcontrol wol off (code=exited, status=255/EXCEPTION)
 Main PID: 306 (code=exited, status=255/EXCEPTION)

Sep 27 16:29:09 snas systemd[1]: Starting Enable Wake on LAN on shutdown...
Sep 27 16:29:09 snas qcontrol[306]: Error connecting to socket: No such file or directory
Sep 27 16:29:09 snas systemd[1]: wol-shutdown.service: Main process exited, code=exited, status=255/EXCEPTION
Sep 27 16:29:09 snas systemd[1]: wol-shutdown.service: Failed with result 'exit-code'.
Sep 27 16:29:09 snas systemd[1]: Failed to start Enable Wake on LAN on shutdown.
Woran könnte das liegen?

Grüße

Nachtrag: Wenn ich es manuell (systemctl start wol-shutdown.service) starte, funktioniert es. Ich hab leider keinerlei Ansatz, bin mit meinem Latein am Ende.

Nachtrag 2: Auszug aus journalctl

Code: Alles auswählen

Sep 27 16:29:09 snas systemd[1]: Started qcontrold.
Sep 27 16:29:09 snas systemd[1]: Starting Enable Wake on LAN on shutdown...
Sep 27 16:29:09 snas systemd[1]: Started Daily Cleanup of Temporary Directories.
Sep 27 16:29:09 snas qcontrol[302]: qcontrol 0.5.6 daemon starting.
Sep 27 16:29:09 snas qcontrol[302]: Register evdev on /dev/input/by-path/platform-gpio_keys-event
Sep 27 16:29:09 snas qcontrol[302]: confdir: loading from /etc/qcontrol.d...
Sep 27 16:29:09 snas systemd[1]: Reached target System Time Synchronized.
Sep 27 16:29:09 snas qcontrol[302]: server already running
Sep 27 16:29:09 snas qcontrol[302]: Error accepting connection: Bad file descriptor
Sep 27 16:29:09 snas systemd[1]: Started Daily man-db regeneration.
Sep 27 16:29:09 snas systemd[1]: Started Daily apt download activities.
Sep 27 16:29:09 snas systemd[1]: Started Daily apt upgrade and clean activities.
Sep 27 16:29:09 snas systemd[1]: Started Daily rotation of log files.
Sep 27 16:29:09 snas systemd-logind[301]: New seat seat0.
Sep 27 16:29:09 snas systemd[1]: Reached target Timers.
Sep 27 16:29:09 snas systemd[1]: Started Raise network interfaces.
Sep 27 16:29:09 snas systemd[1]: qcontrold.service: Succeeded.
Sep 27 16:29:09 snas dbus-daemon[299]: [system] Successfully activated service 'org.freedesktop.systemd1'
Sep 27 16:29:09 snas qcontrol[306]: Error connecting to socket: No such file or directory
Sep 27 16:29:09 snas systemd[1]: Started qcontrold.
Sep 27 16:29:09 snas qcontrol[307]: qcontrol 0.5.6 daemon starting.
Sep 27 16:29:09 snas qcontrol[307]: Register evdev on /dev/input/by-path/platform-gpio_keys-event
Sep 27 16:29:09 snas qcontrol[307]: confdir: loading from /etc/qcontrol.d...
Sep 27 16:29:09 snas systemd[1]: Reached target Network.
Sep 27 16:29:09 snas systemd[1]: Starting Permit User Sessions...
Sep 27 16:29:09 snas systemd[1]: Starting OpenBSD Secure Shell server...
Sep 27 16:29:09 snas systemd[1]: wol-shutdown.service: Main process exited, code=exited, status=255/EXCEPTION
Sep 27 16:29:09 snas systemd[1]: wol-shutdown.service: Failed with result 'exit-code'.
Sep 27 16:29:09 snas systemd[1]: Failed to start Enable Wake on LAN on shutdown.
Zuletzt geändert von debianfanboy am 02.10.2019 09:54:10, insgesamt 1-mal geändert.

debianfanboy
Beiträge: 108
Registriert: 09.11.2013 21:42:35

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von debianfanboy » 28.09.2019 10:44:44

Hat niemand eine Idee? Ich habe noch das hier gefunden, aber verstehe es nicht:
https://lists.debian.org/debian-arm/201 ... 00059.html

debianfanboy
Beiträge: 108
Registriert: 09.11.2013 21:42:35

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von debianfanboy » 01.10.2019 19:56:12

Ich bekomme keine Lösung mit systemd hin. Ist es denn vielleicht sinnvoll einen cronjob anzulegen, der nach jedem Boot den wol-shutdown.service aufruft?

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von MSfree » 01.10.2019 22:56:03

debianfanboy hat geschrieben: ↑ zum Beitrag ↑
01.10.2019 19:56:12
Ich bekomme keine Lösung mit systemd hin.
Der Service wird doch aufgerufen! Es kommt aber ein Fehlerstatus zurück.
Hast du die beiden Befehle, die in deine Unit stehen, mal von Hand als Root in der Konsole ausgeführt?
Damit kann man nämlich prüfen, ob die Programmaufrufe ansich in Ordnung sind.

Code: Alles auswählen

/sbin/ethtool -s eth0 wol g
/usr/sbin/qcontrol wol on
Ich bin mir im Moment nicht sicher, aber zwei ExecStart und zwei ExecStop in einer Unit? Sicher, daß das geht?

qcontrol kennt laut manpage den Parameter wol nicht, was wohl der Grund für deinen Fehlerstatus sein dürfte.

debianfanboy
Beiträge: 108
Registriert: 09.11.2013 21:42:35

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von debianfanboy » 01.10.2019 23:31:50

Danke für die Hilfe!
Beide Befehle lassen sich ohne Fehlermeldung aufrufen.
In den manpages von qcontrol steht das nicht, aber

Code: Alles auswählen

qcontrol -h
sagt, dass damit das WakeOnLan der QNAP aktiviert und deaktiviert werden kann. Mit

Code: Alles auswählen

systemctl start wol-shutdown.service
kann ich die Service Unit ja auch manuell starten.
Ich probiere es nochmal mit zwei getrennten Service Units, wenn der laufende Sync abgeschlossen ist. Sage morgen früh nochmal bescheid.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von MSfree » 02.10.2019 08:31:04

debianfanboy hat geschrieben: ↑ zum Beitrag ↑
01.10.2019 23:31:50
Ich probiere es nochmal mit zwei getrennten Service Units
Warum verwendest du überhaupt ethtool und qconfig? Eines der beiden sollte ausreichen.

Deaktiviere deine Service Unit erstmal.

Ich würde dann das QNAP mal starten, dann ethtool von Hand auf der Kommandozeile ausführen, das QNAP runterfahren und dann von einem anderen Rechner aus ein WOL magic packet schicken. Fährt das QNAP dann hoch, weißt du, daß es mit ethtool funktioniert. Ich würde dann versuchen, das QNAP nochmal runterzufahren, ohne ethtool aufzurufen, und erneut ein WOL magic packet an das QNAP zu schicken. In der Regel klappt das nämlich, zumindest bei PCs. Normalerweise braucht man Netzwerkkarten die WOL-Einstellung nur einmal im Leben mitzugeben oder nach Firmwareupdates. Sollte das bei dem QNAP anders sein, kannst du immer noch eine Service Unit erstellen.

Geht das nicht, versuchst du das gleiche, statt mit ethtool aber mit qconfig.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von JTH » 02.10.2019 08:38:58

MSfree hat geschrieben: ↑ zum Beitrag ↑
01.10.2019 22:56:03
Ich bin mir im Moment nicht sicher, aber zwei ExecStart und zwei ExecStop in einer Unit? Sicher, daß das geht?
Das geht mit einem Service mit Type=oneshot. Das ist dann meist kein dauerhaft laufender Dienst, sondern ein Werkzeug, das wie hier beim Start/Stop nur kurz was ausführt.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von MSfree » 02.10.2019 08:40:54

JTH hat geschrieben: ↑ zum Beitrag ↑
02.10.2019 08:38:58
Das geht mit einem Service mit Type=oneshot.
Danke, again what learned :mrgreen: :THX:

debianfanboy
Beiträge: 108
Registriert: 09.11.2013 21:42:35

Re: WakeOnLAN bei Shutdown aktivieren geht nicht (QNAP HS-210)

Beitrag von debianfanboy » 02.10.2019 09:45:47

Guten Morgen! Es funktioniert jetzt. Danke! Zuerst habe ich probiert, zwei Service Units daraus zu machen und die eine nach der anderen gestartet. Das hat funktioniert.

Code: Alles auswählen

# cat wol-shutdown-ethtool.service
[Unit]
Description=Enable Wake on LAN on shutdown (1/2)
# Just for having the correct order when shutting down.
After=qcontrold.service
# Require eth0 to be present before trying to change WOL.
# not supported in systemd-44
#BindsTo=sys-subsystem-net-devices-eth0.device
Requires=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device
After=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ethtool -s eth0 wol d
ExecStop=/sbin/ethtool -s eth0 wol g

[Install]
WantedBy=multi-user.target

Code: Alles auswählen

# cat wol-shutdown-qcontrol.service
[Unit]
Description=Enable Wake on LAN on shutdown (2/2)
# Just for having the correct order when shutting down.
After=wol-shutdown-ethtool.service
# Require eth0 to be present before trying to change WOL.
# not supported in systemd-44
#BindsTo=sys-subsystem-net-devices-eth0.device
Requires=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device
After=sys-devices-platform-mv643xx_eth_port.0-net-eth0.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/qcontrol wol off
ExecStop=/usr/sbin/qcontrol wol on

[Install]
WantedBy=multi-user.target
Ich denke mal, dass das daran lag, dass der qcontold.service noch nicht vollständig gestartet war. So oder so ähnlich.

Jedenfalls habe ich den wol-shudown-qcontrol.service abgeschaltet und das funktioniert auch. Dann habe ich den wol-shutdown-ethtool.service abgeschaltet und das funktioniert auch... :facepalm: Ich bin mir ziemlich sicher, dass es vorher nicht funktioniert hat und ich mich deshalb auf die Suche nach einer Lösung gemacht habe. Naja, ich werde wohl immer ein Luser bleiben.

Danke an MSfree :hail: Ich bin übrigens jetzt auch fast MSfree, muss nur noch die Dropbox durch Nextcloud ersetzen, aber das wird man hier im Forum schon früh genug mitbekommen, dass ich das versuche. :D :|

Antworten