Stabilne Wi-Fi na Raspberry Pi
Wyłącz oszczędzanie energii Wi-Fi, aby ograniczyć okresowe utraty połączenia na serwerze NQ2.
Jeśli NQ2 lub SSH przestaje odpowiadać po okresie bezczynności urządzenia połączonego przez Wi-Fi, wyłącz oszczędzanie energii Wi-Fi na Raspberry Pi. Przy niektórych zestawach sprzętu i sterownika może ono przyczyniać się do okresowego zrywania połączenia. Pi może nadal działać, mimo że wygląda na niedostępne: utrata Wi-Fi nie oznacza wyłączenia całego urządzenia.
Dla serwera NQ2 połączonego przez Wi-Fi ustaw to podczas instalacji. Aktualny instalator NQ2 robi to automatycznie w Linuksie korzystającym z NetworkManagera. Przy instalacji ręcznej lub na urządzeniu przygotowanym starszym pakietem wykonaj kroki poniżej. Komputer nagrywający kartę nie potrzebuje tej zmiany; wykonujesz ją na Raspberry Pi lub serwerze Linux, na którym działa NQ2.
Kiedy stosować tę instrukcję
- Raspberry Pi OS i Ubuntu, w których NetworkManager zarządza Wi-Fi.
- Połączenie przez Wi-Fi. Ethernet nie korzysta z tego ustawienia Wi-Fi; sam kabel nie wymaga analogicznej zmiany.
- Zmiana dotyczy oszczędzania energii interfejsu radiowego. Nie wyłącza usypiania całego systemu, nie naprawia słabego zasilacza ani błędnego SSID lub hasła.
1. Sprawdź menedżer sieci i interfejs
Połącz się z urządzeniem przez SSH, np. programem PuTTY, używając istniejącego konta Linuksa. Polecenia wykonujesz na urządzeniu, a nie na komputerze przygotowującym kartę:
systemctl is-active NetworkManager
nmcli -t -f DEVICE,TYPE,STATE device status
Kontynuuj, gdy NetworkManager zgłasza active i zarządza Twoim interfejsem Wi-Fi. Jeśli nie jest zainstalowany albo siecią zarządza inna usługa, nie instaluj ani nie zmieniaj menedżera sieci tylko po to, aby skopiować te kroki.
Zainstaluj narzędzie diagnostyczne i wyświetl interfejsy bezprzewodowe:
sudo apt-get update
sudo apt-get install -y iw
iw dev
Przykłady używają wlan0. Jeśli Twój interfejs ma inną nazwę, np. wlp1s0, zastąp nią wlan0 we wszystkich kolejnych poleceniach.
2. Zapisz trwałe ustawienie
Utwórz dodatkowy plik konfiguracji NetworkManagera:
sudo install -d -m 755 /etc/NetworkManager/conf.d
sudo tee /etc/NetworkManager/conf.d/99-nq2-wifi-powersave.conf > /dev/null <<'EOF'
[connection]
wifi.powersave = 2
EOF
sudo chmod 644 /etc/NetworkManager/conf.d/99-nq2-wifi-powersave.conf
sudo nmcli general reload conf
2 oznacza wyłączenie oszczędzania energii Wi-Fi. Plik ustawia tę wartość domyślnie dla profili korzystających z ustawienia globalnego. Profil z jawnie włączonym oszczędzaniem może nadpisać wartość domyślną; aktywny profil ustaw osobno, jak poniżej. Zobacz opis właściwości Wi-Fi NetworkManagera oraz dokumentację pliku konfiguracji.
3. Zastosuj do bieżącego połączenia Wi-Fi
Odczytaj nazwę aktywnego połączenia i zmień tylko opcję oszczędzania energii:
WIFI_CONNECTION=$(nmcli -g GENERAL.CONNECTION device show wlan0)
sudo nmcli connection modify "$WIFI_CONNECTION" 802-11-wireless.powersave 2
sudo iw dev wlan0 set power_save off
Wykonuj ten krok, gdy wlan0 jest połączony z Wi-Fi. Jeśli nazwa połączenia jest pusta lub wynosi --, najpierw sprawdź połączenie. Profil NetworkManagera zachowuje ustawienie dla kolejnych połączeń, a iw stosuje je od razu dla bieżącego interfejsu. Nie zmieniasz SSID, hasła ani konfiguracji IP. Nie restartuj NetworkManagera ani nie rozłączaj Wi-Fi przez SSH podczas tej procedury. Wystarczy przeładowanie konfiguracji i ustawienie interfejsu. Dokumentacja: nmcli i Linux Wireless — iw.
4. Sprawdź wynik
iw dev wlan0 get power_save
nmcli -f 802-11-wireless.powersave connection show "$WIFI_CONNECTION"
cat /etc/NetworkManager/conf.d/99-nq2-wifi-powersave.conf
Dla obsługiwanego interfejsu iw powinno pokazać Power save: off. Po ręcznej zmianie profilu NetworkManager powinien wskazywać 2 (disable). Aktualny instalator może pozostawić profil na 0 (default) i ustawić globalny plik na 2: to również oznacza użycie wyłączonego ustawienia globalnego. Samo polecenie iw nie utrwala zmiany po ponownym połączeniu; zachowaj konfigurację NetworkManagera.
Jeśli urządzenie nadal traci połączenie
To usuwa jedną z możliwych przyczyn zrywania Wi-Fi; nie gwarantuje rozwiązania każdego problemu z siecią. Sprawdź zasięg, router i zasilacz. Jeśli całe Raspberry Pi faktycznie restartuje się lub wyłącza, sprawdź jego zasilanie i logi systemowe zamiast zakładać, że przyczyną jest ustawienie Wi-Fi. Sterownik odrzucający polecenie iw wymaga osobnej diagnostyki.
Wróć do instalacji na Raspberry Pi, instalacji na istniejącym systemie albo ręcznej instalacji Linuksa.