Problém s WOL [vyřešeno]

Dobrý den,

pokud spustím /usr/sbin/ethtool -s em1 wol g , a pak vypnu počítač, všechno funguje jak má, tzn, na swiči zůstane svítit link a počítač je možné zapnout po síti.

Jenže, tento řádek nefunguje nikde jinde, než zadáním v terminálu jako root.

Zkoušel jsem různé /rc.d/init.d , ba i /rc.d/rc.local, /etc/init.d/network a všechny takové rady z různých fór na webu, ale nic z toho nefunguje.
Zapnu počítač tlačítkem, nebo ovladačem, systém naběhne, a …

$ ethtool em1
Wake-on: d

po vypnutí zhasne link na sviči a počítač po síti nezapnu.

Nelíbí se mi po každém zapnutí se přihlašovat do terminálu jako root a spouštět ethtool.

Na tento problém jsem narazil až na Fedoře,. když jsem v posledních asi 3 letech zcela promiskuitně vystřídal Ubuntu, SuSE, Mageiu, Mint i PCLinuxOS. Nemluvě o BSD, tam WOL šlape rovněž.

Nevíte někdo, co s tím?

(Fedora 20, KDE, 64b)

Před procházením a zkoušením různých rad z internetů, je dobré si zjistit, co máš a používáš za systém

Na Fedoře už nějakou chvíli funguje systemd, takže rc.d, /etc/init.d a spol. už odzvonilo. Nejjednodušší je si asi napsat svoji vlastní systemd servicu, která se o zapnutí postará. Jako root:


cat > /usr/lib/systemd/system/wol.service << BLABLA
[Unit]
Description=Enable WOL 
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s em1 wol g

[Install]
WantedBy=multi-user.target
BLABLA

systemclt enable wol.service

Ty proměnný jsou asi docela pochopitelný - definuješ si, že do multiuživatelského prostředí (WantedBy) a potom, co nastartuje síť (network.target) se má spustit příkaz (ExecStart). Systemctl enable pak tuto službu nalinkuje kam patří a tím zařídí, že se po příštím restartu spusí.

Ech, do %$#$$&@ !!!
samozřejmě, takhle to funguje.
dík za radu, jinak jsem se chystal použít metodu vrcholného zoufalství - instalovat SuSE (ten má taky systemd, ale rc.d funguje také)

Tak to ale nemohlo být příliš mnoho pátků, protože na google dotaz Fedora WOL a pod. jsem všude dostával rady jak to napsat do všelijakých rc.d a rc.local. Toto je pěkně prosím odpověď na dotaz "Fedora 20 wol": [url]https://ask.fedoraproject.org/en/question/9270/permanently-set-up-wakeup-on-lan-wol/[/url] O nějakém systemd tam není ani ťuk.

Spravne ale neni nastavovat WOL pri startu systemu, ale pri jeho vypinani. Takze drive to stacilo pridat do skriptu pro “halt” kde na to uz byl i nejaky “komentar”. Dnes mame ale systemd… toz tak. Snad to bude fungovat i kdyz mezidim vytahnes kabel.

Hm, na nastavení před vypnutím něco bude. Možná by pak podle tohoto nebylo od věci místo

After=network.target

dát

Before=shutdown.target reboot.target halt.target

Ale nezoušel jsem.

Přímo v dokumentaci systemd je popis těch targetů: http://www.freedesktop.org/software/systemd/man/systemd.special.html

covex napsal(a):

Spravne ale neni nastavovat WOL pri startu
systemu, ale pri jeho vypinani.

To jo, ale já bych řekl „při každé vhodné příležitosti", člověk nikdy neví, jakým způsobem ten počítač vypne. Sice mám UPSku, ale někdy se dějí věci, že se na nějaké vypínací tanečky už jaksi nedostane čas.

ve fedoře 29 se na rozdíl od předcházejících verzí (27 a níže) nastavuje trvalé wol v
/etc/sysconfig/network-scrips/
v souboru (např.) /ifcfg-enp1s0
přidáním příkazu
ETHTOOL_OPTS="-s enp1s0 wol g"
Je to uvedeno v manuálu, no ale než jsem to našel…