wlan0 ethernet недоступен / GENERAL.STATE 20 (недоступен)

wlan0 ethernet недоступен / GENERAL.STATE 20 (недоступен)

Иногда при выходе из спящего режима мой ноутбук с Linux не восстанавливает подключение к Интернету по Wi-Fi.

Интересно,перезагрузка исправляет это, хотя это немного утомительно — полностью выключать/перезагружать компьютер.

Другими словами, иногда при выходе из спящего режима мой ноутбук HP Debian Buster v10.4 не может повторно подключиться к домашней точке доступа. Это происходит примерно с частотой 1 из каждых 6 ночевок или около того.


Заметив, что Wi-Fi отключен, нажатие на rescan for wireless networksне исправляет ситуацию. Также, iw wlan0 scan(или явно iw dev wlan0 scan) выдает: «команда не выполнена: сеть отключена (-100)».


Внимательно изучив вывод, journalctl -n 1000 -u NetworkManager -u wpa_supplicantя вижу, что вскоре после строки: "NetworkManager state is now ASLEEP" (т.е. при пробуждении), первая проблема, по-видимому, возникает в строке, которая гласит: "устройство (wlan0): состояние интерфейса запрашивающего устройства: завершено -> отключено".

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

Что не исправляет ситуацию:

  • Выйдите из системы и войдите снова;
  • Засыпая и просыпаясь снова,
  • Впадает в спячку, а затем просыпается.
  • Перезапуск Network Manager (с помощью $ sudo systemctl restart NetworkManager.service)
  • Бег$ sudo nmcli networking on
  • Удаление и повторное создание wlan0сетевого устройства с помощью: iw dev wlan0 del, затем iw phy phy0 interface add wlan0 type managed addr ca:xxx:4b. Несмотря на то, что это, казалось бы, работает, Wi-Fi по-прежнему не работает.

Я также проверил, $ rfkill listникаких блокировок не обнаружено.


Вот отчет о состоянии от nmcli, когда внеуспешный(интернет недоступен) состояние. Обратите внимание наОБЩЕЕ.СОСТОЯНИЕниже. (Я скрыл настоящие адреса.)

$ nmcli device show wlan0
GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         00:26:##:##:##:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          20 (unavailable)    <-- this is not right
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
...

Также, вот отчет о состоянии отнормальныйрабочее соединение Wi-Fi:

$ nmcli device show wlan0
GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         00:26:##:##:##:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)     <--- this is when it works
GENERAL.CONNECTION:                     Auto NETGEAR14
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         192.168.1.128/32
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 192.168.1.128/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]:                           dst = 192.168.1.1/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[3]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[4]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600
IP4.DNS[1]:                             192.168.1.1
IP6.ADDRESS[1]:                         fe80::...:7f2a/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

Есть идеи? Есть ли способ переинициализироватьфи0водитель радио?

решение1

Лучший способ отладки — проверка сообщений системного журнала примерно в то время, когда пропадает соединение:

journalctl -n 1000 -u NetworkManager -u wpa_supplicant

NetworkManager не использует напрямую API Wi-Fi ядра, он полагается на wpa_supplicant для этого. Это может быть то, что wpa_supplicant.serviceзаклинило, или продолжает падать, или конфликтует сдругойИнструмент Wi-Fi (например, iwd, connman или другой экземпляр wpa_supplicant, случайно запущенный другим приложением).

Вы можете увеличить уровень детализации NetworkManager, выполнив:

nmcli gen log level debug

и wpa_supplicant, запустив:

busctl set-property fi.w1.wpa_supplicant1 \
                   /fi/w1/wpa_supplicant1 \
                    fi.w1.wpa_supplicant1 DebugLevel s debug

Кроме того, попробуйте полностью обойти NM и w_s и напрямую попросить ядро ​​выполнить сканирование сетей — если это сработает, проблема, скорее всего, на стороне пользовательского пространства; если нет, то она, скорее всего, на стороне драйвера/оборудования:

iw wlan0 scan

решение2

Попробуйте заменить карту WI-FI(аппаратное обеспечение).

Мне это обошлось примерно в 20 долларов за новую, и ее довольно легко найти внутри вашего ноутбука (поищите помощь на you-tube). Я взял номер детали прямо со старой карты. Вам понадобятся несколько маленьких отверток типа часовых.

Прошло два месяца с момента получения новой карты, и проблема исчезла.

Мой выглядел так:

введите описание изображения здесь

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