Wi-Fi пропал после выхода из спящего режима

Wi-Fi пропал после выхода из спящего режима

При выходе из спящего режима пропадает Wi-Fi.

Невозможно включить Wi-Fi ни из AppIndicator, ни из >Настроек >Сети.

Включение/выключение с помощью горячей клавиши ( Fn+ F2) также бесполезно.

Мне приходится приостанавливать работу, затем возобновлять работу из режима ожидания, а затем снова включать Wi-Fi.

Моя платформа: Ubuntu 14.04 LTS.

Как решить проблему, при которой Wi-Fi продолжает работать естественным образом (без вмешательства) после выхода из режима гибернации.

Следуя инструкциям Дж. Уильямсона, после

sudo gedit /etc/pm/power.d/wireless

файл "беспроводной сети" не пустой, он показывает:

#!/bin/sh
# tlp - if tlp is enabled, override corresponding script
#       in /usr/lib*/pm-utils/power.d/

CONFFILE=/etc/default/tlp LIBDIRS='/usr/lib /usr/lib64'

for d in ${LIBDIRS}; do
    if [ -d "${d}/pm-utils/power.d" ]; then
        blocked="${d}/pm-utils/power.d/${0##*/}"
        break
    fi done

if [ -n "$blocked" ] && [ -x "$blocked" ]; then
    # else nothing to disable -> don't read $CONFFILE

    if [ -e "$CONFFILE" ] && . "$CONFFILE" -- && [ "$TLP_ENABLE" = '1' ]; then
        # TLP is enabled -> disable $blocked
        echo "Notice: '${blocked}' disabled by TLP."
    else
        exec "$blocked" $*
    fi fi

exit 0

решение1

Откройте терминал и введите следующую команду; нам нужно проверить, включено ли управление питанием на этой карте.

iwconfig wlan0

Запустив этот код, мы должны увидеть что-то вроде этого:

jayadmin@jayadmin-OptiPlex-GX280:~$ iwconfig wlan0
wlan0     IEEE 802.11bgn  ESSID:"MU WiFi"  
      Mode:Managed  Frequency:2.412 GHz  Access Point: 18:33:9D:C6:76:72   
      Bit Rate=65 Mb/s   Tx-Power=20 dBm   
      Retry  long limit:7   RTS thr:off   Fragment thr:off
      Power Management:off
      Link Quality=40/70  Signal level=-70 dBm  
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:18  Invalid misc:80   Missed beacon:0

Если управление питанием включено, выполните следующую команду (Для этого вам понадобятся права SU, поэтому используйте команду "sudo"):

sudo iwconfig wlan0 power off

После этой команды вам придется ввести свой пароль; без «sudo» у вас, вероятно, не будет прав пользователя на ее запуск.

Чтобы сделать это постоянным, вам придется добавить/создать системный файл, который не позволит Ubuntu использовать PM после перезапуска. Для этого откройте терминал (если вы его уже закрыли) и введите следующую команду:

sudo gedit /etc/pm/power.d/wireless

Откроется текстовый редактор с пустым файлом. Вставьте в файл следующие строки:

#!/bin/sh


/sbin/iwconfig wlan0 power off

Теперь сохраните файл и закройте gedit и окно терминала. PM должен быть отключен даже после перезапуска.

Похоже, что проблема с Ubuntu и вашей конкретной картой в управлении питанием при выходе из спящего режима. У меня была такая же проблема на моем ноутбуке, и я отключил PM, и это решило проблему.

Я знаю, что это не «природная работа» некомандной строки, которую вы искали, но это должно решить вашу проблему. Иногда вам приходится использовать терминал, чтобы исправить странные проблемы.

Дополнительная информация

@evergreen

TLP, упомянутый в вашем файле беспроводной сети, — это расширенная утилита управления питанием в Ubuntu. Это МОЖЕТ быть проблема в том, что ваша беспроводная карта не работает правильно; ваша карта Wi-Fi может быть не полностью совместима.

Запустите этот код в терминале (если это сработает, это должно стать постоянным исправлением):

sudo gedit /etc/default/tlp

В этом файле найдите эти две строки. Они должны быть вместе:

WIFI_PWR_ON_AC=5
WIFI_PWR_ON_BAT=5

Если я правильно помню, то заметьте.1являетсянеполноценный, пока5являетсявключено. Изменить5в обеих строках1затем сохраните файл и exitвыйдите из терминала.

Чтобы быть в безопасности, перезагрузите компьютер, чтобы убедиться, что изменения вступили в силу в вашей системе. Если эти две строки не будут заменены, все остальные ваши действия по изменению настроек Wi-Fi PM будут заблокированы сценарием TLP.

Надеюсь, это поможет. Я не буду у своего Ubuntu-бокса до конца ночи, так что если это не поможет, то моя следующая попытка помочь разобраться с этим будет отложена на несколько часов. Вы всегда можете полностью заменить текст, найденный в /etc/pm/power.d/wireless, текстом из моего первого ответа, но этоне будетработать, пока эта настройка в tlpфайле не будет изменена.

решение2

У меня была та же проблема, и я наконец нашел полное решение, вот оно:

  1. Перейдите к терминалу, нажав Ctrl+ Alt+T

  2. Откройте новый .txtфайл, чтобы записать в него новую команду. (Вы можете изменить имя файла, но оно все равно должно начинаться с , 99-поскольку система работает в алфавитном порядке, а нам нужно, чтобы это было последним):

    sudo nano /etc/pm/sleep.d/99_synclient` 
    
  3. Вставьте следующую строку в пустой .txtфайл:

    #!/bin/bash
    
    case "$1" in
      suspend|hibernate)
      ;;
    
      resume|thaw)
        sudo -u <USERNAME> env DISPLAY=:0 service network-manager restart 
      ;;
      *) 
        exit $NA
      ;;  
    esac
    

    Пожалуйста, замените указанное выше имя пользователя без <>.

  4. Сделайте файл исполняемым:

    sudo chmod +x /etc/pm/sleep.d/99_synclient
    

    и не забудьте изменить имя, если вы это сделали ранее.

Вы сделали!Теперь ваш WiFi должен работать нормально после выхода из спящего режима.

решение3

Я бы побежал

sudo service network-manager restart

sudoделает его суперпользователем или root, поэтому вам разрешено его запускать. serviceзапускает скрипт, удаляя большинство переменных среды и устанавливая каталог в /. network-managerсообщает ему нужную службу, а также restartостанавливает и запускает этот процесс.

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