需要帮助安装 TP-Link tl-wn821n v6 的 wifi 驱动程序

需要帮助安装 TP-Link tl-wn821n v6 的 wifi 驱动程序

我有一台 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

请按照以下步骤操作:实施前请先阅读

  1. 解压该文件,你将发现里面有以下内容:

    • pdf 说明
    • 许可证和警告,因为这是测试版本
    • 包含驱动程序文件的 zip 文件夹
  2. 解压zip上述文件,然后阅读pdf文件

  3. Ubuntu 的步骤如下:

    1. 安装构建必需品:

      sudo apt install build-essential
      
    2. 进入该文件夹并运行以下命令:

      make clean
      make
      
    3. 如果步骤3.2成功,则使用以下命令加载驱动程序:

      sudo insmod 88x2bu.ko
      
    4. 检查驱动程序是否加载:

      lsmod | grep 88x2bu.ko
      

笔记:

  1. 我假设驱动程序名称是88x2bu.ko这样的,步骤中的 grep 命令3.4应该可以工作,否则检查文件夹中的驱动程序,您应该看到已编译的驱动程序,然后使用它来 grep 查看它是否已加载。

  2. 警告:根据 readme_beta.txt 文件,这是一个测试版本,因此请谨慎使用

  3. 如有任何问题使用命令删除该驱动程序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 发生了巨大变化,模块尚未更新,也不在主线中。

相关内容