原问题
我找不到我的问题的任何具体答案,我发现的 T4U 的所有驱动程序安装问题都与内核版本有关,并且可以提出解决方法,我认为我的不同......
我从 TP Link 购买了 Archer T4U AC1300,并尝试从以下位置安装开源驱动程序这里。
我用薄荷17:
beljs@beljs-Inspiron-580 ~ $ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.3
DISTRIB_CODENAME=rosa
DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: est un dossier
beljs@beljs-Inspiron-580 ~ $ uname -a
Linux beljs-Inspiron-580 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:37:25 UTC 2015 i686 i686 i686 GNU/Linux
但我相信安装驱动程序时遇到的问题更多的是编译问题或代码本身的错误(?)。
我遵循了不同网站上推荐的基本驱动程序安装过程:
git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
cd rtl8812AU_8821AU_linux/
make
sudo make install
但我在 make 过程中总是遇到错误ioctl_cfg80211.c(对不起法国人):
beljs@beljs-Inspiron-580 ~ $ git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
Clonage dans 'rtl8812AU_8821AU_linux'...
remote: Counting objects: 1498, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 1498 (delta 1), reused 0 (delta 0), pack-reused 1492
Réception d'objets: 100% (1498/1498), 3.53 MiB | 692.00 KiB/s, done.
Résolution des deltas: 100% (909/909), done.
Vérification de la connectivité... fait.
beljs@beljs-Inspiron-580 ~ $ cd rtl8812AU_8821AU_linux/
beljs@beljs-Inspiron-580 ~/rtl8812AU_8821AU_linux $ make
make ARCH=i386 CROSS_COMPILE= -C /lib/modules/3.19.0-32-generic/build M=/home/beljs/rtl8812AU_8821AU_linux modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-3.19.0-32-generic »
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_cmd.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_security.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_debug.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_io.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ioctl_query.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ioctl_set.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ieee80211.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_mlme.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_mlme_ext.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_wlan_util.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_vht.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_pwrctrl.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_rf.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_recv.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_sta_mgt.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ap.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_xmit.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_p2p.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_tdls.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_br_ext.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_iol.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_sreset.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_btcoex.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_beamforming.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/rtw_odm.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/core/efuse/rtw_efuse.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/osdep_service.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/os_intfs.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/usb_intf.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/usb_ops_linux.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_linux.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/xmit_linux.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/mlme_linux.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/recv_linux.o
CC [M] /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o
/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5971:2: error: initialization from incompatible pointer type [-Werror]
.del_station = cfg80211_rtw_del_station,
^
/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5971:2: error: (near initialization for ‘rtw_cfg80211_ops.del_station’) [-Werror]
cc1: all warnings being treated as errors
make[2]: *** [/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o] Erreur 1
make[1]: *** [_module_/home/beljs/rtl8812AU_8821AU_linux] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-3.19.0-32-generic »
make: *** [modules] Erreur 2
我还尝试从以下位置安装驱动程序: github.com/Grief/archer-t4u 但也遇到了类似的错误(不完全相同的位置,而是在同一个文件中)
答案1
解决方案
简而言之:
git clone https://github.com/gnab/rtl8812au
更新
/rtl8812au/os_dep/linux/usb_intf.c
-> 找到 archer T4U AC1200 (2357:0101) 的原始总线 id,并在后面添加一行包含 AC1300 (2357:010d) 的总线 id:{USB_DEVICE(0x2357, 0x0101),.driver_info = RTL8812}, **{USB_DEVICE(0x2357, 0x010d),.driver_info = RTL8812},**
按照中提供的自述文件中的说明进行操作
./rtl8812au
瞧!
更多解释:
问题有两个:
- 司机
GAD3R 给了我一个关联我的内核的驱动程序的正确版本可以正确编译(非常感谢!)。
- 射手T4U AC1200与T4U AC1300
我找到的 99% 的参考文献中的 Archer T4U 都指的是T4U AC1200,我购买的是T4U AC1300(也-v2)。我不确定这是否只是一个区域产品名称,或者是否对应于实际的硬件更改。也许 T4u AC1300 也是最近推出的:我能找到的唯一参考资料是TP-Link官方网站。
不管怎样,触发我的是上面给出的总线ID维基百科 :
该棒支持 USB 3.0 并具有 USB ID:2357:0101
lsusb 给了我 2357:010d
解决方案就很明显了:我添加了一行/rtl8812au/os_dep/linux/usb_intf.c
(参见上面的简短解决方案)
注意:我检查过,AC1300 USB id 已在
答案2
我可以确认上述解决方案对我有用:
Worked on:
Ubuntu: 16.04.2,
Kernel: 4.8.0-36-generic,
gcc : gcc version 5.4.0 20160609
我必须做的唯一区别是当我运行命令“lsusb”时。它显示了一个名为“2357:010e”的设备。当我必须在 usb_intf.c 中添加新的“行”时,我必须将引用从“d”更改为“e”。 :)