Дорогие, друзья! Сегодня я Вам расскажу как активировать функцию WOL в Debian 11 (bullseye) и решим проблему с сохранением настроек после завершения работы или перехода в спящий режим. И так, поехали…
1. Первое что нам необходимо это установить утилиту ethtool. Открываем терминал заходим по root и вводим команду установки утилиты:
1 |
sudo apt install ethtool |
2. Далее, в терминале, нам необходимо определить имя нашего интерфейса. Для этого вводим команду:
1 |
sudo ip addr |
Терминал выдаст примерно следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
admintm@HomeK:~$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 13:t4:78:ds:c9:f0 brd ff:ff:ff:ff:ff:ff inet 192.168.43.66/24 brd 192.168.43.255 scope global dynamic noprefixroute enp2s0 valid_lft 23172sec preferred_lft 23172sec inet6 fe19::51d4:35ff:fadd:c9f0/64 scope link noprefixroute valid_lft forever preferred_lft forever |
Как видим наименование интерфейса “enp2s0”
3. Утилитой ethtool проверяем текущий режим WOL, для этого вводим команду:
1 |
sudo ethtool -s enp2s0 wol g |
В нем ищем строку, Wake-on, если после двоеточия стоит буква d, то значит wol не активирован.
4. Для активации WOL потребуется ввести команду:
1 |
sudo ethtool -s enp2s0 wol g |
Проверяем еще раз текущий режим WOL командой указанной в пункте 3, и смотрим, d должен поменяться на g. Если все так, то WOL у нас активен, но до момента перезагрузки. Для автоматической активации WOL нам необходимо в автозагрузку добавить скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root@HomeK:/home/admintm# sudo ethtool enp2s0 Settings for enp2s0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Symmetric Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Full Auto-negotiation: on master-slave cfg: preferred slave master-slave status: slave Port: Twisted Pair PHYAD: 0 Transceiver: external MDI-X: Unknown Supports Wake-on: pumbg Wake-on: g Link detected: yes |
5. Для этого в терминале заходим в папку init.d и в ней создаем скрипт.
1 2 |
cd /etc/init.d sudo nano enp2s0_wol.sh |
6. Добавляем в созданный скрипт следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#! /bin/sh ### BEGIN INIT INFO # Provides: enp2s0_wol.sh # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Service to enable WOL function of enp2s0 network interface. ### END INIT INFO case "$1" in start) # Enable WOL function via magic packet ethtool -s enp2s0 wol g ;; esac exit 0 |
7. Завершающий этап, меняем права, активируем скрипт и перезапускаем систему:
1 2 3 |
sudo chmod a+x enp2s0_wol.sh sudo systemctl enable enp2s0_wol.sh sudo reboot |
8. После перезагрузки, запускам терминал, и по 3 пункту проверяем интерфейс – ищем строку Wake-on, должен стоять флаг g.
После всех манипуляций Вы сможете включить свой пк с помощью любого программного обеспечения, которое может отправлять магические пакеты magic по сети, используя MAC-адрес вашего сетевого адаптера.
Отличный мануал! Усе работает четко. Спасибо за скрипт WOL работает.