Я купил ноутбук с Wi-Fi-адаптером Realtek rtl8723bu. Wi-Fi работает медленно и со слабым сигналом по сравнению с окнами. Я искал в сети, и есть некоторые решения, которые загружают драйвер с github, но ни одно из них не сработало для меня (с первого шага я получаю сообщение об ошибке). Что я мог сделать? Большое спасибо.
Я выполнил следующие действия:
1-й шаг:
sudo apt install build-essential dkms
sudo apt install git
git clone https://github.com/lwfinger/rtl8723bu.git
sudo apt install libelf-dev
2-й шаг:
sudo -i
echo blacklist rtl8xxxu >> /etc/modprobe.d/blacklist.conf
exit
Это гарантировало, что старый драйвер не использовался для моего устройства. В моем случае проблемным драйвером был rtl8xxxu. Так что я в черном списке.
3-й шаг: теперь я отключил строку в make-файле нового драйвера, потому что без этого хака два экземпляра беспроводного чипсета были показаны в Network Manager
cd rtl8723bu
nano Makefile
. Перейдите к строке 21 и измените эту строку:
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
Чтобы закомментировать это, вот так:
#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
Сохранить (Ctrl + o, затем Enter) и выйти (Ctrl + x) текстового редактора.
4-й шаг: теперь соберите и установите драйвер:
source dkms.conf
sudo mkdir /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION
sudo cp -r core hal include os_dep platform dkms.conf Makefile rtl8723b_fw.bin /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION
sudo dkms add $PACKAGE_NAME/$PACKAGE_VERSION
sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION
5-й шаг: Наконец, установите скомпилированный модуль с помощью этой команды:
make
sudo make install
Но я не могу dkms провалиться на первом этапе. Также мне интересно, безопасное ли это занятие.
У меня работает нормально. Ошибок сборки нет.
Протестировал на виртуальной машине с Ubuntu 18.04LTS.
Я выполнил все шаги, кроме make
и make install
, которые не нужны, а не должен выполняться с помощью DKMS.
make
+ make install
предназначены для ручной установки, только если вы не используете DKMS. Затем вы должны выполнять make
+ make install
каждый раз, когда вы устанавливаете новое ядро, или у вас нет драйвера с новым ядром. Именно поэтому была сделана покупка DKMS - так что вам не нужно. С DKMS все автоматически.
Мой журнал сборки, ошибок нет:
$ sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j2 KERNELRELEASE=4.15.0-70-generic -C /lib/modules/4.15.0-70-generic/build M=/var/lib/dkms/rtl8723bu/4.3.6.11_12942.20141204_BTCOEX20140507-4E40/build............
cleaning build area...
DKMS: build completed.
rtl8723bu.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.15.0-70-generic/updates/dkms/
depmod...
DKMS: install completed.
Если вы выполнили make install
, то вам нужно очистить его перед повторной попыткой.
Попробуйте это (замените / path / to на реальный путь):
cd /path/to/rtl8723bu
sudo make uninstall
А затем повторите попытку без make
и make install
Если вы больше ничего не делали, вам, вероятно, понадобятся только эти две строки из 4-го шага:
source dkms.conf
sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION