• $ USD 00,00
  • € EUR 00,00

Слабый Wi-fi сигнал на чипе RTL8723BE

Суть проблемы:

Слабый Wi-Fi на ноутбуке с Linux, чаще всего (но не всегда), обусловлен наличием в системе неправильного, или же устаревшего, драйвера. В таких случаях достаточно установить другой, нужный драйвер, используя проводное соединение, или и вовсе загрузить архив (tar.gz) на флеш-носитель, после чего установить его, используя терминал. Честно говоря, в новейших ядрах Linux Kernel подобной проблемы возникать не должно. Потому как начиная с версий 3.х была проделана огромная работа по систематизации всех известных чипов, и, соответственно, разработке для них хорошо поддерживаемого открытого ПО в виде сборок драйверов. Однако, в нашем случае драйверы играют не столь серьезную роль. С Wi-Fi чипом RTL8723BE дело обстоит совсем иначе. Сколь много бы Вы не пытались переустанавливать драйверы для этого чипа, сигнал будет по-прежнему слабым, и будет отваливаться. (в свое время я прошестерил весь интернет с запросами: "Linux проблемы с Wi-Fi на RTL8723BE", или же "Слабый сигнал Wi-Fi на Linux с RTL8723BE", толкового, правда я ничего не находил. И в итоге мне пришлось "курить маны" англоязычных вики, и форумов). Проблема здесь, к сожалению, в самом чипе. Производитель решил сэкономить, сделав на модуле только 1 единственную антенну. И если Windows-драйверы "знают" об этом, используя как раз таки одну-нужную, то Linux об этом не знает (используются настройки для двух антенн), и оттого возникает проблема с катастрофически слабым сигналом Wi-Fi

Решение:

Самое быстрое решение в данном случае (допустим, если вы запустили Live-cd сборку, и там также наблюдается крайне слабый сигнал), так это открыть терминал, и прописать там следующие строки: 

$ sudo modprobe -rv rtl8723be

$ sudo modprobe -v rtl8723be ant_sel=1

 

Этими действиями вы укажете Linux, что нужно использовать антенну - с ID=1, то бишь решите известную проблему, и сигнал наладится. Однако, то может не всегда работать, если, допустим, в каком-то ином дистрибутиве Linux установлен другой драйвер, использующий другую систему идентификации, а значит и ID может отличаться. Тогда в конце второй строчки просто прописываем ant_sel=2, используя идентификатор "2", заместо "1", и это решает проблему. Итак, проблема решена, сигнал налажен (проверить это можно в меню выбора Wi-Fi соединений, а также используя команду: $ sudo iwlist wlan scan | egrep "SSID|level" )

К сожалению, после перезагрузки вы обнаружите, что сигнал снова "слабый", и вам придется заново прописывать те две строчки, чтобы "указать" Linux на нужную антенну. Чтобы этого не делать нужно "записать" изменения в конфигурационный файл. А сделать это можно посредством введения в терминал такой команды: 

$ sudo echo "options rtl8723be fwlps=0 ant_sel=1" | sudo tee /etc/modprobe.d/rtl8723be.conf

 

Собственно, это все, при последующих загрузках системы, Linux будет использовать параметр "ant_sel" для вашего чипа RTL8723BE. Кстати говоря, это же можно попробовать проделать и с другими чипами от Realtek, изменив название чипа rtl8723be на свое. 

Но, помимо этого решения (вернее, к дополнению к этому) существует альтернативное, которое подразумевает установку более нового драйвера, перед последующим использованием команд "modprobe", что может улучшить качество сигнала еще сильнее. (сам я каких-то видимых различий не замечал, но Вы можете попробовать). Однако, перед тем как использовать этот метод, я, все же, рекомендую воспользоваться двумя командами "modprobe", это исключит надобность в подключении проводного соединения Ethernet, но не стоит "записывать" изменения в конфигурационный файл последней командой.

Итак, перед тем как начать воспроизводство альтернативного решения, нам нужно установить кое-что важное (если оно еще не установлено), а именно - утилиту- Git:

Для Ubuntu/Debian это будет выглядеть так:

$ sudo apt-get install build-essential linux-headers-generic git

(Здесь же, как вы видите, есть и два других важных компонента)

Для Arch/Manjaro/Antergos:

$ sudo pacman -S base-devel linux-headers git

 

Для RPM-дистрибутивов: (Если у вас OpenSuse, то все нужные компоненты должны быть уже установлены, что называется "из коробки")

$ sudo yum update

$ sudo yum groupinstall "Development Tools" "Legacy Software Development"

$ sudo yum install git-core

 

Важно знать, что в большинстве случаев, у вас уже должны быть установлены все необходимые компоненты "из коробки", поэтому вы можете попробовать перейти к следующему шагу. 

Теперь мы должны загрузить сам драйвер, а вернее - его исходники. Для этого вводим в терминал команду: 

$ git clone -b "rock.new_btcoex" https://github.com/lwfinger/rtlwifi_new

 

Эта команда загрузит нужные файлы в домашнюю папку (/home). И далее нам нужно будет собрать сам драйвер, и установить его:

$ cd rtlwifi_new/

$ make 

$ sudo make install

 

Итак, после того, как все скомпилируется и установится (чаще всего, наиболее длительной оказывается сама компиляция исходников; команда $ make, в данном случае это займет примерно 5 минут), нам нужно будет перегрузить модуль, то есть использовать "modprobe":

$ sudo modprobe -rv rtl8723be

$ sudo modprobe -v rtl8723be ant_sel=2

 

Обратите внимание, что теперь мы используем ant_sel=2, по моему личному опыту, с данным драйвером работает именно такая система идентификации, но если у вас что-то не получится, вы можете попробовать использовать ant_sel=1.

Что же, теперь нам вновь нужно записать изменения в конфигурационный файл:

$ sudo echo "options rtl8723be fwlps=0 ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf

 

Как и прежде, при перезагрузке системы будут использоваться нужные параметры, и сигнал будет нормальным. 

Важно знать:

Вы можете использовать команды "modprobe" в любых live-cd дистрибутивах (это может вам помочь в решении проблем с отсутствием интернета при установке), также вы можете использовать это даже при установке Arch Linux, введя команды modprobe -rv rtl8723be и modprobe -v rtl8723be ant_sel=1 в консоль. (делать это нужно перед использованием утилиты wifi-menu). Но после установки дистрибутива на жесткий диск, вам все равно придется по-новой воспроизводить этот алгоритм (без записи изменений в файл .conf введенные атрибуты не сохраняются в системе) Повторение инструкции, возможно, может потребоваться и после установки нового ядра Kernel. 


18
Декабрь
0
711

Комментарии к записи: 0

avatar