после ошибки power.d wlan работает очень медленно

после ошибки power.d wlan работает очень медленно

Я использую Ubuntu 12.10 с версией ядра 3.5.0-26-generic. Сегодня произошла системная ошибка, и единственное, что я могу вспомнить о коде ошибки, это что-то про power.d.

После возникновения этой ошибки соединение Wi-Fi стало чрезвычайно медленным, но только в режиме работы от батареи. После некоторых исследований я обнаружил, что:

sudo iwconfig eth1 power off

... решает проблему, но только для текущего сеанса; после перезагрузки та же ошибка остается.

Есть ли другое решение, которое позволит решить эту проблему навсегда?

решение1

Несколько дней назад я нашел решение этой проблемы. Я изменил следующие строки в скрипте беспроводной сети в /usr/lib/pm-utils/power.d, и он работает нормально. Но с тех пор, как я сделал эти изменения, похоже, что батарея стала работать не так долго, как раньше (и не только 10 минут...). Есть ли другое решение? Есть ли какая-либо документация по значениям мощности, которые используются в скрипте?

case $driver in
    ipw2100) iwpriv_ac="set_power 0"
        iwpriv_batt="set_power 0"
        iwconfig_ac="power on"
        iwconfig_batt="power on";;
    ipw3945)
        iwpriv_ac="set_power 6"
        iwpriv_batt="set_power 6";;
    iwl*) if [ -f "/sys/class/net/$1/device/power_level" ]; then
             iwlevel_ac=0
             iwlevel_batt=0
          else
             iwconfig_ac="power off"
             iwconfig_batt="power off"
          fi;;
    *) iwconfig_ac="power off"
       iwconfig_batt="power off";;

с наилучшими пожеланиями

решение2

Вы можете поместить эквивалентную команду в /etc/rc.local, и она будет выполняться при каждой загрузке:

iw dev eth1 set power_save off

Кстати, ваша команда sudo iwconfig eth1 power offотключает управление беспроводным питанием для сетевого интерфейса eth1, но требует rootразрешений. Команда, которую я вам дал, делает то же самое, но не требует root и, следовательно, лучше подходит для использования в скриптах.

Чтобы протестировать мое решение, перезагрузите ноутбук, запустите iwconfigи проверьте, установлено ли поле в значение eth1, например:Power Managementoff

eth2      IEEE 802.11abg  ESSID:"287LyonSt."  
          Mode:Managed  Frequency:2.437 GHz  Access Point: F8:D1:11:9B:89:81   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Связанный контент