我有一台 TP-Link tl-wn821n v6,没有适用于 Ubuntu 18.04 版本的驱动程序。我找到的最新版本是这个。
我对 Linux 总体上了解不多...如果您能帮助我,我将不胜感激。
这是“make”之后弹出的内容的底部:
/home/johnk/Downloads/TP-Link_Driver_Linux_series8_beta/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/johnk/Downloads/TP-Link_Driver_Linux_series8_beta/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/johnk/Downloads/TP-Link_Driver_Linux_series8_beta/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o' failed
make[2]: *** [/home/johnk/Downloads/TP-Link_Driver_Linux_series8_beta/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171jjjjjjjj
lsusb列表:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 2357:0107
Bus 003 Device 002: ID 1532:0214 Razer USA, Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 054c:0ba0 Sony Corp.
Bus 001 Device 004: ID 12d1:14dc Huawei Technologies Co., Ltd.
Bus 001 Device 003: ID 046d:c08b Logitech, Inc.
Bus 001 Device 002: ID 0951:16a4 Kingston Technology
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
答案1
请按照以下步骤操作:实施前请先阅读
解压该文件,你将发现里面有以下内容:
- pdf 说明
- 许可证和警告,因为这是测试版本
- 包含驱动程序文件的 zip 文件夹
解压
zip
上述文件,然后阅读pdf文件Ubuntu 的步骤如下:
安装构建必需品:
sudo apt install build-essential
进入该文件夹并运行以下命令:
make clean make
如果步骤
3.2
成功,则使用以下命令加载驱动程序:sudo insmod 88x2bu.ko
检查驱动程序是否加载:
lsmod | grep 88x2bu.ko
笔记:
我假设驱动程序名称是
88x2bu.ko
这样的,步骤中的 grep 命令3.4
应该可以工作,否则检查文件夹中的驱动程序,您应该看到已编译的驱动程序,然后使用它来 grep 查看它是否已加载。警告:根据 readme_beta.txt 文件,这是一个测试版本,因此请谨慎使用
如有任何问题使用命令删除该驱动程序
sudo rmmod <driver_name>
答案2
好的,所以当我将 rtl8188fu 升级到 4.15.0 内核时也遇到了这个问题。
公平警告:这不是您将面临的唯一错误,因为内核自 4.4(从 16.04)到 4.15(18.04)修改了许多核心 API,并且许多驱动程序已有一年历史。
基本上,内核计时器 API 已经发生了改变(还有许多其他事情)。
基本上使用这作为您需要做的事情的指南。
我的变化显而易见这里(我不是内核开发人员,所以请注意)。所以要小心。当你看到 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
时,就会看到变化
相应的c文件。
您还需要修复 del_timer。
如果您在此之后遇到 cfg8011_roamed 或 sync 或 BAND 或 CHANNEL 问题,问题相同,并且易于修复。核心 API 发生了巨大变化,模块尚未更新,也不在主线中。