LINUX.ORG.RU

Компиляция драйвера Tp-link TL-WN821N V6 WI-FI адаптер

 


0

1

предисловие - Tp-link TL-WN821N V6 WI-FI адаптер

Сами драйвера - https://www.tp-link.com/us/support/download/tl-wn821n/#Driver

Последний Linux Mint, распаковал и стабильный и бета драйвер с сайта тплинк, набираю

sudo make clean
#make -C /lib/modules/5.15.0-56-generic/build M=/home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047 clean
cd hal ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko
cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd core/efuse ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
rm -fr .tmp_versions

Далее

$ sudo make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.15.0-56-generic/build M=/home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047  modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-56-generic'
  CC [M]  /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o
In file included from /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service.h:47,
                 from /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/drv_types.h:27,
                 from /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.c:17:
/home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:299:15: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  299 |         ptimer->data = (unsigned long)cntx;
      |               ^~
/home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:300:9: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  300 |         init_timer(ptimer);
      |         ^~~~~~~~~~
      |         _init_timer
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o] Error 1
make[1]: *** [Makefile:1903: /home/test/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-56-generic'
make: *** [Makefile:1828: modules] Error 2

и естественно ничего не работает, я даже не помню когда этот make работал, поэтому такие вещи я даже не начинаю. Кстати почему в архиве рядом с этими файлами не положат скомпилированный файл?

★★

Последнее исправление: Sapetuko (всего исправлений: 3)

похоже у линукса как всегда проблемы с совместимостью https://forum.tp-linkru.com/viewtopic.php?t=11277#p73695

попробовал это https://github.com/michaelgugino/rtl8188EUS
там тоже та же ошибка Постскриптум - набрал магические команды оттуда же, половина написала что нет такого, но процесс пошел и пока я писал завершился длиннющим списком ошибок

.....
...
......
make[10874]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10875]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10876]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10877]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10878]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10879]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10880]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10881]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10882]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10883]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10884]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10885]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10886]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10887]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10888]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
make[10889]: Entering directory '/home/test/Downloads/rtl8188EUS-master'
make ARCH=x86_64 CROSS_COMPILE= -C /home/test/Downloads/rtl8188EUS-master M=/home/test/Downloads/rtl8188EUS-master  modules
...
...
...
file:1367: modules] Error 2
make[57]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[56]: *** [Makefile:1367: modules] Error 2
make[56]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[55]: *** [Makefile:1367: modules] Error 2
make[55]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[54]: *** [Makefile:1367: modules] Error 2
make[54]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[53]: *** [Makefile:1367: modules] Error 2
make[53]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[52]: *** [Makefile:1367: modules] Error 2
make[52]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[51]: *** [Makefile:1367: modules] Error 2
make[51]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[50]: *** [Makefile:1367: modules] Error 2
make[50]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[49]: *** [Makefile:1367: modules] Error 2
make[49]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[48]: *** [Makefile:1367: modules] Error 2
make[48]: Leaving directory '/home/test/Downloads/rtl8188EUS-
make[28]: *** [Makefile:1367: modules] Error 2
make[28]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[27]: *** [Makefile:1367: modules] Error 2
make[27]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[26]: *** [Makefile:1367: modules] Error 2
make[26]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[25]: *** [Makefile:1367: modules] Error 2
make[25]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[24]: *** [Makefile:1367: modules] Error 2
make[24]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[23]: *** [Makefile:1367: modules] Error 2
make[23]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[22]: *** [Makefile:1367: modules] Error 2
make[22]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[21]: *** [Makefile:1367: modules] Error 2
make[21]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[20]: *** [Makefile:1367: modules] Error 2
make[20]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[19]: *** [Makefile:1367: modules] Error 2
make[19]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[18]: *** [Makefile:1367: modules] Error 2
make[18]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[17]: *** [Makefile:1367: modules] Error 2
make[17]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[16]: *** [Makefile:1367: modules] Error 2
make[16]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[15]: *** [Makefile:1367: modules] Error 2
make[15]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[14]: *** [Makefile:1367: modules] Error 2
make[14]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[13]: *** [Makefile:1367: modules] Error 2
make[13]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[12]: *** [Makefile:1367: modules] Error 2
make[12]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[11]: *** [Makefile:1367: modules] Error 2
make[11]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[10]: *** [Makefile:1367: modules] Error 2
make[10]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[9]: *** [Makefile:1367: modules] Error 2
make[9]: Leaving directory '/home/test/Downloads/rtl8188EUS-master'
make[8]: *** [Makefile:1367: modules] Error 2
make[8]: Leaving directory '/home/test/Downloads/rtl8188EUS-

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 3)

наконец то компиляется вот этот драйвер - https://github.com/lwfinger/rtl8188eu

возможно подойдет
п.с не подошло или я неправильно поставил его(скопировал в /lib/firmware/rtlwifi/ файл rtl8188eufw.bin и перезапустил networkmanager)

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 2)

Кстати почему в архиве рядом с этими файлами не положат скомпилированный файл?

Модуль, собранный на одной системе, может не подойти ядру в другой системе. И скорее всего не подойдёт. Поэтому особо нет смысла заранее компилировать.

apt_install_lrzsz ★★★
()
Ответ на: комментарий от apt_install_lrzsz

очень много текста наподобии вот этого

[ 4270.176632] [UFW AUDIT] IN= OUT=wlx2887bacc9fa9 SRC=192.168.1.110 DST=37.48.78.235 LEN=1100 TOS=0x00 PREC=0x00 TTL=64 ID=31850 DF PROTO=TCP SPT=58326 DPT=4444 WINDOW=6714 RES=0x00 ACK PSH URGP=0 
[ 4270.276260] [UFW AUDIT] IN=wlx2887bacc9fa9 OUT= MAC=28:87:ba:cc:9f:a9:98:48:27:ee:14:dc:08:00 SRC=37.48.78.235 DST=192.168.1.110 LEN=52 TOS=0x00 PREC=0x00 TTL=53 ID=54664 DF PROTO=TCP SPT=4444 DPT=58326 WINDOW=2312 RES=0x00 ACK URGP=0 
[ 4270.401165] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=62496 DF PROTO=TCP SPT=40988 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401179] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=62496 DF PROTO=TCP SPT=40988 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401191] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=53699 DF PROTO=TCP SPT=9050 DPT=40988 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401196] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=53699 DF PROTO=TCP SPT=9050 DPT=40988 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401225] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=9996 DF PROTO=TCP SPT=40890 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401230] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=9996 DF PROTO=TCP SPT=40890 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401235] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=50004 DF PROTO=TCP SPT=9050 DPT=40890 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401238] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=50004 DF PROTO=TCP SPT=9050 DPT=40890 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401263] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=11990 DF PROTO=TCP SPT=33042 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401267] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=11990 DF PROTO=TCP SPT=33042 DPT=9050 WINDOW=512 RES=0x00 ACK PSH URGP=0 
[ 4270.401272] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=1288 DF PROTO=TCP SPT=9050 DPT=33042 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401276] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=1288 DF PROTO=TCP SPT=9050 DPT=33042 WINDOW=512 RES=0x00 ACK URGP=0 
[ 4270.401307] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=588 TOS=0x00 PREC=0x00 TTL=64 ID=59594 DF PROTO=TCP SPT=47192 DPT=36365 WINDOW=16884 RES=0x00 ACK PSH URGP=0 
[ 4270.401315] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=588 TOS=0x00 PREC=0x00 TTL=64 ID=59594 DF PROTO=TCP SPT=47192 DPT=36365 WINDOW=16884 RES=0x00 ACK PSH URGP=0 
[ 4270.401322] [UFW AUDIT] IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=43535 DF PROTO=TCP SPT=36365 DPT=47192 WINDOW=505 RES=0x00 ACK URGP=0 
[ 4270.401331] [UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=43535 DF PROTO=TCP SPT=36365 DPT=47192 WINDOW=505 RES=0x00 ACK URGP=0 

Sapetuko ★★
() автор топика

ууфф наконец, спасибо Игорю который написал коммент в яндекс маркете ну и автору который написал софт https://market.yandex.ru/product--wi-fi-adapter-tp-link-tl-wn821n/2419957/reviews?cpa=1

Скорость как на винде, уровень сигнала тоже, лампочка не горит всё равно на линуксе)

Надеюсь в будущем или на других дистрибутивах не будет проблем(будут).

Sapetuko ★★
() автор топика
Последнее исправление: Sapetuko (всего исправлений: 2)

продублирую на всякий случай его пост

"TP-Link TL-WN821N v6
Мой зверёк - https://www.tp-link.com/ru/support/download/tl-wn821n/
После свежей установки Ubuntu на PC, адаптер был сразу найден, для него подгрузился модуль rtl8xxxu. Всё-бы ничего, но после перезагрузки NetworkManager напрочь отказывался подключаться к WiFi. Требовалось передёргивать адаптер, а с ситсемником, который стоит на полу, это не очень удобно. Однако после некоторых потуг, я таки исправил ситуацию. Сейчас обьясню.

0. НЕ стоит качать драйвера с оф сайта. На сегодняшний день они компилируются криво, встают ещё хуже, иногда адаптер вообще не виден.
1. Качаем git-репу:

git clone https://github.com/Mange/rtl8192eu-linux-driver.git

2. Ставим, если не стоят, пакеты:

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

3. Заходим в папку с исходниками, компилим:

cd rtl8192eu-linux-driver
make clean
make
sudo make install

4. Запрещаем PowerManagment для нового драйвера, блэклистим стандартный драйвер:

echo "options 8192eu rtw_power_mgnt=0 rtw_enusbss=0" | sudo tee /etc/modprobe.d/8192eu.conf
echo "blacklist rtl8xxxu" | sudo tee /etc/modprobe.d/rtl8xxxu.conf

5. Перезагружаемся

PS: На данный момент (20190719) эти адаптеры работаю только так, хз почему. Данные настройки я применял в Ubuntu 18.04 - 19.04, Slackware 14.2, Debian 9. Главное - ядро >=4.4 (на 5.0 тоже работает)".

Вопрос зачем нужен "sudo apt-get install git linux-headers-generic build-essential dkms"?
Вот это мне помогло.. на Ubuntu 20.04..
На сайте производителя устройства драйвера до ядра 4.9 (как бы!).
Sapetuko ★★
() автор топика
5 июня 2023 г.