Уголок новичка
   6495

Низкая скорость соединения по Wi-Fi, Networkmanager и "счастливые обладатели" TL-WN822N (с v.1 по v.4)

Решил в одном топике по возможности собрать раскиданную в разных местах информацию о данной проблеме. Целью публикации ставлю максимально проинформировать интересующихся вопросом.

Нестабильная связь по Wi-Fi для рассмотренных случаев может иметь две причины:
1. Продолжающиеся примерно с осени 2015 года поэтапные изменения в Networkmanager, релиз в апреле 2016. И, соответственно, его совместимость с установленными у вас оборудованием и драйверами.
2. Вы являетесь «счастливым обладателем» TL-WN822N (с v.1 по v.4). Или же иначе — требуется драйвер.

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

ГЛАВА 1. NETWORKMANAGER
Для начала отмечу, что разработка приложения ведётся прежде всего для DE GNOME.
Цитата. «Ключевые новшества NetworkManager 1.2:
Добавлен механизм для борьбы c отслеживанием перемещения пользователя. Основной проблемой является то, что MAC-адрес, привязанный к беспроводному адаптеру, отправляется в эфир даже если устройство не подключается к точке доступа. Все находящиеся в зоне досягаемости беспроводные сети видят отправляемый при сканировании сетей неизменный MAC-адрес, отождествлённый с одним и тем же устройством, что позволяет скрыто отслеживать перемещение пользователя.
Суть представленного в NetworkManager метода противодействия отслеживанию в использовании случайно сгенерированного MAC-адреса при выполнении операции сканирования сетей. Перед подключением и при привязке к точке доступа MAC-адрес изменяется на постоянный, который указан в прошивке беспроводного адаптера, что позволяет избежать проблем с привязкой параметров клиента. В качестве опции предусмотрена возможность рандомизации постоянного MAC-адреса, но её использование сопряжено с риском возникновения проблем с фильтрами на точке доступа.»


В итоге новшеств у пользователей стали возникать проблемы. Различного свойства. Однако разработчики Manjaro упорно продолжали с этим бороться, далее цитата. «Очередная крупная ошибка поселилась в пакете NetworkManager. Можно надеяться, что проблема будет решена с помощью 1.4.1dev+33+gc87b89b. Сообщайте о проблемах, возникающих в работе WLAN.» Понятно, что слово «очередная» стоит многого. Потому пожалеем разработчиков, пожелаем удачи и оставим без комментариев.

Рекомендации для текущего момента.
1. Откатить (при возможности) на ранее хорошо работающую версию Networkmanager. C помощью утилиты downgrade из AUR. Либо скачать отсюда.
2. Иногда помогает отключение функции смены MAC-адреса. Далее рекомендация от разработчиков Manjaro.
Отключение случайного выбора mac-адреса в беспроводных сетях:
Воспользуйтесь nmcli, чтобы навсегда отключить 802-11-wireless.mac-address-randomization для каждого подключения в отдельности или установите

[device]
wifi.scan-rand-mac-address=no 

в /etc/NetworkManager/NetworkManager.conf, чтобы полностью отключить данную функцию.
3. Перейти на проводное соединение ))).

ГЛАВА 2. TL-WN822N (с v.1 по v.4)
Номер версии своего адаптера можно узнать перевернув его. И прочитать на наклейке. Начиная с четвёртой версии на сайте производителя отсутствуют драйвера для Linux. Пишу об этом, поскольку встречал на форумах случаи, когда это имеет значение. Внутри устройства установлено железо Realtek RTL8192cu, требующее соответствующих драйверов. Проблема заключается в том, что Линус Торвальдс в версии ядра 3 по какой-то причине забыл об этих драйверах. Поэтому уже не один год для различных дистрибутивов линукс изобретаются костыли. Другими словами умельцы патчат ядро, встраивая туда драйвер 8192cu. Одновременно внося в блэклист драйвер, который на этапе установки прописывается и хоть как-то обеспечивает связь. Отмечу, что некорректное проведение именно 2-х этапов нередко снова приводит к проблемам.
Радость линуксоидов, использующих 4-е ядро также оказалась недолгой. Поскольку с одной стороны о драйвере вспомнили, но с другой — реализация оказалась не очень. Другими словами работа, встроенного в ядро драйвера вызывает нарекания. Хорошая новость в том, что баг-репорты об этом есть. И по слухам разработчики вроде как вносят исправления. И тут остаётся только ждать. Пользователи Archlinux и Manjaro тоже получили свои костыли в AUR. Но и здесь возникает проблема из трёх частей:
1. Нет регулярных обновлений под новые версии ядра.
2. Возникают проблемы с изменяющимся Networkmanager.
3. Переход пользователя на новую версию ядра требует повтор патча.
И это несколько раз обсуждалось на форуме.

Рекомендации для текущего момента.
1. Используйте текущую LTS версию ядра (рекомендованную разработчиками Manjaro). При условии, что вы «справились» с Networkmanager'ом обеспечивается достаточно приемлемая связь. Понимаю, что всё это субъективно.
2. Попробуйте перейти на более новую версию ядра. Возможно там работа драйвера 8192cu нормализована. Но помните, что в ОС помимо хорошей связи необходима корректная работа всех компонентов)
3. Поэкспериментируйте с костылями из AUR. Не забывая, что в роллинг-релизах меняется и ядро, и Networkmanager)

ГЛАВА 3. ТРЕТИЙ ФАКТОР
Это касается пользователей, которые на одном устройстве используют и Linux, и Windows (дуалбут). Вопрос также обсуждался на форуме. Вооружённым информацией из двух предыдущих глав будет легче понять)
Бывает так, что скорость соединения в Windows 10 составляет 40-50 Мбит/с. А при переходе (после перезагрузки) на Manjaro скорость около 4-5 Мбит/с. Теперь повторяю собственный пост.

У меня схожая проблема на десктопе (соединён с сетью по Wi-Fi через TP-Link посредством rtl8192cu). Два варианта.
1. По умолчанию загружается Manjaro — все работает как надо. То же самое, если ПЕРЕЗАГРУЗКОЙ начинаю работать с win 10. В винде всё без проблем.
2. Если после включения компьютера первой загружаю винду, то в ней всё опять же без проблем. Но если ПЕРЕЗАГРУЗКОЙ перехожу на Manjaro — получаю падение скорости примерно в десять раз.
***
Моё лечение. Если сначала использовал Windows, то для работы в Mаnjaro вынужден ВЫКЛЮЧАТЬ компьютер. Жду 10-12 секунд, включаю и загружаю Manjaro. Проблем со скоростью нет. Кратко: после винды надо выключать компьютер, чтобы при работе в линукс не было проблем со скоростью по Wi-Fi.
Возможно и у Вас нечто подобное. Кстати, тоже намучился пока осознал что происходит)
P.S. На самом деле выходит, что после винды надо «сбрасывать» Wi-Fi модуль. Чего уж там win 10 вытворяет… Может очередной зонд)


Рекомендации для текущего момента.
Думаю, что проблема как раз таки в неудачном встраивании драйвера 8192cu в 4-е ядро. Так как в случае пропатченного ядра 8192cu-dkms такая проблема отсутствует. Помимо выключения компьютера мне помогает разъединение связи и после ввода пароля заново повторное подключение. После этого обычная для линукс скорость соединения восстанавливается (но всё равно ниже, чем в windows).

Заключение
Спасибо тем, кто смог дочитать до конца. Возможно кто-то подправит, добавит. Надеюсь, что кому-то данная информация сэкономит много времени и сил. А ещё лучше, чтобы разработчики в скором времени сняли все вопросы по этой теме!
Ну и главное. Даная публикация никого не должна «пугать». При разумном подходе всё преодолимо. Manjaro 16.10 KDE (ядро 4.4.28-2) является основной рабочей системой и полностью выполняет все задачи, которые мне необходимо решать с помощью компьютера.

7 комментариев

avatar
Очень развернуто и по делу.
Снимаю шляпу!

PS Сам являюсь «счастливым» обладателем сего девайса и помучившись плюнул и воткнул шланг rj45. Все проблемы с сетью как рукой. =)
Последний раз редактировалось
+2
avatar
Спасибо за Ваше сообщение! На самом деле как только появилось время хотел ответить коллегам в соседних ветках, которые борются с теми же проблемами. Но когда засел — понял, что просто ещё одним постом отделаться не получится. В итоге не раз вспотел)), но получилось то, что выше.
Последний раз редактировалось
0
avatar
Только на днях с NetworkManager боролся. Увы, но не смог его одолеть. Советую всем, у кого возникают проблемы с его работой — ставить версию 1.0.12-1. Именно этот метод всем временно и помогает. Естественно, пакет временно не обновляем «до лучших времен». Скачать сам пакет можно по выше выложенной ссылке на архив. Кстати, эта же бяка встречается и в других дистрибутивах, не основанных на Arch.

А вот про проблемы работы адаптера с дуалбутом слышу не впервые. Причем, не обязательно Windows 10 стоит второй системой. Думаю, что можно было бы пошаманить с версиями драйверов на Windows, но это уже просто размышления.
0
avatar
До начала собственных экспериментов сидел на версии NM 1.0.10-1 (26 дек 2015). Достаточно стабильно работал. Но надо не забыть внести его в список НЕ обновляемых пакетов.
0
avatar
Подскажите, пожалуйста, КАК внести его (NetworkManager)в список НЕ обновляемых пакетов? Буду очень благодарен.
0
avatar
Прежде всего скажу, что в моменте использую Manjaro 16.10 Fringilla [STABLE UPDATE] 2017-01-04. Включая пакет Networkmanager 1.4.4-1 и ядро 4.4.39-1. KDE 5.29.0 / Plasma 5.8.5. Претензий по скорости соединения нет — всё согласно условий провайдера. Другими словами жизнь наладилась)

По вопросу. Если опыта работы с линукс пока мало, то Вам скорее всего подойдёт следующее. Редактируем файл pacman.conf с помощью kate (чаще используют редактор nano)
sudo nano /etc/pacman.conf 

Найдите и раскомментируйте (уберите знак # ) строку IgnorePkg и приведите её в вид
IgnorePkg = networkmanager

Кстати, через пробел можно добавлять любые другие пакеты
IgnorePkg = networkmanager nautilus

Сохраните изменения. Пользуемся)
Последний раз редактировалось
0
avatar
Спасибо! Долго не мог разобраться, грешил на провайдера, Wi fi адаптер, а оказалось что лечится банальным выключением компьютера! Ещё раз спасибо!
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.