我有一个USB wifi适配器(TPLINK TL-WN822N。我从制造商download page下载了linux驱动程序,并试图对其进行编译,但是当我尝试运行make命令时,总是会出错。 >
我有一个带有XFCE桌面的Linux Mint 19.1。 uname -a
提供以下内容:
我认为问题是由gcc版本引起的。
我还在旧PC上安装了LXLE linux,并且可以完成驱动程序编译而没有任何错误。并且已安装的驱动程序运行正常。
Linux Mint有一个 gcc版本:gcc版本7.3.0(Ubuntu 7.3.0-27ubuntu1〜18.04) 制作版本:GNU Make 4.1
Linux LXLE具有一个 gcc版本:gcc版本5.4.0(Ubuntu 5.4.0-6ubuntu1〜16.04.11) 制作版本: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平台的新手,也许答案是亵渎神灵,但一定会有所帮助。
ps。对不起,我的英语不是我的母语;
答案 0 :(得分:0)
至少我找到了一些帮助的解决方案。在系统重启后,我做了以下操作来使USB wifi适配器工作:
但是此过程尚未完成,因为系统将使用最初安装的驱动程序,因此我们必须将其列入黑名单:
现在它应该以正确的方式工作。对我来说,它奏效了。
希望,这将对某人有所帮助...