lwfinger / rtw8852cu

GNU General Public License v2.0
26 stars 17 forks source link

Works with tp-link TXE70UH (8852cu) #17

Open skyer9 opened 3 months ago

skyer9 commented 3 months ago

My Product is TXE70UH.

lsusb
Bus 001 Device 004: ID 35bc:0102 Realtek 802.11ax WLAN Adapter

modified some code.

    {USB_DEVICE_AND_INTERFACE_INFO(0x35b2, 0x0502, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400(RTW8832CU) */
    {USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0102, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400(RTW8852CU) */

and built source.

if OS is Ubuntu, below command is needed.

# https://github.com/McMCCRU/rtl8188gu 
sudo rmmod option
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/option.ko
sudo depmod -a

in Ubuntu, kernel module option breaks usb type detection. kernel module option means GSM modem driver.

Jun 18 13:32:37 kernel: [ 4453.602089] usb 1-2: new high-speed USB device number 8 using xhci_hcd
Jun 18 13:32:38 kernel: [ 4453.750658] usb 1-2: New USB device found, idVendor=35bc, idProduct=0102, bcdDevice= 0.00
Jun 18 13:32:38 kernel: [ 4453.750665] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 18 13:32:38 kernel: [ 4453.750669] usb 1-2: Product: 802.11ax WLAN Adapter
Jun 18 13:32:38 kernel: [ 4453.750672] usb 1-2: Manufacturer: Realtek
Jun 18 13:32:38 kernel: [ 4453.750675] usb 1-2: SerialNumber: 00e04c000001
Jun 18 13:32:38 kernel: [ 4453.755453] option 1-2:1.0: GSM modem (1-port) converter detected
Jun 18 13:32:38 kernel: [ 4453.758561] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
Jun 18 13:32:38 snapd[753]: hotplug.go:200: hotplug device add event ignored, enable experimental.hotplug
Jun 18 13:32:38 usb_modeswitch[6920]: usb_modeswitch: switched to 35bc:0102 on 1/8
Jun 18 13:32:39 usb_modeswitch_dispatcher[6920]: Unable to open bind list file: No such file or directory
Jun 18 13:32:39 usb_modeswitch[6920]: usb_modeswitch: add device ID 35bc:0102 to driver option
Jun 18 13:32:39 usb_modeswitch[6920]: usb_modeswitch: please report the device ID to the Linux USB developers!
Jun 18 13:32:46 systemd[1]: usb_modeswitch@1-2.service: Succeeded.

=============================================

additionally

sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules
......
# Realtek 8852CU Wifi USB
ATTR{idVendor}=="35bc", ATTR{idProduct}=="0102", RUN+="/usr/sbin/usb_modeswitch -K -v 35bc -p 0102"
......

i needed to change usb type as dongle mode. more over, it needs reboot.

sudo reboot

and i can find dongle.

ifconfig
......
wlx60XXXXXXXXXX: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 60:XX:XX:XX:XX:XX  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

but some error exists.

if i plug out TXE70UH and plug in this, it dose not work. it needs reboot too.

pigbrian commented 3 months ago

Hi skyer9,

Do you using kernel above 6.5 ?

When I checked kernel 5.10, 5.15(ubuntu 20.04), 6.5(ubuntu22.04), TXE70UH is not working. On the ubuntu 24.04 (kernel 6.8), driver have some errors, but iw scan is work.

skyer9 commented 3 months ago
uname -a
Linux XXXXXX 5.4.0-124-generic #140-Ubuntu SMP Thu Aug 4 02:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

for some reason, i use kernel 5.4.0. Ubuntu 20.04.

i think problem is USB Type auto detection.

without usb_modeswitch, LAN Card recognized as GSM modem and fails. you can check it in dmesg or syslog.

Jun 18 13:32:37 kernel: [ 4453.602089] usb 1-2: new high-speed USB device number 8 using xhci_hcd
Jun 18 13:32:38 kernel: [ 4453.750658] usb 1-2: New USB device found, idVendor=35bc, idProduct=0102, bcdDevice= 0.00
Jun 18 13:32:38 kernel: [ 4453.750665] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 18 13:32:38 kernel: [ 4453.750669] usb 1-2: Product: 802.11ax WLAN Adapter
Jun 18 13:32:38 kernel: [ 4453.750672] usb 1-2: Manufacturer: Realtek
Jun 18 13:32:38 kernel: [ 4453.750675] usb 1-2: SerialNumber: 00e04c000001
Jun 18 13:32:38 kernel: [ 4453.755453] option 1-2:1.0: GSM modem (1-port) converter detected
Jun 18 13:32:38 kernel: [ 4453.758561] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
Jun 18 13:32:38 snapd[753]: hotplug.go:200: hotplug device add event ignored, enable experimental.hotplug
Jun 18 13:32:38 usb_modeswitch[6920]: usb_modeswitch: switched to 35bc:0102 on 1/8
Jun 18 13:32:39 usb_modeswitch_dispatcher[6920]: Unable to open bind list file: No such file or directory
Jun 18 13:32:39 usb_modeswitch[6920]: usb_modeswitch: add device ID 35bc:0102 to driver option
Jun 18 13:32:39 usb_modeswitch[6920]: usb_modeswitch: please report the device ID to the Linux USB developers!
Jun 18 13:32:46 systemd[1]: usb_modeswitch@1-2.service: Succeeded.
pigbrian commented 3 months ago

Thank you skyer9.

Based on your comment, I checked it in kernel 5.15. It works well.

[ 170.118473] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 170.118579] cfg80211: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' [ 170.118672] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 170.120984] 8852cu: loading out-of-tree module taints kernel. [ 170.122187] 8852cu: module verification failed: signature and/or required key missing - tainting kernel [ 170.460125] eric-tx CALL alloc_txring !!!! [ 170.465948] usbcore: registered new interface driver rtl8852cu [ 170.474249] rtl8852cu 1-9.1:1.0 wlxd84489034f3d: renamed from wlan0

Logzy72 commented 3 months ago

I also have a Txe70uh trying to use this with Linux mint. Could someone please give me detailed instructions how I load the driver into Linux mint. Thank you.

skyer9 commented 3 months ago

Tested on Ubuntu.

  1. check lan card

plug lan card and check recognition.

lsusb
......
Bus 001 Device 004: ID 35bc:0102 Realtek 802.11ax WLAN Adapter
......
  1. compile
git clone https://github.com/lwfinger/rtw8852cu
cd rtw8852cu
vi Makefile
......
#CONFIG_RTW_COUNTRY_CODE = XX
CONFIG_RTW_COUNTRY_CODE = US
......
vi os_dep/linux/usb_intf.c
......
    {USB_DEVICE_AND_INTERFACE_INFO(0x35b2, 0x0502, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400(RTW8832CU) */
    {USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0102, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400(RTW8852CU) */
......
make
ll *.ko
  1. install
sudo mkdir -p /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
sudo cp 8852cu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
sudo chmod 644 /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8852cu.ko
sudo depmod -a
sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8852cu.ko
  1. check
lsmod | grep 8852cu
  1. on Ubuntu
lsmod | grep option

# https://github.com/McMCCRU/rtl8188gu 
sudo rmmod option
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/option.ko
sudo depmod -a
  1. reboot
Logzy72 commented 3 months ago

Fixed my 'make' problem that i previously posted, it was my error so please ignore. Anyhow, this is still not working for me so im not sure whats going on. The device is recognised when i "lsusb" but i cannot seem to get the driver issue sorted.

On Fri, Jun 28, 2024 at 1:16 PM skyer9 @.***> wrote:

Tested on Ubuntu.

  1. check lan card

plug lan card and check recognition.

lsusb ...... Bus 001 Device 004: ID 35bc:0102 Realtek 802.11ax WLAN Adapter ......

  1. compile

git clone https://github.com/lwfinger/rtw8852cucd rtw8852cu vi Makefile ......#CONFIG_RTW_COUNTRY_CODE = XX CONFIG_RTW_COUNTRY_CODE = US ...... vi os_dep/linux/usb_intf.c ...... {USB_DEVICE_AND_INTERFACE_INFO(0x35b2, 0x0502, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, / TP-Link AXE5400(RTW8832CU) / {USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0102, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, / TP-Link AXE5400(RTW8852CU) / ...... make ll *.ko

  1. install

sudo mkdir -p /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ sudo cp 8852cu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ sudo chmod 644 /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8852cu.ko sudo depmod -a sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8852cu.ko

  1. check

lsmod | grep 8852cu

  1. on Ubuntu

lsmod | grep option

https://github.com/McMCCRU/rtl8188gu

sudo rmmod option sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/option.ko sudo depmod -a

  1. reboot

— Reply to this email directly, view it on GitHub https://github.com/lwfinger/rtw8852cu/issues/17#issuecomment-2196029089, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZLQIYPB6CCK5EVGCX7EYLZJTIQFAVCNFSM6AAAAABJPLP5GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJWGAZDSMBYHE . You are receiving this because you commented.Message ID: @.***>

AdrianDC commented 1 month ago

Working tp-link TXE70UH (2024, 8852cu) on Ubuntu 23.10 here too, mixing this issue and #20 :

Stable 305 Mbits/s download + upload, both with the tp-link AX3000 Archer AX55 router and the ISP WiFi 6 box.

{
  # Patch
  cat >../rtw8852cu.patch <<EOF
diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c
index 760030b..64298f1 100755
--- a/os_dep/linux/usb_intf.c
+++ b/os_dep/linux/usb_intf.c
@@ -145,7 +145,9 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
    {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDER_ID_REALTEK, 0xC85A, 0xff, 0xff, 0xff), .driver_info = RTL8852C},
    {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDER_ID_REALTEK, 0xC832, 0xff, 0xff, 0xff), .driver_info = RTL8852C},
    {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDER_ID_REALTEK, 0xC85D, 0xff, 0xff, 0xff), .driver_info = RTL8852C},
-   {USB_DEVICE_AND_INTERFACE_INFO(0x35b2, 0x0502, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400 */
+   {USB_DEVICE_AND_INTERFACE_INFO(0x35b2, 0x0502, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400 (RTW8832CU) */
+   {USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0101, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400 TX50UH (RTW8832CU) */
+   {USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0102, 0xff, 0xff, 0xff), .driver_info = RTL8852C}, /* TP-Link AXE5400 TXE70UH (RTW8852CU) */
    {}  /* Terminating entry */
 };

EOF

  # Apply
  git stash
  git apply --stat ../rtw8852cu.patch
  git apply --summary ../rtw8852cu.patch
  git apply -v ../rtw8852cu.patch

  # Build
  make

  # Install
  sudo make install

  # Reload
  sudo modprobe -r 8852cu || true
  sudo modprobe 8852cu
}
UncleRaymondo commented 2 weeks ago

Does not appear to work on Kali Linux 2024.3, running on ESXi 6.7 via VMWare Workstation 17.6, and with Kernel 6.10.9 :(

lsusb just seems to hang with no response when trying to probe. 35bc:0102 TXE70UH(EU) Ver 1.0 is the USB dongle.