Search Linux Wireless

Re: rtw88: rtw8822cu (LM842) on Raspi4 -> driver get stucked while sending data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> I want to use LM842 USB stick on a Raspberry Pi 4 using Raspberry Pi OS
> (64-bit Debian Bookworm with kernel 6.6.20), but the driver get stucked.
>
> The LM842 on Raspi is used as AP.

Based on my testing of rtw88: rtw8822cu, it is non-functional in AP mode.
A small group is working on this driver and recently sent in 5 patches to
help with various problems, mostly managed mode and missing vid-pid
related issues. The location where we are coordinating the effort is:

https://github.com/morrownr/8821cu-20210916/issues/115

Patches are being tested at:

https://github.com/lwfinger/rtw88

If you need a driver that works right now:

https://github.com/morrownr/8821cu-20210916

> Here I show how I created the AP:
> sudo nmcli con add type wifi ifname wlan1 mode ap con-name TEST-AP
> ssid TEST autoconnect false
> sudo nmcli con modify TEST-AP 802-11-wireless.band bg
> sudo nmcli con modify TEST-AP 802-11-wireless.channel 6
> sudo nmcli con modify TEST-AP 802-11-wireless.cloned-mac-address
> 00:12:34:56:78:9a
> sudo nmcli con modify TEST-AP ipv4.method shared ipv4.address 192.168.244.1/24
> sudo nmcli con modify TEST-AP ipv6.method disabled
> sudo nmcli con modify TEST-AP wifi-sec.key-mgmt wpa-psk
> sudo nmcli con modify TEST-AP wifi-sec.psk "mypassword"
> sudo nmcli con up TEST-AP
>
> Here is the kernel log with 2 kernel traces:
> ============plug-in LM842 USB stick ===========
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: new high-speed USB device
> number 3 using xhci_hcd
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: New USB device found,
> idVendor=0bda, idProduct=c82c, bcdDevice= 0.00
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: New USB device strings:
> Mfr=1, Product=2, SerialNumber=3
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: Product: 802.11ac NIC
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: Manufacturer: Realtek
> Apr 12 14:36:33 lite-61 kernel: usb 1-1.3: SerialNumber: 123456
> Apr 12 14:36:33 lite-61 kernel: usbcore: registered new interface driver btusb
> Apr 12 14:36:33 lite-61 kernel: Bluetooth: hci1: RTL: examining
> hci_ver=0a hci_rev=000c lmp_ver=0a lmp_subver=8822
> Apr 12 14:36:33 lite-61 kernel: Bluetooth: hci1: RTL: rom_version
> status=0 version=3
> Apr 12 14:36:33 lite-61 kernel: Bluetooth: hci1: RTL: loading
> rtl_bt/rtl8822cu_fw.bin
> Apr 12 14:36:33 lite-61 kernel: Bluetooth: hci1: RTL: loading
> rtl_bt/rtl8822cu_config.bin
> Apr 12 14:36:33 lite-61 kernel: Bluetooth: hci1: RTL: cfg_sz 6, total sz 35990
> Apr 12 14:36:33 lite-61 kernel: rtw_8822cu 1-1.3:1.2: WOW Firmware
> version 9.9.4, H2C version 15
> Apr 12 14:36:33 lite-61 kernel: rtw_8822cu 1-1.3:1.2: Firmware version
> 9.9.15, H2C version 15
> Apr 12 14:36:34 lite-61 kernel: Bluetooth: hci1: RTL: fw version 0x0cc6d2e3
> Apr 12 14:36:34 lite-61 kernel: Bluetooth: MGMT ver 1.22
> Apr 12 14:36:34 lite-61 kernel: usbcore: registered new interface
> driver rtw_8822cu
> ===========AP is started, client connect to
> AP===============================================================
> ===========send some test data with iperf3 30-45 min (UDP/TCP test
> data)=====================================
> ===========iperf3 -c 192.168.244.1 -u -i 1 -t 600 -O 5  || iperf3 -c
> 192.168.244.1 -i 1 -t 600 -O 5==========
> Apr 12 14:41:01 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 14:41:01 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
>
> Apr 12 14:57:04 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 14:57:04 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 14:57:15 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:07:15 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> =========here it get stalled : the connection is broken=========
> =========AP is not anymore visible==============================
> Apr 12 15:17:19 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:17:19 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:17:21 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:17:24 lite-61 kernel: rtw_8822cu 1-1.3:1.2: error beacon valid
> Apr 12 15:17:24 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to
> download drv rsvd page
> =============shut down AP in Raspi(sudo nmcli con down TEST-AP)===========
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: timed out to flush queue 3
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: error beacon valid
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to
> download rsvd page
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to
> download firmware
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: leave idle state failed
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to send h2c command
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to send h2c command
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to send h2c command
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to leave ips state
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to leave idle state
> Apr 12 15:23:47 lite-61 kernel: ------------[ cut here ]------------
> Apr 12 15:23:47 lite-61 kernel: WARNING: CPU: 0 PID: 513 at
> net/wireless/core.c:1518 cfg80211_netdev_notifier_call+0x3a4/0x558
> [cfg80211]
> Apr 12 15:23:47 lite-61 kernel: Modules linked in: ctr ccm
> nft_reject_ipv4 nf_reject_ipv4 nft_reject nft_ct nft_masq
> nft_chain_nat nf_tables nfnetlink nf_nat_h323 nf_conntrack_h323
> nf_nat_pptp nf_conntrack_pptp nf_nat_tftp nf_conntrack_tftp nf_nat_sip
> nf_conntrack_sip nf_nat_irc nf_conntrack_irc nf_nat_ftp
> nf_conntrack_ftp nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4
> rtw88_8822cu rtw88_8822c rtw88_usb rtw88_core mac80211 btusb btrtl
> btintel libarc4 cmac algif_hash aes_arm64 aes_generic algif_skcipher
> af_alg bnep brcmfmac_wcc brcmfmac brcmutil cfg80211 hci_uart btbcm
> bluetooth vc4 v3d gpu_sched drm_shmem_helper snd_soc_hdmi_codec
> raspberrypi_hwmon drm_display_helper ecdh_generic cec ecc
> drm_dma_helper rpivid_hevc(C) bcm2835_v4l2(C) bcm2835_codec(C)
> bcm2835_isp(C) binfmt_misc drm_kms_helper rfkill bcm2835_mmal_vchiq(C)
> v4l2_mem2mem snd_soc_core videobuf2_vmalloc libaes
> videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_compress
> videodev snd_pcm_dmaengine snd_bcm2835(C) snd_pcm videobuf2_common
> vc_sm_cma(C) mc raspberrypi_gpiomem
> Apr 12 15:23:47 lite-61 kernel:  snd_timer snd nvmem_rmem
> uio_pdrv_genirq uio drm fuse dm_mod drm_panel_orientation_quirks
> backlight ip_tables x_tables ipv6 i2c_brcmstb
> Apr 12 15:23:47 lite-61 kernel: CPU: 0 PID: 513 Comm: NetworkManager
> Tainted: G         C         6.6.20+rpt-rpi-v8 #1  Debian
> 1:6.6.20-1+rpt1
> Apr 12 15:23:47 lite-61 kernel: Hardware name: Raspberry Pi 4 Model B
> Rev 1.5 (DT)
> Apr 12 15:23:47 lite-61 kernel: pstate: 60000005 (nZCv daif -PAN -UAO
> -TCO -DIT -SSBS BTYPE=--)
> Apr 12 15:23:47 lite-61 kernel: pc :
> cfg80211_netdev_notifier_call+0x3a4/0x558 [cfg80211]
> Apr 12 15:23:47 lite-61 kernel: lr :
> cfg80211_netdev_notifier_call+0x230/0x558 [cfg80211]
> Apr 12 15:23:47 lite-61 kernel: sp : ffffffc080ba32e0
> Apr 12 15:23:47 lite-61 kernel: x29: ffffffc080ba32e0 x28:
> ffffffec109ec868 x27: ffffffec10974300
> Apr 12 15:23:47 lite-61 kernel: x26: ffffffec8b22d850 x25:
> ffffffec8ae94008 x24: ffffffc080ba35c0
> Apr 12 15:23:47 lite-61 kernel: x23: 0000000000000002 x22:
> ffffff8036be0000 x21: ffffff8036be03c0
> Apr 12 15:23:47 lite-61 kernel: x20: ffffff8034ca8000 x19:
> ffffff8034ca8950 x18: 0000000000000000
> Apr 12 15:23:47 lite-61 kernel: x17: ffffff93b02ba000 x16:
> ffffffec8a8fd448 x15: 0000000000070014
> Apr 12 15:23:47 lite-61 kernel: x14: ffffffec8b54ef60 x13:
> 0000000000000010 x12: 0000001000001780
> Apr 12 15:23:47 lite-61 kernel: x11: 0000000000000000 x10:
> 0000000000000000 x9 : ffffffec10974530
> Apr 12 15:23:47 lite-61 kernel: x8 : ffffffc080ba32c8 x7 :
> ffffff80051d0000 x6 : 0000000000000000
> Apr 12 15:23:47 lite-61 kernel: x5 : 0000000000000080 x4 :
> 0000000000000000 x3 : 0000000000000000
> Apr 12 15:23:47 lite-61 kernel: x2 : ffffff8004049ec0 x1 :
> ffffff8034ca8950 x0 : 0000000000000000
> Apr 12 15:23:47 lite-61 kernel: Call trace:
> Apr 12 15:23:47 lite-61 kernel:
> cfg80211_netdev_notifier_call+0x3a4/0x558 [cfg80211]
> Apr 12 15:23:47 lite-61 kernel:  notifier_call_chain+0x78/0x148
> Apr 12 15:23:47 lite-61 kernel:  raw_notifier_call_chain+0x20/0x38
> Apr 12 15:23:47 lite-61 kernel:  call_netdevice_notifiers_info+0x60/0xb8
> Apr 12 15:23:47 lite-61 kernel:  __dev_notify_flags+0xbc/0xf0
> Apr 12 15:23:47 lite-61 kernel:  dev_change_flags+0x5c/0x80
> Apr 12 15:23:47 lite-61 kernel:  do_setlink+0x28c/0xef8
> Apr 12 15:23:47 lite-61 kernel:  __rtnl_newlink+0x520/0x898
> Apr 12 15:23:47 lite-61 kernel:  rtnl_newlink+0x58/0x90
> Apr 12 15:23:47 lite-61 kernel:  rtnetlink_rcv_msg+0x134/0x390
> Apr 12 15:23:47 lite-61 kernel:  netlink_rcv_skb+0x64/0x138
> Apr 12 15:23:47 lite-61 kernel:  rtnetlink_rcv+0x20/0x38
> Apr 12 15:23:47 lite-61 kernel:  netlink_unicast+0x2fc/0x370
> Apr 12 15:23:47 lite-61 kernel:  netlink_sendmsg+0x1c4/0x448
> Apr 12 15:23:47 lite-61 kernel:  __sock_sendmsg+0x64/0xc0
> Apr 12 15:23:47 lite-61 kernel:  ____sys_sendmsg+0x260/0x298
> Apr 12 15:23:47 lite-61 kernel:  ___sys_sendmsg+0xb4/0x110
> Apr 12 15:23:47 lite-61 kernel:  __sys_sendmsg+0x8c/0xf0
> Apr 12 15:23:47 lite-61 kernel:  __arm64_sys_sendmsg+0x2c/0x40
> Apr 12 15:23:47 lite-61 kernel:  invoke_syscall+0x50/0x128
> Apr 12 15:23:47 lite-61 kernel:  el0_svc_common.constprop.0+0x48/0xf0
> Apr 12 15:23:47 lite-61 kernel:  do_el0_svc+0x24/0x38
> Apr 12 15:23:47 lite-61 kernel:  el0_svc+0x40/0xe8
> Apr 12 15:23:47 lite-61 kernel:  el0t_64_sync_handler+0x100/0x130
> Apr 12 15:23:47 lite-61 kernel:  el0t_64_sync+0x190/0x198
> Apr 12 15:23:47 lite-61 kernel: ---[ end trace 0000000000000000 ]---
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: error beacon valid
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to
> download rsvd page
> Apr 12 15:23:47 lite-61 kernel: rtw_8822cu 1-1.3:1.2: failed to
> download firmware
> Apr 12 15:23:48 lite-61 kernel: warning: `iwconfig' uses wireless
> extensions which will stop working for Wi-Fi 7 hardware; use nl80211
> =============plug-out LM842 USB stick ===========
> Apr 12 15:25:09 lite-61 kernel: usb 1-1.3: USB disconnect, device number 3
> Apr 12 15:25:09 lite-61 kernel: ------------[ cut here ]------------
> Apr 12 15:25:09 lite-61 kernel: Have pending ack frames!
> Apr 12 15:25:09 lite-61 kernel: WARNING: CPU: 0 PID: 3332 at
> net/mac80211/main.c:1510 ieee80211_free_ack_frame+0x5c/0x88 [mac80211]
> Apr 12 15:25:09 lite-61 kernel: Modules linked in: ctr ccm
> nft_reject_ipv4 nf_reject_ipv4 nft_reject nft_ct nft_masq
> nft_chain_nat nf_tables nfnetlink nf_nat_h323 nf_conntrack_h323
> nf_nat_pptp nf_conntrack_pptp nf_nat_tftp nf_conntrack_tftp nf_nat_sip
> nf_conntrack_sip nf_nat_irc nf_conntrack_irc nf_nat_ftp
> nf_conntrack_ftp nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4
> rtw88_8822cu rtw88_8822c rtw88_usb rtw88_core mac80211 btusb btrtl
> btintel libarc4 cmac algif_hash aes_arm64 aes_generic algif_skcipher
> af_alg bnep brcmfmac_wcc brcmfmac brcmutil cfg80211 hci_uart btbcm
> bluetooth vc4 v3d gpu_sched drm_shmem_helper snd_soc_hdmi_codec
> raspberrypi_hwmon drm_display_helper ecdh_generic cec ecc
> drm_dma_helper rpivid_hevc(C) bcm2835_v4l2(C) bcm2835_codec(C)
> bcm2835_isp(C) binfmt_misc drm_kms_helper rfkill bcm2835_mmal_vchiq(C)
> v4l2_mem2mem snd_soc_core videobuf2_vmalloc libaes
> videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_compress
> videodev snd_pcm_dmaengine snd_bcm2835(C) snd_pcm videobuf2_common
> vc_sm_cma(C) mc raspberrypi_gpiomem
> Apr 12 15:25:09 lite-61 kernel:  snd_timer snd nvmem_rmem
> uio_pdrv_genirq uio drm fuse dm_mod drm_panel_orientation_quirks
> backlight ip_tables x_tables ipv6 i2c_brcmstb
> Apr 12 15:25:09 lite-61 kernel: CPU: 0 PID: 3332 Comm: kworker/0:1
> Tainted: G        WC         6.6.20+rpt-rpi-v8 #1  Debian
> 1:6.6.20-1+rpt1
> Apr 12 15:25:09 lite-61 kernel: Hardware name: Raspberry Pi 4 Model B
> Rev 1.5 (DT)
> Apr 12 15:25:09 lite-61 kernel: Workqueue: usb_hub_wq hub_event
> Apr 12 15:25:09 lite-61 kernel: pstate: 60000005 (nZCv daif -PAN -UAO
> -TCO -DIT -SSBS BTYPE=--)
> Apr 12 15:25:09 lite-61 kernel: pc :
> ieee80211_free_ack_frame+0x5c/0x88 [mac80211]
> Apr 12 15:25:09 lite-61 kernel: lr :
> ieee80211_free_ack_frame+0x5c/0x88 [mac80211]
> Apr 12 15:25:09 lite-61 kernel: sp : ffffffc0872bb910
> Apr 12 15:25:09 lite-61 kernel: x29: ffffffc0872bb910 x28:
> 0000000000000002 x27: ffffff80027fe000
> Apr 12 15:25:09 lite-61 kernel: x26: ffffff800315f000 x25:
> ffffff800315f0a8 x24: ffffff8036be1fa0
> Apr 12 15:25:09 lite-61 kernel: x23: 0000000000000000 x22:
> 000000007fffffff x21: ffffffec10b2e480
> Apr 12 15:25:09 lite-61 kernel: x20: 0000000000000000 x19:
> ffffff80047d5f00 x18: ffffffc080d2bc78
> Apr 12 15:25:09 lite-61 kernel: x17: ffffffec8b382740 x16:
> ffffffec89c8efa0 x15: 0000000000000040
> Apr 12 15:25:09 lite-61 kernel: x14: ffffff8036be1fa0 x13:
> 2173656d61726620 x12: 6b636120676e6964
> Apr 12 15:25:09 lite-61 kernel: x11: fffffffffffe0000 x10:
> ffffffec8b2a3708 x9 : ffffffec89d0946c
> Apr 12 15:25:09 lite-61 kernel: x8 : 00000000ffffefff x7 :
> ffffffec8b2a3708 x6 : 80000000fffff000
> Apr 12 15:25:09 lite-61 kernel: x5 : ffffff803b150d48 x4 :
> 0000000000000000 x3 : 0000000000000027
> Apr 12 15:25:09 lite-61 kernel: x2 : 0000000000000000 x1 :
> 0000000000000000 x0 : ffffff8002f8dc40
> Apr 12 15:25:09 lite-61 kernel: Call trace:
> Apr 12 15:25:09 lite-61 kernel:  ieee80211_free_ack_frame+0x5c/0x88 [mac80211]
> Apr 12 15:25:09 lite-61 kernel:  idr_for_each+0x6c/0xf0
> Apr 12 15:25:09 lite-61 kernel:  ieee80211_free_hw+0x48/0xc0 [mac80211]
> Apr 12 15:25:09 lite-61 kernel:  rtw_usb_disconnect+0xc4/0x108 [rtw88_usb]
> Apr 12 15:25:09 lite-61 kernel:  usb_unbind_interface+0x80/0x278
> Apr 12 15:25:09 lite-61 kernel:  device_remove+0x78/0x90
> Apr 12 15:25:09 lite-61 kernel:  device_release_driver_internal+0x1dc/0x238
> Apr 12 15:25:09 lite-61 kernel:  device_release_driver+0x20/0x38
> Apr 12 15:25:09 lite-61 kernel:  bus_remove_device+0xd4/0x120
> Apr 12 15:25:09 lite-61 kernel:  device_del+0x164/0x430
> Apr 12 15:25:09 lite-61 kernel:  usb_disable_device+0xdc/0x1c0
> Apr 12 15:25:09 lite-61 kernel:  usb_disconnect+0xe0/0x2b8
> Apr 12 15:25:09 lite-61 kernel:  hub_event+0x970/0x1540
> Apr 12 15:25:09 lite-61 kernel:  process_one_work+0x148/0x3b8
> Apr 12 15:25:09 lite-61 kernel:  worker_thread+0x32c/0x450
> Apr 12 15:25:09 lite-61 kernel:  kthread+0x11c/0x128
> Apr 12 15:25:09 lite-61 kernel:  ret_from_fork+0x10/0x20
> Apr 12 15:25:09 lite-61 kernel: ---[ end trace 0000000000000000 ]---
>
> The last kernel trace happens even if I don't send any data.
> Only plug-in the stick , connect to AP, wait some minutes,
> disconnect from AP and plug-out LM842.
>
> Any ideas what might be the cause of this ?
>
> Regards,
> Gabriel
>

Regards,

Nick




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux