С тех пор, как я начал использовать openwrt на своем роутере, начало происходить что-то странное.
Обычно у меня ежедневно подключается 4 устройства (2 телефона и 2 ноутбука) к точке доступа/маршрутизатору WiFi, но один из ноутбуков (а именно XPS 13 9365) начал внезапно «отключаться». Я процитировал это слово, потому что теоретически я все еще подключен, но сетевое соединение просто перестает работать.
Это странно, потому что в некоторые дни проблема просто не проявляется, а в другие дни это настоящий кошмар, когда соединение перестает работать каждые пару минут. И только для XPS 13. Другие устройства работают как шарм, даже когда у меня одновременно подключено около 10 устройств.
Это то, что я получаю сразу после того, как замечаю остановки сети:
$ sudo iw dev ссылка "wlp60s0"
Подключено к **:**:**:**:**:** (на wlp60s0)
SSID: my_ap
частота: 2447
RX: 15583826 байт (14173 пакета)
TX: 1550845 байт (6382 пакета)
сигнал: -40 дБм
битрейт rx: 144,4 МБит/с MCS 15 короткий GI
битрейт передачи: 144,4 МБит/с MCS 15 короткий GI
флаги bss: короткая преамбула, короткое время
дневной период: 2
маяк инт: 100
И у меня все еще есть IP-адрес и т. д.:
$ список IP-адресов
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
3: enx00e04c6810ec: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel состояние DOWN группа по умолчанию qlen 1000
ссылка/эфир **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
5: wlp60s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 10.0.0.11/24 brd 10.0.0.255 область видимости глобальная динамическая wlp60s0
valid_lft 43060 сек. selected_lft 43 060 сек.
inet6 fe80::fa63:3fff:fe2f:837/64 ссылка на область видимости
valid_lft навсегда
Итак, из приведенного выше вы можете видеть, что я все еще подключен к точке доступа и имею действительный IP-адрес. Но независимо от того, кого я пытаюсь пропинговать, я получаю 100% потерю пакетов. Другие способы подключения (например, ssh, браузер и т. д.) также не работают. Видеть:
$ пинг 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56 (84) байт данных.
^ С
--- 10.0.0.1 статистика пинга ---
2 пакета передано, 0 получено, 100% потери пакетов, время 1011 мс
Я также попытался проверить наличие системных сообщений. Неудачно:
$ dmesg
$
Примечание: я выпустил судо dmesg -c
сразу после загрузки, чтобы упростить выявление проблем и пока сеть еще можно было использовать.
Я под Ubuntu 20.04.3:
$ кот /etc/выпуск
Ubuntu 20.04.3 LTS\n\l
Мое беспроводное устройство:
$ лспци | grep -я сеть
3c:00.0 Сетевой контроллер: Intel Corporation Wireless 8265/8275 (версия 78)
В качестве временного обходного пути я разработал сценарий для остановки NetworkManager и повторного подключения через командную строку. Что-то вроде этого:
iface="wlp60s0"
эссид = "мой_ап"
tmpfile="/tmp/wpa.conf"
проход = "мой_пасс"
sudo systemctl остановить NetworkManager.service
sudo iw dev "$iface" del
Интерфейс sudo iw phy phy0 добавить управляемый тип «$ iface»
sudo ip link set "$iface" вверх
sudo wpa_passphrase "$essid" "$pass" > "$tmpfile"
sudo wpa_supplicant -i"$iface" -c"$tmpfile" -B
sudo dhclient -v "$iface"
Это немного облегчает жизнь, но, конечно, это временно, рудиментарно и далеко от идеала. А также это не очень помогает, так как я все равно время от времени теряю соединение, точно так же, как когда я использую NetworkManager. Это быстрее, чем ждать перезапуска NetworkManager...
Что я пробовал до сих пор
- Отключение wifi power_save с помощью
sudo iw dev wlp60s0 отключить энергосбережение
.
- Отключение энергосбережения Wi-Fi через NetworkManager путем редактирования
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
и изменение wifi.powersave = 3
к wifi.powersave = 2
затем перезапуск. (источник: https://unix.stackexchange.com/a/315400/108418)
- Изменение безопасности Wi-Fi на маршрутизаторе (WPA -> WEP или другое) (источник: 20.04 не может подключиться к Wi-Fi 5Ghz после обновления)
- Изменение режима Wi-Fi с «N» на «Legacy». Этот, казалось, решил проблему, но, возможно, потому, что я не использовал его достаточно долго. Кроме того, падение скорости сети, очевидно, делает этот вариант неосуществимым.
- Включение режима отладки NetworkManager и попытка определить возможные проблемы.
Ничего из вышеперечисленного не сработало.
Другие ссылки, которые я посетил
Это были некоторые из моих попыток, но либо симптомы не совсем такие же, либо предложенное решение не сработало для меня...
https://www.reddit.com/r/linuxquestions/comments/ausg6k/arch_wifi_stays_connected_but_theres_no_internet/ehc3oph/
https://blog.stigok.com/2017/03/26/wifi-loses-connectivity-periodically-wpasupplicant-reason-4.html
Поэтому я публикую все это здесь в надежде, что кто-то уже прошел через это и, возможно, сможет пролить свет...
Большое спасибо!
Обновление №1
Я нашел способ воспроизвести проблему. Каждый раз, когда я захожу на эту страницу и просматриваю фотографии (чтобы браузер загружал много фотографий одновременно, параллельно), соединение обрывается.
https://www.facebook.com/terraadentropelomundo/photos/
Интересно, есть ли проблемы с беспроводным драйвером при одновременной обработке множества подключений.
Обновление №2
Просматривая другие форумы в надежде найти решение, я наткнулся на это:
Кажется, стало лучше, когда я изменил «Интервал маяка» с
по умолчанию от 100 мс до 50 на моей точке доступа. Пока нет отключений в трех
дней.
РЕДАКТИРОВАТЬ: Могу подтвердить, проблема кажется исправленной после этого изменения.
(источник: https://bugs.archlinux.org/task/58457#comment185619)
Это имеет смысл, учитывая, что я начал сталкиваться с этой проблемой после перехода на openwrt на своей точке доступа. Так что, безусловно, есть что-то странное с драйвером / прошивкой Intel, но смена маяка на моей точке доступа, похоже, решает проблему. Я проверю еще несколько дней и посмотрю, исчезла ли проблема.
Обновление №3
Не работает. Даже используя маяк 50 мс в openwrt, я все еще время от времени отключаюсь без каких-либо сообщений, появляющихся в dmesg
...