Jak trwale wyłączyć bezprzewodowe zarządzanie energią

23

W Linux Mint 17.3 / 18 iwconfigmówi, że zarządzanie energią mojej karty bezprzewodowej jest włączone . Chcę to wyłączyć na stałe lub obejść ten problem.

sudo iwconfig wlan0 power off działa, dopóki nie uruchomię ponownie laptopa.

Ponadto, jeśli losowo sprawdzę iwconfig, czasami jest włączony, mimo że uruchomiłem to polecenie.

Przeczytałem kilka artykułów na temat uczynienia poprawki stałą. Wszystkie zawierały pierwszy krok „Przejdź do katalogu /etc/pm/power.d”, który w moim przypadku nie istniał.

Wykonałem następujące kroki:

sudo mkdir -p /etc/pm/power.d
sudo nano /etc/pm/power.d/wireless_power_management_off

Wprowadziłem te dwa wiersze do pliku:

#!/bin/bash

/sbin/iwconfig wlan0 power off

I skończyłem z ustawieniem odpowiednich uprawnień użytkownika:

sudo chmod 700 /etc/pm/power.d/wireless_power_management_off

Ale po ponownym uruchomieniu system zarządzania energią jest ponownie włączony.

iwconfig po ręcznym wyłączeniu zarządzania energią

eth0      no wireless extensions.

wlan0     IEEE 802.11abgn  ESSID:"SSID"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00   
          Bit Rate=24 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=42/70  Signal level=-68 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:2  Invalid misc:18   Missed beacon:0

lo        no wireless extensions.

Nie sądzę, aby to pytanie dotyczyło tylko Linux Mint, jest to ogólny problem poszczególnych kart bezprzewodowych.

LinuxSecurityFreak
źródło

Odpowiedzi:

32

Otwórz ten plik za pomocą edytora tekstu, użyjmy nanona przykład:

sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

Domyślnie jest

wifi.powersave = 3

Po prostu zmień go na wartość 2 .

Zmiana będzie aktywna przy następnym uruchomieniu.

Wartości pola powerave są następujące:

NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0): use the default value
NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1): don't touch existing setting
NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2): disable powersave
NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3): enable powersave

( Źródło )

Niko
źródło
1
Działało to dla mnie świetnie aż do ostatniego tygodnia - teraz dostaję NetworkManager[19973]: Failed to read configuration: /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf: Key file does not start with a group. Okazuje się, że odkąd stworzyłem to ręcznie, nie miałem wymaganego [teraz] [main]na początku pliku.
jhfrontz
1
@jhfrontz Z poniższej dokumentacji wynika, że ​​może być konieczne dołączenie [connection]przed ustawieniem w celu zdefiniowania grupy. gist.github.com/jcberthon/ea8cfe278998968ba7c5a95344bc8b55
charliesneath
4

Nie wystarczy wyłączyć bezprzewodowe zarządzanie energią podczas rozruchu.

Prawdopodobnie są jakieś haki, jak gdy odłączę zasilacz.

Tak więc jedno z możliwych rozwiązań jest następujące; krok po kroku.

Utwórz katalog, w którym chcesz przechowywać plik, jeśli nie masz go już dla wszystkich twoich skryptów, osobiście chcę go mieć w /etc/pm/:

sudo mkdir -p /etc/pm/power.d

Utwórz (gdziekolwiek chcesz) skrypt, nazwij go rozsądnym, dla mnie jest to:

sudo nano /etc/pm/power.d/wireless_power_management_off

Użyłem nano, ale używam cokolwiek, np. Jeśli chcesz utworzyć plik graficznie, np. z gedit(LM17) lub xed(LM18):

gksudo gedit /etc/pm/power.d/wireless_power_management_off
gksudo xed /etc/pm/power.d/wireless_power_management_off

Wprowadź następującą zawartość do pliku:

#!/bin/bash

/sbin/iwconfig wlan0 power off

Zapisz plik.

Właścicielem pliku powinien być root, jeśli utworzyłeś go gdzieś jako zwykły użytkownik, przejdź do folderu, w którym się znajduje i napraw go za pomocą:

sudo chown root:root wireless_power_management_off

Następnie musisz ustawić odpowiednie uprawnienia do pliku rwxdla właściciela:

sudo chmod 700 wireless_power_management_off

Na koniec będziemy wykonywać skrypt co minutę przy użyciu CRON; brudny, ale pracowity :

sudo crontab -e

Jeśli nigdy crontabwcześniej nie edytowałeś , zapyta, jakiego edytora chcesz użyć, to zależy wyłącznie od Ciebie.

Wklej to na końcu pliku:

*/1 * * * * /etc/pm/power.d/wireless_power_management_off

Poczekaj chwilę, a następnie możesz sprawdzić, czy zarządzanie energią jest wyłączone:

iwconfig wlan0 | grep "Power Management"

Przykładowe dane wyjściowe:

Power Management:off

Nawet jeśli coś spowoduje włączenie zarządzania energią, potrwa to tylko minutę. Gotowy.

LinuxSecurityFreak
źródło
1

używając crontab sudo crontab -edodaj linię@reboot /bin/bash /etc/pm/power.d/wireless

seb
źródło
1

TLP - Linux Advanced Power Management Tool działa dla mnie od razu po instalacji z Ubuntu 18.04.

> grep WIFI /etc/default/tlp 
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off

> iw dev wlan0 get power_save
Power save: off

FWIW. Dostępna jest rola odpowiadająca za konfigurację TLP w Ubuntu.

Vladimir Botka
źródło
0

Klucz: powersave

Wpisz: uint32

Wartość domyślna: 0

Może być jednym z:

  • NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (wyłącz oszczędzanie energii Wi-Fi)
  • NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (włącz
    oszczędzanie energii Wi-Fi )
  • NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (nie dotykaj aktualnie skonfigurowanego ustawienia)

  • NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (użyj wartości skonfigurowanej globalnie)

Wszystkie pozostałe wartości są zastrzeżone.

Więcej na https://people.freedesktop.org/~lkundrak/nm-docs/nm-settings.html

słowiański
źródło