Cannot find working driver for Archer T3U Nano Usb adapter (could not solve)

Because I’m an idiot, my desktop PC does not have a wifi card, nor can it have one as it will not fit on the micro-atx motherboard so long as the graphics card is also there. I am able to connect via ethernet but I need wifi access, so I purchased an Archer T3U Nano, and I have not been able to get it to work. Here is the output of lsusb -D

Device: ID 2357:012e TP-Link 802.11ac NIC
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2357 TP-Link
  idProduct          0x012e 
  bcdDevice            2.10
  iManufacturer           1 Realtek
  iProduct                2 802.11ac NIC
  iSerial                 3 123456
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0035
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           5
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0

The solution I came across initially was to install the rtl88x2bu-dkms-git driver, but that hasn’t done the job. After multiple installs, reinstalls and reboots, I still get this output from inxi -Nazy

Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK PRIME B450M-A driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 0a:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  Device-2: TP-Link 802.11ac NIC type: USB driver: N/A bus-ID: 1-1:2
    chip-ID: 2357:012e class-ID: 0000 serial: <filter>

The driver is still listed as N/A.
The final response on this post detailed that you can search driver by chipId (2357:012e in this case), but doing so has also revealed nothing. I cannot find this chip ID on devWiki, WikiDev or google.

Wifi gear based on Realtek chipset can be troublesome.

From a search vid 2357 pid 012e at DuckDuckGo I found you may try a custom build script for rtl88x2bu found on AUR

A prerequisite is kernel headers for your running kernel - e.g. linux515. You can verify this using mhwd.

Did you remember to install headers for your kernel?

The active kernel is printed - take the last word and replace $KERNEL in below command with your active kernel - in the example below it is linux60

$ mhwd-kernel -li
Currently running: 6.0.5-1-MANJARO (linux60)
The following kernels are installed in your system:
   * linux515
   * linux60
pamac install $KERNEL-headers dkms

Then

pamac build rtl88x2bu-dkms-git

Shell command to extract the manjaro kernel package name

$ mhwd-kernel -li | head -1 | cut -d' ' -f4 | tr -d '()'
linux60

This might also come in handy:

Identifying currently installed kernels

pamac list --installed --quiet | grep "^linux" | grep "^linux[0-9]*[-rt]*$"

Installing headers for currently installed kernels

pamac install $(pamac list --installed --quiet | grep "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-headers"}' ORS=' ')

I am using kernel 5.15 LTS version, and it is the only kernel I currently have installed. I have indeed installed both the headers (linux515-headers) and dkms.
I’ve also confirmed that the module is loaded and running using lsmod. Output below

...
88x2bu               4644864  0
cfg80211             1081344  1 88x2bu
...

I initially had some problems attempting to use insmod as I didn’t realise 88x2bu had a dependency, but modprobe got the job done. I’ve also added both modules to /etc/modules-load.d/modules.conf and confirmed, through rebooting, that these modules are loaded on boot. In spite of all this, I still cannot connect to it. ip link shows the following

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 24:4b:fe:cf:3c:49 brd ff:ff:ff:ff:ff:ff
3: br-2395ba8da62b: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 02:42:63:91:bd:62 brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 02:42:c4:a5:e9:fe brd ff:ff:ff:ff:ff:ff

And inxi -Nazy remains unchaged

Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK PRIME B450M-A driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 0a:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  Device-2: TP-Link 802.11ac NIC type: USB driver: N/A bus-ID: 1-1:2
    chip-ID: 2357:012e class-ID: 0000 serial: <filter>

I think the issue is just that I have the wrong driver. But I have no idea what the right one could be, nor do I know how to find it. Even using your search terms (much better keywords than mine btw), I was only able to find a list of windows drivers. I think the easiest option is to return the adapter and find a new one that I will confirm works with linux before buying

According to

The device T3Uv1 is using Realtek 8812BU chipset - same as T4Uv3 - perhaps a T4U driver can be build?

Because same device can have different chipsets it is important to know the hardware version

Unfortunately, RTL12BU is no longer in the AUR. A brief look brought me to the github repository where the README states that for kernel versions 5.11 or later, I should use the v5.8.7 branch. I did all of this and installed only to find that the driver on the newer branch is actually just RTL88X2BU, which I confirmed again, still doesn’t work.

The TP-Link provided linux drivers state that they are only for kernel version up to 4.11. Regardless, I figured I’d at least try installing them, only for the makefile to promptly throw compilation errrors, and for the runwpa bash script to chastise me for not having iwconfig. I would much rather continue using networkmanager.

The only options left for me are to either downgrade my kernel version in the hope that one of the older drivers will work, or to swap this device for one that I can confirm works beforehand. I don’t want to. I enjoy troubleshooting and learning, but I also need internet access. I am sorry to disappoint. I will mark this as closed once I figure out how

post output from:
pacman -Qs 'dkms|git'

I went over the makefile for T4Uv3

It uses 8822BU and there is a custom PKGBUILD for this in AUR

  • rtl8822bu-git (orphaned)
  • rtl8822bu-dkms

I have no idea if it will work - I would use the dkms version - but worth a try though :slight_smile:

A prebuilt dkms package - if you wanna try

sudo pacman -U https://uex.dk/archive/Packages/rtl8822bu-dkms-5.8.7.4-1-x86_64.pkg.tar.zst

Sorry to disappoint but I took the easy way out and replaced it with a net gear AC600 Dual Band adapter. Was able to find the relevant driver (rtl8821au) and have it working within minutes

2 Likes

that was my thought from the first moment. Companies that still ignore Linux as platform are doomed and don’t deserve our money. that simple it is.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.