При выходе из спящего режима пропадает 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
У меня была та же проблема, и я наконец нашел полное решение, вот оно:
Перейдите к терминалу, нажав Ctrl+ Alt+T
Откройте новый
.txt
файл, чтобы записать в него новую команду. (Вы можете изменить имя файла, но оно все равно должно начинаться с ,99-
поскольку система работает в алфавитном порядке, а нам нужно, чтобы это было последним):sudo nano /etc/pm/sleep.d/99_synclient`
Вставьте следующую строку в пустой
.txt
файл:#!/bin/bash case "$1" in suspend|hibernate) ;; resume|thaw) sudo -u <USERNAME> env DISPLAY=:0 service network-manager restart ;; *) exit $NA ;; esac
Пожалуйста, замените указанное выше имя пользователя без <>.
Сделайте файл исполняемым:
sudo chmod +x /etc/pm/sleep.d/99_synclient
и не забудьте изменить имя, если вы это сделали ранее.
Вы сделали!Теперь ваш WiFi должен работать нормально после выхода из спящего режима.
решение3
Я бы побежал
sudo service network-manager restart
sudo
делает его суперпользователем или root, поэтому вам разрешено его запускать. service
запускает скрипт, удаляя большинство переменных среды и устанавливая каталог в /
. network-manager
сообщает ему нужную службу, а также restart
останавливает и запускает этот процесс.