Raspberry Pi 4B and TP-Link Archer T4U ver.3

I just bought an TP-Link Archer T4U ver.3 and it works on my laptop with Kernel 6.6 (also Manjaro) [1]. The driver was apparently mainlined in Kernel 6.3 [2]. I am trying to use it on my Raspberry Pi 4B but linux-rpi4-mainline (kernel 6.6) does not seem to include that driver, the device is recognized but no driver is found [3]. I previously used a T2U Wifi Dongle and the driver was included in the RPi4 kernel.

  • Is there a specific reason why this driver is not in the image? (image size? too new?)
  • Can I expect the driver to be included at some point?
  • also: on my Laptop I cannot get it to be recognized as a USB3 device, the dongle definitely has a USB3 plug and is advertised as such.

[1]

me@laptop$ lsusb -tv
...
    |__ Port 002: Dev 005, If 0, Class=Vendor Specific Class, Driver=rtw_8822bu, 480M
        ID 2357:0115 TP-Link Archer T4U ver.3
 ...

[2] https://linux-hardware.org/?id=usb:2357-0115
[3]

me@rpi4$ lsusb -tv
...
        |__ Port 002: Dev 004, If 0, Class=Vendor Specific Class, Driver=[none], 480M
            ID 2357:0115 TP-Link Archer T4U ver.3
...

EDIT: Just found this [4]. It seems that the drivers have some issues and therefore are not included (yet?).

[4] configs: Enable the RTW88-based USB WiFi drivers by pelwell · Pull Request #5388 · raspberrypi/linux · GitHub

Give me a while to compile a new kernel. This is not set and by enabling it may also expose some of the other modules in the list.

# CONFIG_RTW88 is not set

Thanks, let me know when you are done and I will report back! For those not being able to use a newer kernel, there are a couple of repositories with drivers and [1] seems to work for me. [2] did not compile.

[1] GitHub - cilynx/rtl88x2bu: rtl88x2bu driver updated for current kernels.

[2] GitHub - ivanovborislav/rtl88x2bu: Realtek RTL88x2BU v5.13.1 (2021-07-02) Wireless Lan Driver for Linux

The RTL God @lwfinger suggests building the DKMS package from here.

https://aur.archlinux.org/packages/rtw88-dkms-git

6.7-rc3

*Revert “net: r8169: Disable multicast filter for RTL8168H and RTL8107E”
*Revert “phy: realtek: usb: Add driver for the Realtek SoC USB 3.0 PHY”
Revert “phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY”
Revert “usb: phy: add usb phy notify port status API”
dt-bindings: usb: hcd: add missing phy name to example
USB: xhci-plat: fix legacy PHY double init
dt-bindings: usb: qcom,dwc3: fix example wakeup interrupt types
USB: dwc3: qcom: fix wakeup after probe deferral
USB: dwc3: qcom: simplify wakeup interrupt setup
USB: dwc3: qcom: fix resource leaks on probe deferral
USB: dwc3: qcom: fix software node leak on probe errors
USB: dwc3: qcom: fix ACPI platform device leak

I’m waiting for the -rc3 to hit before enabling it but I see this new in the rc-2 kernel config.

I just pushed the linux-rpi4-rc packages to the unstable branch when the mirrors sync. Switch to the unstable branch if you want to test your wifi dongle. I believe it may be the best shot for in kernel modules for your device. There seems to be a lot going on with those devices.