Wi-Fi отключен после возобновления 16.04 - другие решения не работают


12

Я новый пользователь Ubuntu и до сих пор действительно наслаждался этим. Однако вчера я потратил около 3 часов, пытаясь возобновить работу моего Wi-Fi после выхода ноутбука из спящего режима (он работает, если я перезагружаюсь). Я просмотрел доски объявлений, и все ссылки на Google пурпурные на 3-4 страницы для каждого результата поиска по этому вопросу. Поэтому я не думаю, что этот вопрос будет повторяться.

у меня есть

  • Dell Inspiron 15
  • AMD A6-6310
  • Ubuntu A6-6310
  • Моя беспроводная карта помечена как (устройство) wlp3s0 (драйвер) ath9k

и я попробовал следующее:

Я положил их в папку конфигурации в /config.d

SUSPEND_MODULES="$SUSPEND_MODULES ath9k"

SUSPEND_MODULES="ath9k"

Я создал исполняемые файлы в /sleep.d, такие как:

 #!/bin/sh
#Tell Network Manager that resume was successful
case "$1" in
        thaw)
       /usr/bin/nmcli nm sleep false
      ;;
 esac

#!/bin/sh

case "${1}" in
 resume|thaw)
 nmcli r wifi off && nmcli r wifi on ;;
esac

и многие другие их варианты.

Кроме того, это перезапускает NetworkManager, но не подключает Wi-Fi снова:

sudo service network-manager restart

Есть несколько других вещей, которые я пробовал, которые я точно не помню с такими командами, как nmcli d wifi или что-то в этом роде. Они не работали.

Теперь я могу ошибаться, но я думаю, что проблема может заключаться в следующем:

sudo nmcli nm sleep false

Теперь мой терминал НЕ распознает «nm» и говорит:

sudo nmcli nm sleep false

и когда я поднимаю меню для nmcli, nm нигде нет в списке объектов. Я чувствую, что это может быть ключом к проблеме. Итак, есть ли что-то, что я не сделал, что я должен сделать, и есть ли способ «исправить» проблему «nm»? Заранее спасибо!


Может быть, не та же проблема (я с драйвером Intel ), но я сталкиваюсь с похожими, если не теми же проблемами, и закончил назначение ярлыка ( FN+F9в моем случае) для выполнения команды, pkexec systemctl restart network-manager.serviceчтобы сказать systemd перезапустить Network-Manager из графического интерфейса в наименее навязчивый способ, который я нашел.
dgonzalez

для того, что стоит: версия моего nmcliявляется 1.2.2
Тимоти раскладушка

Пожалуйста, посмотрите этот вопрос и отредактируйте сообщение, чтобы включить информацию
Jeremy31

@TimothyTruckle Вы можете просто задать свой вопрос, так как Райан Каллихан не был зарегистрирован с 7 ноября
Jeremy31

@ Jeremy31 «Пожалуйста, посмотрите на этот вопрос ». Это не тот вопрос, потому что у нас (для меня) есть пробем только после того, как система возобновит работу из режима ожидания.
Тимоти Тракль

Ответы:


2

РЕДАКТИРОВАТЬ: неправильное поведение драйвера при возврате из режима ожидания является проблемой, с которой я сталкивался несколько раз с несколькими сетевыми интерфейсами в нескольких операционных системах. Единственное, что я нашел эффективным во всех этих случаях, - это отключить управление питанием для карты WiFi. После рассмотрения изменений, внесенных в систему для решения аналогичной проблемы, я предлагаю следующее решение.

Сначала мы сделаем резервную копию существующих настроек управления питанием по умолчанию с помощью:

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

Далее мы отредактируем контент, чтобы полностью отключить управление питанием для WiFi. с помощью gksu gedit /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf, который содержит значение по умолчанию, wifi.powersave = 3позволяющее экономить энергию на устройстве WiFi. Изменение содержимого этого файла на:

[connection]
wifi.powersave = 0

Выполнение вышеуказанного, а также переименование моего интерфейса в wlan0 решило мои проблемы под 16.04

Как только это будет сделано, вам нужно перезагрузить или выполнить команду, sudo systemctl restart NetworkManagerчтобы перезапустить Network Manager

Примечание. Моя карта не имеет чипа Atheros и определяется следующим образом:

* - описание сети: беспроводной интерфейс продукта: RT2561 / RT61 802.11g PCI производитель: Ralink Corp. физический идентификатор: 1 информация о шине: pci @ 0000: 04: 01.0 логическое имя: wlan0 версия: 00 серийный: 00: 1a: ef: 03: 00: aa ширина: 32 бита, тактовая частота: 33 МГц, возможности: pm bus_master cap_list ethernet физическая беспроводная связь

Альтернативы, которые могут работать для других с подобной проблемой:

Поместите скрипт bash ниже в свою /etc/pm/sleep.dпапку с именем, например, 99_wifiup.

ПРИМЕЧАНИЕ . 99_ необходимо, если 99 - это наибольшее число в папке, чтобы оно работало последним.

Вам нужно убедиться, что у сценария есть разрешения на выполнение, и вам понадобятся права суперпользователя (sudo) для записи файла в него. Однажды на месте каждый раз, когда вы выходите из режима ожидания, он будет работать.

#!/bin/bash

case "$1" in
suspend | hibernate)
# executed on suspend
;;
resume | thaw)
# executed on resume
/usr/sbin/rfkill block all
/usr/sbin/rfkill unblock all
/sbin/iwlist wlan0 scan
;;
*)
;;
esac 

Если это не сработает, стоит изучить модификацию скрипта для выдачи команд nmcli networking offна приостановку и nmcli networking onоттаивание.

Если ни одно из этих решений не работает для вас, и вы заметили другие аномалии, возможно, у вас неисправный адаптер WiFi или, возможно, эта ошибка была исправлена .

Источники:

Изменены /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf и /etc/udev/rules.d/70-persistent-net.rules на одной из моих систем.

Пост Миккипопа №9 https://ubuntuforums.org/showthread.php?t=2321399

man nmcli

https://gist.github.com/jcberthon/ea8cfe278998968ba7c5a95344bc8b55


я должен поставить в nmcli networking onкачестве первой или последней команды в ветви резюме ?
Тимоти Тракль

Я должен попробовать еще раз с реальным WiFi, если имя ...
Тимоти Тракл

Извиняюсь. Я должен был попросить об этом ...
Старейшина Гик

Не извините, пожалуйста, я должен был понять, что раньше ... Во всяком случае, WiFi все еще не возвращается ... когда я запускаю команду вручную (sudo ..) после возобновления последнего отвечает:wlp32s0 Interface doesn't support scanning : Network is down
Тимоти Тракле

кроме этого я нашел это в системном ath5k: phy0: can't reset hardware (-5)
журнале

1

Я обнаружил, что управление питанием через Wi-Fi часто является неприятностью для Linux. В моем случае это было на разных адаптерах Intel и Broadcom. Возможно, его отключение решит вашу проблему. Вот как я это делаю (отредактируйте для вашего интерфейса wlp3s0):

Создать: /etc/network/if-up.d/wifi-powerman-off
Включить:chmod +x /etc/network/if-up.d/wifi-powerman-off

wifi-powerman-off:

#!/bin/sh
IWCONFIG=/sbin/iwconfig
WLAN_IFACE=<<interface name>>
if [ ! -x $IWCONFIG ]; then
    exit 1
fi
if [ "$IFACE" = $WLAN_IFACE ]; then
    $IWCONFIG $IFACE power off
fi

Вот оригинальная ссылка на вопросы и ответы:
Как я могу предотвратить включение управления питанием iwconfig?


Я создал этот файл и перезагрузил, но все еще WiFi отключен после приостановки ...
Timothy Truckle

позор ... был обнадеживающим для вас. По крайней мере, вы знаете, что это не компонент mgmt власти.
Отметить

-1

Попробуйте несколько команд (в дополнение к вышеописанному), если вы обнаружите, что одна из них работает (при запуске вручную) - добавьте ее к одному из сценариев, которые вы упомянули в вопросе, для запуска во время пробуждения.

перезагрузите сеть и Wi-Fi, связанные услуги:

sudo service wpa_supplicant restart

sudo service network-manager restart

перезагрузите сетевую карту:

sudo ifconfig wlan0 down && sudo ifconfig wlan0 up

Принудительный режим карты Wi-Fi:

sudo iwconfig wlan0 essid any

(в старых версиях Ubuntu состояние называется auto, а не any)

перезагрузите драйверы ядра сетевой карты (список может потребоваться обновить для ваших драйверов, список был взят из скрипта, который я использую на другой модели):

sudo rmmod ath9k ath9k_common ath9k_hw ath mac80211 rndis_wlan cfg80211 rndis_host cdc_ether usbnet && sleep 1 && sudo modprobe -a usbnet cdc_ether rndis_host cfg80211 rndis_wlan mac80211 ath ath9k_hw ath9k_common ath9k 

моя версия iwconfig(Wireless-Tools version 30, совместимая с Wireless Extension v11 до v22.) не знает о команде auto
Тимоти Тракл,

как получить (полный, но минимальный) список модулей для использования с rmmod/ modprobe?
Тимоти Тракл

когда вы пытаетесь rmmodсоздать модуль, вы получаете список модулей, от него зависит, следуя этим спискам, я получил этот список.
Охад Коэн

оказывается, что он autoбыл переименован anyв более новые версии Ubuntu.
Охад Коэн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.