У меня есть плата Rock960, на которой работает сервер Ubuntu. Он страдает от «ошибки», когда SSH чрезвычайно запаздывает, потому что управление питанием WiFi включено.
Я пробовал различные решения, чтобы навсегда отключить его:
powersave
в мою конкретную конфигурацию SSID Ни одна из них не работает (постоянно). Что-то в системе вызывает принудительное управление питанием через несколько секунд после выключения, либо вручную, либо через какой-либо файл конфигурации. Я исправил это, запустив bash-скрипт через rc.local
, который опрашивает iw
каждые несколько секунд и отключает управление питанием, если он включен. Это работает, но расстраивает, не зная, в чем собственно проблема. Даже бегать cronjob каждую минуту недостаточно.
Насколько я могу судить, система использует NetworkManager, но, похоже, ни одно из переопределений конфигурации не работает.
Есть ли способ выяснить, что делает возможным управление питанием (возможно, через журнал)?
Сценарий на случай, если кто-нибудь найдет его полезным:
#!/bin/bash
management_off="Power Management: off"
while true; do
status=`/sbin/iw wlan0 | grep "Power Management"`
if [ "$status" != "$management_off" ]; then
/sbin/iw wlan0 set power_save off
fi
sleep 5
done
Измените /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf wifi.powersave = 2
, это должно отключить его с помощью Network-Manger.source git hub
Без Network-Manger вы можете создать правило udev. KERNEL=="wlan*", ACTION=="add", RUN+="/sbin/iwconfig wlan0 power off"
Для wlan * установите название вашего интерфейса.