Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rtw_8814au report #270

Open
morrownr opened this issue Dec 20, 2024 · 12 comments
Open

rtw_8814au report #270

morrownr opened this issue Dec 20, 2024 · 12 comments

Comments

@morrownr
Copy link
Collaborator

morrownr commented Dec 20, 2024

Overall: Looking good.

$ sudo dmesg | grep 8814
[sudo] password for morrow:         
[    6.186835] rtw_8814au 6-4.3:1.0: Firmware version 33.6.0, H2C version 6
[    6.446440] usbcore: registered new interface driver rtw_8814au
[    6.469473] rtw_8814au 6-4.3:1.0 wlxbc223c35225: renamed from wlan0
[   12.604171] rtw_8814au 6-4.3:1.0: failed to get tx report from firmware

The only thing I see is that last line about the tx report.

$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.217 port 57342 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  48.9 MBytes   410 Mbits/sec    0   1.27 MBytes       
[  5]   1.00-2.00   sec  46.2 MBytes   388 Mbits/sec    0   1.27 MBytes       
[  5]   2.00-3.00   sec  47.5 MBytes   398 Mbits/sec    0   1.27 MBytes       
[  5]   3.00-4.00   sec  46.2 MBytes   388 Mbits/sec    0   1.27 MBytes       
[  5]   4.00-5.00   sec  46.2 MBytes   388 Mbits/sec    0   1.27 MBytes       
[  5]   5.00-6.00   sec  46.2 MBytes   388 Mbits/sec    0   1.27 MBytes       
[  5]   6.00-7.00   sec  47.5 MBytes   398 Mbits/sec    0   1.27 MBytes       
[  5]   7.00-8.00   sec  47.5 MBytes   398 Mbits/sec    0   1.27 MBytes       
[  5]   8.00-9.00   sec  47.5 MBytes   398 Mbits/sec    0   1.27 MBytes       
[  5]   9.00-10.00  sec  46.2 MBytes   388 Mbits/sec    0   1.27 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   470 MBytes   394 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   468 MBytes   392 Mbits/sec                  receiver

That is not bad. It is not to full potential but I'll need to get my backup AC2600 wifi router out to test again and I'll test with the vendor driver as well.

$ lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtw_8814au, 5000M

USB3 appears to be working.

Is there anything specific that you want me to test?

@dubhater
Copy link
Collaborator

I can't think of anything specific right now.

@D357R0Y3R
Copy link

I am getting sometimes minimum 780 MBPS and highest 866.7 MBPS from my AC1200 router where my distance is very close to the router on 5GHz channel.

@morrownr
Copy link
Collaborator Author

@D357R0Y3R

I am getting sometimes minimum 780 MBPS and highest 866.7 MBPS from my AC1200 router...

What were you expecting?

@morrownr
Copy link
Collaborator Author

@dubhater

I need to do more testing but it appears that the vendor driver is using 3 Spatial Streams but the driver here is only using 2. I do understand that the wireless router has to be capable of 3 Spatial Streams so that is why I moved to my backup router for this testing. It is an AC2600 class router and, as you can see below, is using 3 Spatial Streams with the vendor driver. On my previous router, I could get about 400 Mbps which is about what we should expect with a router that is capable of only 2 Spatial Streams.

$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.217 port 51546 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  77.6 MBytes   651 Mbits/sec    0   2.15 MBytes       
[  5]   1.00-2.00   sec  75.0 MBytes   629 Mbits/sec    0   2.15 MBytes       
[  5]   2.00-3.00   sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes       
[  5]   3.00-4.00   sec  77.5 MBytes   650 Mbits/sec    0   2.15 MBytes       
[  5]   4.00-5.00   sec  75.0 MBytes   629 Mbits/sec    0   2.15 MBytes       
[  5]   5.00-6.00   sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes       
[  5]   6.00-7.00   sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes
[  5]   7.00-8.00   sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes       
[  5]   8.00-9.00   sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes       
[  5]   9.00-10.00  sec  76.2 MBytes   640 Mbits/sec    0   2.15 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   763 MBytes   640 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   760 MBytes   638 Mbits/sec                  receiver


I need to reconfigure back to this driver and continue testing but earlier tests showed this driver appearing to only use 2 Spatial Streams. Can you clarify if this driver should be capable of 3 Spatial Streams at this point?

@D357R0Y3R
Copy link

D357R0Y3R commented Dec 22, 2024

@D357R0Y3R

I am getting sometimes minimum 780 MBPS and highest 866.7 MBPS from my AC1200 router...

What were you expecting?

I didn't test with iperf3. I just noticed the speed from my router interface. Seems like you are have configured the iperf3 -s on your OpenWRT router?

@D357R0Y3R
Copy link

Hey, @morrownr!

https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapter_out-of-kernel_drivers_for_Linux.md#chipset---rtl8814au---ac1900---usb-3

For an example there are so many not supported options from the older driver, Did you managed to try to get them all working with this new driver?

@dubhater
Copy link
Collaborator

@morrownr It can use 3 spatial streams in USB 3 mode. It can use only 2 spatial streams in USB 2 mode.

@morrownr
Copy link
Collaborator Author

@D357R0Y3R

Seems like you are have configured the iperf3 -s on your OpenWRT router?

That is correct. Actually I use 3 different WiFi routers but only 1 at a time plus a RasPi4B as an AP. This gives me the flexibility to test many things.

Did you managed to try to get them all working with this new driver?

We'll find out. The first thing to understand is @dubhater is the primary coder while I am the primary tester. Once in a while he throws a coding job my way. It is much much faster this way. He has a black belt in wireless programming, I do not.

Based on my testing over the last year on the various drivers in this repo, I can say that many of the missing features have been added.

I think monitor mode is in much better shape but we need testers and reports on that. I have only done basic monitor mode testing. Virtual interface support is not where we want it. Realtek seems to have this thing about Concurrent mode. There is no Active Monitor Mode but most people that really need that have probably got a Mediatek adapter by now.

@morrownr
Copy link
Collaborator Author

@dubhater

It can use 3 spatial streams in USB 3 mode. It can use only 2 spatial streams in USB 2 mode.

Yes. I have been checking to see if I am in USB3 mode.

I am now seeing proper operation in managed mode with 3 spatial streams...

$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.217 port 59058 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  73.6 MBytes   618 Mbits/sec    0   2.18 MBytes       
[  5]   1.00-2.00   sec  71.2 MBytes   598 Mbits/sec    0   2.18 MBytes       
[  5]   2.00-3.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   3.00-4.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   4.00-5.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   5.00-6.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   6.00-7.00   sec  71.2 MBytes   598 Mbits/sec    0   2.18 MBytes       
[  5]   7.00-8.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   8.00-9.00   sec  72.5 MBytes   608 Mbits/sec    0   2.18 MBytes       
[  5]   9.00-10.00  sec  71.2 MBytes   598 Mbits/sec    0   2.18 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   722 MBytes   606 Mbits/sec    0             sender
[  5]   0.00-10.03  sec   721 MBytes   603 Mbits/sec                  receiver

Basically what we should see is around a max of 600 Mbps with 3 spatial streams and a max of around 400 Mbps with 2 spatial streams. In earlier tests I could not see 3 spatial streams working as it should but some of my equipment is well worn so I stayed at it. We need more tests from more people to see if operation is consistent.

Also, I am seeing automatic USB3 mode work correctly every time. I do need to test USB2 mode. Speaking of USB2 mode, I noticed we have not documented the new parameter to limit to USB2 mode yet. Throw me some information about it and I'll see about documenting it.

@dubhater
Copy link
Collaborator

dubhater commented Dec 23, 2024

name:           rtw88_usb
parm:           switch_usb_mode:Set to N to disable switching to USB 3 mode to avoid potential interference in the 2.4 GHz band (default: Y) (bool)

It currently has an effect for RTL8822CU, RTL8812CU, RTL8822BU, RTL8812BU, RTL8812AU, and RTL8814AU.

It's okay to leave the parameter on even when plugging the device into a USB 2 port because it will try to switch to USB 3 mode only once.

@morrownr
Copy link
Collaborator Author

Thanks. I added the information to the existing section but I don't like that placement. I think more changes need to be made to make it as clear as possible. I ponder the issue an come up with something.

@s1shed
Copy link

s1shed commented Dec 30, 2024

Since I was testing another driver for IBSS I thought I'd try this one too... My Alfa AWUS1900 was able to join an encrypted IBSS network created with wpa_supplicant, but there was an error in the kernel logs.

Kali Linux
Kernel: 6.11.2-amd64
Alfa AWUS1900 in USB3 mode (if it matters)

adhoc.conf:

#  wpa_supplicant -B -i wlan1 -c adhoc.conf

ctrl_interface=/run/wpa_supplicant GROUP=root

network={
        ssid="testnet"
        mode=1
        frequency=2432
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="testnet1234"
}
Dec 30 18:00:45 kali kernel: wlan1: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Dec 30 18:01:16 kali kernel: wlan1: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Dec 30 18:01:18 kali kernel: ------------[ cut here ]------------
Dec 30 18:01:18 kali kernel: WARNING: CPU: 1 PID: 82735 at net/mac80211/ibss.c:1062 ieee80211_ibss_rx_queued_mgmt+0xa98/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel: Modules linked in: rtw_8814au(OE) rtw_8814a(OE) rtw_usb(OE) rtw_core(OE) 8852bu(OE) ccm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device overlay qrtr sunrpc btusb btrtl binfmt_misc btintel btbcm btmtk uvcvideo bluetooth videobuf2_vmalloc uvc videobuf2_memops videobuf2_v4l2 cdc_mbim cdc_wdm cdc_acm videodev videobuf2_common mc snd_sof_pci_intel_skl snd_sof_intel_hda_generic soundwire_intel soundwire_generic_allocation soundwire_cadence snd_sof_intel_hda_common snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils soundwire_bus nls_ascii nls_cp437 snd_soc_avs vfat fat intel_rapl_msr intel_rapl_common snd_soc_hda_codec intel_uncore_frequency intel_uncore_frequency_common snd_soc_skl intel_pmc_core_pltdrv intel_pmc_core ext4 iwlmvm snd_soc_hdac_hda intel_vsec crc16 mbcache snd_hda_ext_core pmt_telemetry jbd2 mac80211 snd_soc_sst_ipc pmt_class snd_hda_codec_hdmi snd_soc_sst_dsp x86_pkg_temp_thermal intel_powerclamp snd_soc_acpi_intel_match coretemp libarc4 snd_soc_acpi
Dec 30 18:01:18 kali kernel:  snd_hda_codec_realtek kvm_intel snd_hda_codec_generic snd_soc_core iwlwifi snd_hda_scodec_component snd_compress kvm snd_pcm_dmaengine tps6598x snd_hda_intel mei_pxp mei_hdcp typec snd_intel_dspcfg snd_intel_sdw_acpi rapl snd_ctl_led snd_hda_codec intel_cstate cfg80211 intel_uncore snd_hda_core thinkpad_acpi iTCO_wdt snd_hwdep intel_pmc_bxt think_lmi snd_pcm iTCO_vendor_support firmware_attributes_class pcspkr wmi_bmof intel_wmi_thunderbolt nvram mei_me sparse_keymap ee1004 watchdog snd_timer mei platform_profile intel_xhci_usb_role_switch snd intel_pch_thermal roles serial_multi_instantiate soundcore rfkill ac acpi_pad joydev evdev serio_raw vmwgfx drm_ttm_helper msr efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 btrfs blake2b_generic xor raid6_pq libcrc32c crc32c_generic dm_crypt dm_mod hid_logitech_hidpp hid_logitech_dj hid_generic usbhid hid cdc_ncm cdc_ether usbnet mii i915 drm_buddy i2c_algo_bit crct10dif_pclmul drm_display_helper crc32_pclmul crc32c_intel xhci_pci cec xhci_hcd
Dec 30 18:01:18 kali kernel:  rc_core ghash_clmulni_intel ttm sha512_ssse3 drm_kms_helper rtsx_pci_sdmmc intel_lpss_pci usbcore nvme mmc_core i2c_i801 sha256_ssse3 psmouse sha1_ssse3 drm rtsx_pci nvme_core e1000e i2c_smbus intel_lpss usb_common idma64 video battery wmi button aesni_intel gf128mul crypto_simd cryptd
Dec 30 18:01:18 kali kernel: CPU: 1 UID: 0 PID: 82735 Comm: kworker/u16:2 Tainted: G        W  OE      6.11.2-amd64 #1  Kali 6.11.2-1kali1
Dec 30 18:01:18 kali kernel: Tainted: [W]=WARN, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
Dec 30 18:01:18 kali kernel: Hardware name: LENOVO 20HN0012MX/20HN0012MX, BIOS R0IET72W (1.50 ) 11/08/2023
Dec 30 18:01:18 kali kernel: Workqueue: events_unbound cfg80211_wiphy_work [cfg80211]
Dec 30 18:01:18 kali kernel: RIP: 0010:ieee80211_ibss_rx_queued_mgmt+0xa98/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel: Code: 88 85 30 ff ff ff e8 c7 2f a7 ff 44 0f b6 85 30 ff ff ff 4c 8b 8d 28 ff ff ff 48 85 c0 4c 8b 9d 18 ff ff ff 0f 85 4a fb ff ff <0f> 0b e9 43 fb ff ff 0f 0b e9 cc fb ff ff 41 c6 81 92 0a 00 00 01
Dec 30 18:01:18 kali kernel: RSP: 0018:ffffc1d90df0fce8 EFLAGS: 00010246
Dec 30 18:01:18 kali kernel: RAX: 0000000000000000 RBX: ffffa0b98cfaca00 RCX: 0000000000000001
Dec 30 18:01:18 kali kernel: RDX: 0000000000000000 RSI: ffffc1d90df0fd60 RDI: ffffa0b98cfad470
Dec 30 18:01:18 kali kernel: RBP: ffffc1d90df0fdf0 R08: 0000000000000000 R09: ffffa0b957e68000
Dec 30 18:01:18 kali kernel: R10: 0000000000000000 R11: ffffffffc2a93740 R12: ffffa0ba0204e900
Dec 30 18:01:18 kali kernel: R13: ffffa0ba46549800 R14: ffffa0b95386cf38 R15: 00000000000000a4
Dec 30 18:01:18 kali kernel: FS:  0000000000000000(0000) GS:ffffa0ba6a680000(0000) knlGS:0000000000000000
Dec 30 18:01:18 kali kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec 30 18:01:18 kali kernel: CR2: 00005560783de588 CR3: 000000010fa22005 CR4: 00000000003706f0
Dec 30 18:01:18 kali kernel: Call Trace:
Dec 30 18:01:18 kali kernel:  <TASK>
Dec 30 18:01:18 kali kernel:  ? ieee80211_ibss_rx_queued_mgmt+0xa98/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel:  ? __warn.cold+0x8e/0xe8
Dec 30 18:01:18 kali kernel:  ? ieee80211_ibss_rx_queued_mgmt+0xa98/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel:  ? report_bug+0xff/0x140
Dec 30 18:01:18 kali kernel:  ? handle_bug+0x3c/0x80
Dec 30 18:01:18 kali kernel:  ? exc_invalid_op+0x17/0x70
Dec 30 18:01:18 kali kernel:  ? asm_exc_invalid_op+0x1a/0x20
Dec 30 18:01:18 kali kernel:  ? ieee80211_ibss_rx_queued_mgmt+0xa98/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel:  ? ieee80211_ibss_rx_queued_mgmt+0xa79/0xc00 [mac80211]
Dec 30 18:01:18 kali kernel:  ieee80211_iface_work+0x334/0x480 [mac80211]
Dec 30 18:01:18 kali kernel:  cfg80211_wiphy_work+0xef/0x160 [cfg80211]
Dec 30 18:01:18 kali kernel:  process_one_work+0x174/0x330
Dec 30 18:01:18 kali kernel:  worker_thread+0x252/0x390
Dec 30 18:01:18 kali kernel:  ? __pfx_worker_thread+0x10/0x10
Dec 30 18:01:18 kali kernel:  kthread+0xcf/0x100
Dec 30 18:01:18 kali kernel:  ? __pfx_kthread+0x10/0x10
Dec 30 18:01:18 kali kernel:  ret_from_fork+0x31/0x50
Dec 30 18:01:18 kali kernel:  ? __pfx_kthread+0x10/0x10
Dec 30 18:01:18 kali kernel:  ret_from_fork_asm+0x1a/0x30
Dec 30 18:01:18 kali kernel:  </TASK>
Dec 30 18:01:18 kali kernel: ---[ end trace 0000000000000000 ]---
Dec 30 18:01:19 kali kernel: rtw_8814au 2-6:1.0: failed to get tx report from firmware

Please let me know if I can provide any other information that could be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants