У меня есть USB-адаптер Wi-Fi (TPLINK TL-WN822N. Я скачал драйвер linux от производителей Страница загрузки и попытался скомпилировать его, но всегда получаю ошибки при попытке запустить команду make .
У меня Linux Mint 19.1 с рабочим столом XFCE. uname -a
дает следующее:
- Linux user-HomePC 4.15.0-47-generic # 50-Ubuntu SMP Ср. 13 марта 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux
Мое мнение таково, что проблема вызвана версией gcc.
У меня также есть LXLE linux, установленный на старом ПК, и компиляция драйвера может быть выполнена без каких-либо ошибок. И установленный драйвер работает отлично.
Linux Mint имеет
версия gcc: версия gcc 7.3.0 (Ubuntu 7.3.0-27ubuntu1 ~ 18.04)
make версия: GNU Make 4.1
Linux LXLE имеет
версия gcc: версия 5.4.0 gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.11)
make version: GNU Make 4.1
Когда я запускаю команду make, я получаю следующие сообщения:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.15.0-47-generic/build M=/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047 modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-47-generic'
CC [M] /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o
In file included from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service.h:47:0,
from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/drv_types.h:27,
from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.c:17:
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:299:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’
ptimer->data = (unsigned long)cntx;
^~
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:300:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
init_timer(ptimer);
^~~~~~~~~~
_init_timer
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o' failed
make[2]: *** [/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o] Error 1
Makefile:1552: recipe for target '_module_/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047' failed
make[1]: *** [_module_/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-47-generic'
Makefile:1828: recipe for target 'modules' failed
make: *** [modules] Error 2
Если я прав, и проблема вызвана более новой версией gcc, то есть ли способ использовать другую версию gcc для случайной компиляции?
Если проблема в чем-то еще, что это может быть?
Я новичок в платформе Linux, и, возможно, ответ настолько профан, но некоторая помощь будет очень признательна.
пс. И извините за мой английский, не мой родной язык;