Hi,
Recently I compiled the BananaPI-R4 board for openWRT as an 802.11 client station. Here is my current status and problems seen.
- I am able to connect to WPA2-PSK, Open, WPA3-SAE connections. When I enable MLO for 2 bands, the station does not connect to the AP. A single band MLO seems to go through.
- Also, I see a crash while connecting to a WPA3 connection (MLO/Non-MLO)
My MLO settings in the AP are as below for the wifi-iface.
config wifi-iface
option device wifi1
option network lan
option mode ap
option ssid OpenWrt_password_12_5_AP
option encryption ccmp
option sae 1
list sae_password password123
list sae_groups 19
option sae_pwe 1
option ieee80211w 2
option mld mld0
config wifi-iface
option device wifi2
option network lan
option mode ap
option ssid OpenWrt_password_12_5_AP
option encryption ccmp
option sae 1
list sae_password password123
list sae_groups 19
option sae_pwe 1
option ieee80211w 2
option mld mld0
Station settings for /etc/config/wireless are as below
config wifi-iface ‘default_radio2’
option device 'radio2'
option network 'wwan2'
option mode 'sta'
option ssid 'OpenWrt_password_12_5_AP'
option encryption 'sae'
option key 'password123'
option disabled '0'
list sae_groups '19'
option ieee80211w '2'
option sae_pwe '1'
option country 'US'
My station connection failure and crash is attached at the bottom. I have not yet started looking into the code but what is curious is that I see “ieee80211_ibss_leave” in the call stack. Seems it might be a corruption someplace. Is this a known issue?
Does OpenWRT support multiple radio links to an MLD group containing 2 radio links. Is there any specific setting that I might be missing?
Also, google search indicated that some Firmware updates and firmware bin files might resolve the MLO related issues in Mediatek for OpenWRT. Any suggestions for the same? Kindly let us know
root@OpenWrt:~# [ 39.163245] phy0.2-sta0: authenticate with 00:03:7f:01:58:70 (local address=a2:1a:6a:20:ba:46) [ 39.171870] phy0.2-sta0: send auth to 00:03:7f:01:58:70 (try 1/3) [ 39.189451] phy0.2-sta0: authenticate with 00:03:7f:01:58:70 (local address=a2:1a:6a:20:ba:46) [ 39.198075] phy0.2-sta0: send auth to 00:03:7f:01:58:70 (try 1/3) [ 39.206122] phy0.2-sta0: authenticated [ 39.210412] phy0.2-sta0: associate with 00:03:7f:01:58:70 (try 1/3) [ 39.283870] phy0.2-sta0: RX AssocResp from 00:03:7f:01:58:70 (capab=0x511 status=0 aid=6) [ 39.340396] phy0.2-sta0: [link 0] local address 4a:91:53:cb:7a:64, AP link address 00:03:7f:04:39:67 [ 39.349549] phy0.2-sta0: [link 1] local address a2:1a:6a:20:ba:46, AP link address 02:03:7f:01:58:78 (assoc) [ 39.362095] phy0.2-sta0: associated [ 39.365725] ------------[ cut here ]------------ [ 39.370342] WARNING: CPU: 1 PID: 44 at ieee80211_vif_unblock_queues_csa+0x490/0x4a8 [mac80211] [ 39.378978] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_mh [ 39.444877] CPU: 1 UID: 0 PID: 44 Comm: kworker/u16:1 Tainted: G O 6.12.80 #0 [ 39.453395] Tainted: [O]=OOT_MODULE [ 39.456874] Hardware name: Banana Pi BPI-R4 (2x SFP+) (DT) [ 39.462349] Workqueue: events_unbound wiphy_hrtimer_work_pending [cfg80211] [ 39.469324] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–) [ 39.476275] pc : ieee80211_vif_unblock_queues_csa+0x490/0x4a8 [mac80211] [ 39.482994] lr : ieee80211_vif_unblock_queues_csa+0x244/0x4a8 [mac80211] [ 39.489701] sp : ffffffc0805abc20 [ 39.493005] x29: ffffffc0805abc20 x28: 0000000000000001 x27: 0000000000000000 [ 39.500134] x26: ffffff80c09a9880 x25: 0000000000000001 x24: ffffff80c5420900 [ 39.507260] x23: 0000000000000002 x22: 0000000000000003 x21: 0000000000000000 [ 39.514385] x20: 0000000000000001 x19: ffffff80c79b8940 x18: ffffffeb358ce9e8 [ 39.521511] x17: 0000000000000028 x16: ffffffeb350352c0 x15: 000018790000000d [ 39.528637] x14: ffffff80c58c4548 x13: 000018790000000d x12: ffffff80c58c4548 [ 39.535763] x11: 00000000ffffe8bd x10: 0000000000000000 x9 : 0000000000000000 [ 39.542888] x8 : 0000000000000000 x7 : 0000000000002710 x6 : 0000000000250878 [ 39.550014] x5 : ffffff80c542c910 x4 : ffffff80c542c918 x3 : 00000000005a06e0 [ 39.557140] x2 : ffffff80c542c918 x1 : 0000000000255698 x0 : 00000000fffffff0 [ 39.564266] Call trace: [ 39.566703] ieee80211_vif_unblock_queues_csa+0x490/0x4a8 [mac80211] [ 39.573067] ieee80211_set_active_links+0xd8/0x138 [mac80211] [ 39.578819] ieee80211_ibss_leave+0x1114/0x19a0 [mac80211] [ 39.584310] wiphy_hrtimer_work_pending+0x28c/0x3b8 [cfg80211] [ 39.590144] process_one_work+0x174/0x300 [ 39.594149] worker_thread+0x1ac/0x350 [ 39.597889] kthread+0xd8/0xdc [ 39.600935] ret_from_fork+0x10/0x20 [ 39.604504] —[ end trace 0000000000000000 ]— [ 39.609558] ------------[ cut here ]------------ [ 39.614176] WARNING: CPU: 1 PID: 44 at ieee80211_vif_unblock_queues_csa+0x2cc/0x4a8 [mac80211] [ 39.622803] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_mh [ 39.688689] CPU: 1 UID: 0 PID: 44 Comm: kworker/u16:1 Tainted: G W O 6.12.80 #0 [ 39.697204] Tainted: [W]=WARN, [O]=OOT_MODULE [ 39.701549] Hardware name: Banana Pi BPI-R4 (2x SFP+) (DT) [ 39.707023] Workqueue: events_unbound wiphy_hrtimer_work_pending [cfg80211] [ 39.713987] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–) [ 39.720937] pc : ieee80211_vif_unblock_queues_csa+0x2cc/0x4a8 [mac80211] [ 39.727644] lr : ieee80211_vif_unblock_queues_csa+0x2c8/0x4a8 [mac80211] [ 39.734349] sp : ffffffc0805abc20 [ 39.737653] x29: ffffffc0805abc20 x28: 0000000000000001 x27: 0000000000000000 [ 39.744780] x26: 0000000000000003 x25: 0000000000000001 x24: ffffff80c5420900 [ 39.751905] x23: 0000000000000002 x22: 0000000000000003 x21: ffffff80c5420f58 [ 39.759030] x20: ffffff80c0a36000 x19: ffffff80c79b8940 x18: 0000000000000000 [ 39.766156] x17: 0000000000000000 x16: ffffffeb3550a120 x15: 0000007fed60b5d0 [ 39.773281] x14: 0000000000000000 x13: ffffff80c0a462c0 x12: 0000000000000000 [ 39.780407] x11: 00000000000000c0 x10: 00000000000008e0 x9 : ffffffc0805aba30 [ 39.787532] x8 : ffffff80c0a46b40 x7 : 0000000000000001 x6 : 0000000000000000 [ 39.794658] x5 : ffffffc0805abb30 x4 : 0000000000000000 x3 : ffffff80c0a46200 [ 39.801783] x2 : 0000000000000000 x1 : ffffff80c0a46200 x0 : 00000000ffffffea [ 39.808908] Call trace: [ 39.811344] ieee80211_vif_unblock_queues_csa+0x2cc/0x4a8 [mac80211] [ 39.817704] ieee80211_set_active_links+0xd8/0x138 [mac80211] [ 39.823455] ieee80211_ibss_leave+0x1114/0x19a0 [mac80211] [ 39.828946] wiphy_hrtimer_work_pending+0x28c/0x3b8 [cfg80211] [ 39.834777] process_one_work+0x174/0x300 [ 39.838780] worker_thread+0x1ac/0x350 [ 39.842519] kthread+0xd8/0xdc [ 39.845566] ret_from_fork+0x10/0x20 [ 39.849134] —[ end trace 0000000000000000 ]—