Original question
I could not find any specific answer for my question, all driver installation issues I found for the T4U are related to the kernel version and work around can be proposed, mine is different I think …
I bought an Archer T4U AC1300 from TP Link and I tried to install the open source driver from here.
I use mint 17:
<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f391969f9980b391969f9980deba9d80839a819c9ddec6cbc3">[email protected]</a> ~ $ 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 <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e6c6b62647d4e6c6b62647d2347607d7e677c6160233b363e">[email protected]</a> ~ $ 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
but I believe the issue I have while installing the driver is more a compilation issue or a bug in the code itself (?).
I followed the basic driver installation procedure recommended on different websites:
git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git cd rtl8812AU_8821AU_linux/ make sudo make install
but I always get an error during the make process in ioctl_cfg80211.c (sorry for the French):
<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2d4f4841475e6d4f4841475e0064435e5d445f42430018151d">[email protected]</a> ~ $ 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. <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bad8dfd6d0c9fad8dfd6d0c997f3d4c9cad3c8d5d4978f828a">[email protected]</a> ~ $ cd rtl8812AU_8821AU_linux/ <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="afcdcac3c5dcefcdcac3c5dc82e6c1dcdfc6ddc0c1829a979f">[email protected]</a> ~/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
I also tried to install the driver from:
github.com/Grief/archer-t4u
but also got similar errors (not exactly at the same location, but in the same file)
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Solution
In short:
-
git clone https://github.com/gnab/rtl8812au -
update
/rtl8812au/os_dep/linux/usb_intf.c-> find the original bus id for the archer T4U AC1200 (2357:0101) and add a line with the bus id for the AC1300 (2357:010d) right after:{USB_DEVICE(0x2357, 0x0101),.driver_info = RTL8812}, **{USB_DEVICE(0x2357, 0x010d),.driver_info = RTL8812},** -
follow the instructions in the readme file provided in
./rtl8812au
Voilà!
More explanations:
The problem was two-folded:
- Driver
GAD3R gave me a link to a correct version of the driver for my kernel that would compile correctly (many thanks for that!).
- Archer T4U AC1200 vs T4U AC1300
The Archer T4U in 99% of the references I found refers to the T4U AC1200, the one I purchased is a T4U AC1300 (also -v2). I am not sure if it is only a regional product name or if it corresponds to an actual hardware change. Maybe the T4u AC1300 is very recent as well: the only reference I could find is on the official website of Tp-Link .
Anyway, what triggered me is the bus id given on wikidevi :
The stick supports USB 3.0 and has the USB ID: 2357:0101
a lsusb gave me 2357:010d
The solution was then obvious:
I added a line in /rtl8812au/os_dep/linux/usb_intf.c (see above in short solution)
NB: I checked and the AC1300 usb id is already available in
https://github.com/abperiasamy/rtl8812AU_8821AU_linux
Method 2
I can confirm the above solution worked for me:
Worked on: Ubuntu: 16.04.2, Kernel: 4.8.0-36-generic, gcc : gcc version 5.4.0 20160609
The only difference I had to do was when I ran the command ‘lsusb’. It showed a device named ‘2357:010e’. When I had to add a new ‘line in usb_intf.c’ I had to change the reference from ‘d’ to ‘e’ instead. 🙂
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0