USB-AC56 - 官方华硕驱动程序编译失败,错误为“file_path 重新声明为不同类型的符号”

USB-AC56 - 官方华硕驱动程序编译失败,错误为“file_path 重新声明为不同类型的符号”

4.4.0-92-generic我在标准 ubuntu 16.04 安装上有一个 USB-AC56 Wireless-AC1300 无线适配器和内核版本。

我从华硕官方网站。安装过程涉及使用 解压并编译驱动程序源代码make。当我这样做时,我得到:

In file included from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/include/drv_types.h:95:0,
                 from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/core/rtw_cmd.c:22:
/home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/include/hal_com.h:412:13: error: ‘file_path’ redeclared as different kind of symbol
 extern char file_path[PATH_LENGTH_MAX];
             ^
In file included from include/linux/seq_file.h:10:0,
                 from include/linux/pinctrl/consumer.h:17,
                 from include/linux/pinctrl/devinfo.h:21,
                 from include/linux/device.h:24,
                 from include/linux/dmaengine.h:20,
                 from include/linux/netdevice.h:38,
                 from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/include/osdep_service_linux.h:35,
                 from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/include/osdep_service.h:41,
                 from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/include/drv_types.h:32,
                 from /home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/core/rtw_cmd.c:22:
include/linux/fs.h:2610:14: note: previous declaration of ‘file_path’ was here
 extern char *file_path(struct file *, char *, int);
              ^
scripts/Makefile.build:258: recipe for target '/home/han/downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505/core/rtw_cmd.o' failed

我也尝试过使用chili555 的回答它使用开源驱动程序,但它们似乎不适用于较新的内核版本,并给出如下错误:

Module 8812au not found in directory /lib/modules/4.10.0-28-generic

我发现人们遇到了类似的编译问题这里使用 TP-link wifi 适配器,他们建议驱动程序不支持较新的内核,并使用一些rtl8192cu-修复他们在 github 上写道:

根据经验,该驱动程序通常适用于使用 RTL8192CU 芯片组的设备,以及一些使用 RTL8188CUS、RTL8188CE-VAU 和 RTL8188RU 芯片组的设备,尽管它更不稳定。

不过,我的设备是RTL8812au芯片组。

非常感谢您的帮助!谢谢!

答案1

感谢 chili555 的评论 - 使用https://github.com/jeremyb31/rtl8812AU.gitrepo 似乎已经起作用了。

我没有使用 git 来拉取 repo,而是从 master 下载了一个 zip 文件1965843f9096ccb7f16ed065f6d9cc3885cc31c1,解压后执行以下操作:

sudo apt-get install dkms
sudo dkms add ./rtl8812AU
sudo dkms install rtl8812AU/5

并重新启动后该设备出现在连接选项列表中。

相关内容