I'm having issues finalizing to actually connect with the TP-Link Archer T4UH v2. I'm using this driver: https://github.com/diederikdehaas/rtl8812AU.

My distro:

$ cat /etc/*-release
DISTRIB_DESCRIPTION="Ubuntu Bionic Beaver (development branch)"
VERSION="18.04 LTS (Bionic Beaver)"
PRETTY_NAME="Ubuntu Bionic Beaver (development branch)"

lsusb output:

$ lsusb
Bus 001 Device 004: ID 2357:010e 

I noticed it wasn't in the https://github.com/diederikdehaas/rtl8812AU/blob/driver-4.3.20/os_dep/linux/usb_intf.c#L171 yet, so I added it:

{USB_DEVICE(0x2357, 0x010E),.driver_info = RTL8812}, /* TP-Link - T4UH v2 */

From here I ran the DKMS guidelines from the README.md and all went well without errors:

$ sudo dkms status
rtl8812AU, 4.3.20, 4.15.0-13-generic, x86_64: installed
virtualbox, 5.2.8, 4.15.0-13-generic, x86_64: installed

Then I checked the following:

$ lsmod | grep 88 
8812au               1077248  0

$ sudo modprobe 8812au
# Empty output

$ sudo /sbin/depmod -a
# Empty output

$ ifconfig -a
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether e0:d5:5e:82:22:62  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xf7100000-f7120000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet  netmask
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 47443  bytes 33615823 (33.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47443  bytes 33615823 (33.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        inet hidden  netmask  destination hidden
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 25681199  bytes 21203557217 (21.2 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19830026  bytes 9146100182 (9.1 GB)
        TX errors 0  dropped 20972 overruns 0  carrier 0  collisions 0

wlx001e2a3838cb: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet  netmask  broadcast
        ether 00:1e:2a:38:38:cb  txqueuelen 1000  (Ethernet)
        RX packets 38668731  bytes 25575957972 (25.5 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25577486  bytes 12808764441 (12.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

I can now see the T4UH v2 under a seemingly generated name enp0s31f6, but still as an ethernet device. This also happened when I tried to install it on my MacBook Pro to see if it worked. And it stays an Ethernet interface, but the GUI that comes with the TP-Link Mac Drivers seems to do something underwater that connects it as WiFi, which makes the Mac think the device is validly ethernet-connected.

The blue light on the device isn't on or blinking like it was when it was installed on macOS. On there, even with no WiFi connection active, it still was on and/or blinking.

Then I tried in the driver folder:

$ cd /lib/modules/4.15.0-13-generic/kernel/drivers/net/wireless
$ sudo wpa_supplicant -D nl80211 -i enp0s31f6 -c ./ wpa_0_8.conf -B
Successfully initialized wpa_supplicant
nl80211: Could not configure driver mode
nl80211: deinit ifname=enp0s31f6 disabled_11b_rates=0
enp0s31f6: Failed to initialize driver interface

On previous tries it also gave:

nl80211: Drivers does not support authentication/association or connect commands

The new stick is to replace the old one, which hardly does a stable 1MB download over the intranet. The specs of this new one are amazing so I really hope I could get it to work somehow. TP-Link promotes it's Linux-compatible, yet on their site they stopped at like kernel version 3.1.* :(. The custom build of the driver from the earlier mentioned GitHub repo seems to work, yet I'm not familiar enough with the Ubuntu WiFi CLI tools to figure it out.

Thanks in advance!

Update 1

Full lsusb output:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0846:4260 NetGear, Inc. WG111v3 54 Mbps Wireless [realtek RTL8187B]
Bus 001 Device 004: ID 2357:010e  
Bus 001 Device 005: ID 413c:2110 Dell Computer Corp. 
Bus 001 Device 003: ID 413c:1010 Dell Computer Corp. 
Bus 001 Device 002: ID 145f:01f1 Trust 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo modprobe 8812au && dmesg | grep 8812 output:

[    7.401386] 8812au: loading out-of-tree module taints kernel.
[    7.444058] 8812au: module verification failed: signature and/or required key missing - tainting kernel
[    7.446136] RTL871X: rtl8812au v4.3.20_16317.20160108
[    7.446151] usbcore: registered new interface driver rtl8812au

Maybe the error comes from having had dkms-8812au installed before? It was cleanly removed after tho. Even cleared the source files. So it should be solely the new installed build from the repo.

Update 2

dmesg | grep enp output:

[    4.835489] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
[    8.252764] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
[    8.440257] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready

iwconfig output:

lo        no wireless extensions.

wlx001e2a3838cb  IEEE 802.11  ESSID:"H220N8210B1"  
          Mode:Managed  Frequency:2.447 GHz  Access Point: 74:B5:7E:26:1D:FE   
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-38 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:1365  Invalid misc:349   Missed beacon:0

vboxnet0  no wireless extensions.

enp0s31f6  no wireless extensions.

sudo lshw -C network output:

       description: Ethernet interface
       product: Ethernet Connection (2) I219-V
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: enp0s31f6
       version: 00
       serial: e0:d5:5e:82:22:62
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.2-4 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:137 memory:f7100000-f711ffff
       description: Wireless interface
       physical id: 2
       bus info: usb@1:6
       logical name: wlx001e2a3838cb
       serial: 00:1e:2a:38:38:cb
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8187 driverversion=4.15.0-13-generic firmware=N/A ip= link=yes multicast=yes wireless=IEEE 802.11
  • The enp0s31f6 interface is ethernet, not wireless. In fact, the wireless interface is shown as wlx001e2a3838cb which has an IP address and appears, so far, to be working perfectly. What does this report? iwconfig Does it ping? ping -c3 – chili555 Apr 12 '18 at 13:03
  • No it doesn't work. wlx001e2a3838cb is the old stick that's also plugged in. As explained enp0s31f6 is the correct device, but it doesn't register itself as WiFi. It also doesn't on other operating systems, yet those come with an extra GUI app that does make the antenna connect. Just don't know how to make it connect on Linux. – User2910293 Apr 12 '18 at 18:55
  • Please detach the old one and then edit your question to show the result of: lsusb and also: sudo modprobe 8812au && dmesg | grep 8812 – chili555 Apr 12 '18 at 19:21
  • Updated the question with Update 1. 2357:010e is the TP-Link one. Confirmed by (un)pluging it and checking the command again. – User2910293 Apr 12 '18 at 19:39
  • Fascinating! May we also see: dmesg | grep enp and: iwconfig ? – chili555 Apr 12 '18 at 19:47

In our chat, we determined that the sequence that was used to download the source code and modify it to add your specific device 2357:010e was faulty. You downloaded a new copy, amended the usb_intf.c code to add your device and then used dkms to install it.

We also discovered that the module 8812au exists by default in your 4.15 kernel version. We used dkms --force to get the amended version to install and over-ride the in-kernel default version.

After you set the router to WPA2-AES and a fixed channel 6, rather than auto channel select, the device was able to connect and surf the internet.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.