Closed nahuel closed 4 years ago
Hi @nahuel, I'm working with Sancloud on Linux support for the BBE so I'm happy to help here if I can. Is the kernel & rootfs here from Buildroot, Yocto Project, Debian or somewhere else?
Could you check if CONFIG_MUSB_PIO_ONLY
is enabled in the kernel config? If it's not enabled, try enabling that and see if it resolves the issue. There are known issues with stability of DMA over the USB interface.
If you need further assistance feel free to email me at paul.barker@sancloud.com.
Hi @pbrkr , I saw this problem on a very modified Debian with stock kernel, who has enabled CONFIG_MUSB_PIO_ONLY=y
. After the original post, I made two more tests:
1- Copied the entire OS image to another BBE board => the problem is still here, so is not a hardware failure of the first board.
2- Tried to reproduce it using another BBE board but using the latest IoT Debian image, but can't make it fail again. It appears to work ok (but with an initial slowpath warning/backtrace on dmesg
).
Next days will continue to try reproduce this with vanilla IoT Debian.
What was the slowpath warning?
@lwfinger this warning shows with vanilla Debian (downloaded from https://rcn-ee.com/rootfs/bb.org/testing/2020-05-02/stretch-console/bone-eMMC-flasher-debian-9.12-console-armhf-2020-05-02-1gb.img.xz ) on first connection, but then no more backtraces are shown and the connection seems stable (until now):
[ 52.211444] 8723bu: loading out-of-tree module taints kernel.
[ 53.024947] RTL871X: module init start
[ 53.024971] RTL871X: rtl8723bu v4.3.6.11_12942.20141204_BTCOEX20140507-4E40
[ 53.024978] RTL871X: rtl8723bu BT-Coex version = BTCOEX20140507-4E40
[ 54.299577] RTL871X: rtw_ndev_init(wlan0)
[ 54.301183] RTL871X: rtw_ndev_init(wlan1)
[ 54.360413] usbcore: registered new interface driver rtl8723bu
[ 54.360432] RTL871X: module init ret=0
[ 68.893025] mmc0: host does not support reading read-only switch, assuming write-enable
[ 68.895358] mmc0: new high speed SDHC card at address 5048
[ 68.906978] mmcblk0: mmc0:5048 SD16G 14.4 GiB
[ 68.909205] mmcblk0: p1
[ 146.512881] RTL871X: RTW_ADAPTIVITY_EN_
[ 146.512909] AUTO, chplan:0x20, Regulation:3,3
[ 146.512919] RTL871X: RTW_ADAPTIVITY_MODE_
[ 146.512924] NORMAL
[ 147.138385] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 147.165166] RTL871X: set ssid [ENFORCER-022-AP] fw_state=0x00000008
[ 149.256504] RTL871X: start auth
[ 149.266580] RTL871X: auth success, start assoc
[ 149.278627] RTL871X: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 149.278672] RTL871X: assoc success
[ 149.278821] ------------[ cut here ]------------
[ 149.279416] WARNING: CPU: 0 PID: 80 at net/wireless/sme.c:752 __cfg80211_connect_result+0x3c8/0x418 [cfg80211]
[ 149.279426] Modules linked in: 8723bu(O) cfg80211 ecdh_generic spidev uio_pdrv_genirq uio usb_f_ncm u_ether libcomposite
[ 149.279491] CPU: 0 PID: 80 Comm: kworker/u2:1 Tainted: G O 4.14.108-ti-r134 #1stretch
[ 149.279497] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 149.279765] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[ 149.279817] [<c0112ad8>] (unwind_backtrace) from [<c010d690>] (show_stack+0x20/0x24)
[ 149.279841] [<c010d690>] (show_stack) from [<c0cbba94>] (dump_stack+0x80/0x94)
[ 149.279857] [<c0cbba94>] (dump_stack) from [<c013ebe0>] (__warn+0xf8/0x110)
[ 149.279870] [<c013ebe0>] (__warn) from [<c013ed10>] (warn_slowpath_null+0x30/0x38)
[ 149.280073] [<c013ed10>] (warn_slowpath_null) from [<bf0cb210>] (__cfg80211_connect_result+0x3c8/0x418 [cfg80211])
[ 149.280392] [<bf0cb210>] (__cfg80211_connect_result [cfg80211]) from [<bf099b20>] (cfg80211_process_wdev_events+0x118/0x174 [cfg80211])
[ 149.280675] [<bf099b20>] (cfg80211_process_wdev_events [cfg80211]) from [<bf099bc0>] (cfg80211_process_rdev_events+0x44/0x78 [cfg80211])
[ 149.280949] [<bf099bc0>] (cfg80211_process_rdev_events [cfg80211]) from [<bf093334>] (cfg80211_event_work+0x24/0x2c [cfg80211])
[ 149.281098] [<bf093334>] (cfg80211_event_work [cfg80211]) from [<c015c838>] (process_one_work+0x19c/0x518)
[ 149.281113] [<c015c838>] (process_one_work) from [<c015d770>] (worker_thread+0x60/0x540)
[ 149.281130] [<c015d770>] (worker_thread) from [<c0163380>] (kthread+0x144/0x174)
[ 149.281150] [<c0163380>] (kthread) from [<c0108e28>] (ret_from_fork+0x14/0x2c)
[ 149.281159] ---[ end trace 12fcb36565bd9c1a ]---
[ 149.281311] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
I found the problem. In the customized image there was a crontab
script who did an ifdown wlan0 ; sleep 5 ; ifup wlan0
when a ping -c1
to a gateway failed (and it always failed on heavy traffic). The backtrace I saw recurrently in dmesg
is the one who is always shown on connect, but was not the cause of the disconnection (the script was).
So, I think you can close this issue. The only question left is why this warning appears on connection, but seems harmless. Thanks for your support.
That warning is intended to fire once when there is no routine attached to the connect callback in struct cfg80211_ops; however, it is established at line 5601 of file os_dep/ioctl_cfg80211.c. It does not occur on my kernel 5.9.1 running on x86_64.
At least it does not interfere with operation.
I'm using this driver in a Beaglebone Black Enhanced, who comes with the RTL8723BU (0bda:b720 usb id) chip integrated onboard. When there is some traffic in the wifi link, this kernel exception happens and the connection is lost for some seconds. It happens all the time, making the wifi connection almost unusable. The module was compiled with
CONFIG_CONCURRENT_MODE
disabled andCONFIG_POWER_SAVING=n
. Kernel version:5.4.70-ti-r19
. This happened also on older kernel versions.Module initialization:
Errors: