Ap crashes when connected halow station is system reset

Using sdk 2.6.6. Our hilink 7688, silex SX-SDMAH boards. When we have the boards connected halow, setup as ap ethernet/bridge and station bridge, if I reboot the station the ap will know about this and it will disconnect halow. HOWEVER, if I use the station’s web page to do a ‘reset to defaults’, the ap has no clue the station went away. Then, when the station comes back up and I use the wizard again to set it up as a bridge, I get the following output on the ap and the ap is dead to anything it needs to do with timers, hotplug notifications, etc. But I can still use the web page. When I changed the ap halow ssid, it got a halow disconnect. I changed the halow ssid back to what it was and the connection and all events worked just fine. The issue is…why did it have this problem? Can someone make sense of this log below? This is what came out when the station tried to connect after it got setup again after the wizard.

[  664.849837] ------------[ cut here ]------------
[  664.859080] WARNING: CPU: 0 PID: 5999 at /home/ubuntu22/SourceCode/MorseMicro/hilink7688_morsesdk2.6.6/openwrt-7688/build_dir/target-mipsel-openwrt-linux-musl_musl/linux-ramips_mt76x8/backports-6.1.24/net/mac80211/driver-ops.h:611 __ieee80211_flush_queues+0x184/0x194 [mac80211]
[  664.908470] wlan0.sta1: Failed check-sdata-in-driver check, flags: 0x1
[  664.921409] Modules linked in: morse pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet ebtable_nat ebtable_filter ebtable_broute cdc_mbim qmi_wwan pppox ppp_generic option nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack lzo iptable_mangle iptable_filter ipt_REJECT ip_tables ebtables ebt_vlan ebt_stp ebt_redirect ebt_pkttype ebt_mark_m ebt_mark ebt_limit ebt_among ebt_802_3 cdc_ncm cdc_ether batman_adv xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG x_tables usbnet usb_wwan tcp_bbr slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 lzo_rle lzo_decompress lzo_compress libcrc32c dot11ah crc7 crc_ccitt cdc_wdm cdc_acm mtk_sd sch_tbf sch_ingress sch_htb sch_hfsc
[  664.922017]  em_u32 cls_u32 cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact configs i2c_mt7621 i2c_dev i2c_core ledtrig_usbport trelay msdos tun mt7603e mt76 mac80211 cfg80211 compat nls_utf8 nls_iso8859_1 nls_cp437 sha512_generic seqiv jitterentropy_rng drbg hmac cmac usb_storage sdhci_pltfm sdhci mmc_block leds_gpio xhci_plat_hcd xhci_pci xhci_hcd ohci_pci uhci_hcd ohci_platform ohci_hcd ehci_pci fsl_mph_dr_of ehci_platform ehci_fsl sd_mod scsi_mod scsi_common ehci_hcd gpio_button_hotplug vfat fat f2fs ext4 mbcache jbd2 crc16 mii crc32c_generic crc32_generic [last unloaded: morse]
[  665.203101] CPU: 0 PID: 5999 Comm: hostapd_s1g Not tainted 5.15.150 #0
[  665.216048] Stack : 00000000 00000000 83db9a34 80970000 807b0000 806e39b0 829643c0 807a9ec3
[  665.232647]         80973404 0000176f 809a2660 80063a80 806dcf4c 00000001 83db99f0 4e8f651c
[  665.249245]         00000000 00000000 806e39b0 83db9888 ffffefff 00000000 00000000 ffffffea
[  665.265840]         00000000 83db9894 00000239 807b0578 80970000 00000009 00000000 8254868c
[  665.282437]         00000009 809a2660 807b0000 00000028 00000018 80369e90 00000000 80970000
[  665.299031]         …
[  665.303882] Call Trace:
[  665.308711] [<8000702c>] show_stack+0x28/0xf0
[  665.317374] [<8002802c>] __warn+0x9c/0x124
[  665.325511] [<80028140>] warn_slowpath_fmt+0x8c/0xac
[  665.335364] [<8254868c>] __ieee80211_flush_queues+0x184/0x194 [mac80211]
[  665.349543] [<8250adbc>] __sta_info_destroy_part2+0x170/0x288 [mac80211]
[  665.363704] [<8250b130>] sta_info_destroy_addr_bss+0x58/0x80 [mac80211]
[  665.377696] [<82413930>] nl80211_del_station+0xd4/0x154 [cfg80211]
[  665.390189] [<804db910>] genl_rcv_msg+0x154/0x354
[  665.399543] [<804da7bc>] netlink_rcv_skb+0xb4/0x160
[  665.409221] [<804db154>] genl_rcv+0x30/0x48
[  665.417522] [<804d9d9c>] netlink_unicast+0x230/0x354
[  665.427371] [<804da1e4>] netlink_sendmsg+0x324/0x490
[  665.437219] [<80433870>] ____sys_sendmsg+0xc4/0x240
[  665.446904] [<804357bc>] ___sys_sendmsg+0x90/0x108
[  665.456412] [<80435938>] sys_sendmsg+0x4c/0xb8
[  665.465229] [<8000eb04>] syscall_common+0x34/0x58
[  665.474565]
[  665.477501] —[ end trace 8234c2c6e452edb0 ]— Ap crashes when connected halow station is system reset

Hi @don.baker

It’s interesting we haven’t hit this issue ourselves. It seems to be something affecting OpenWrt 23. See:
12420
14048

In at least one of those issues, this kernel patch was considered as being a solution, as referenced by pull request 13620.

I’d be interested to know if applying the above patch to your kernel resolves your issue. Also, consider updating to our newer OpenWrt release if you can.

Arien,

a) I can’t find this sdk on any of the morse websites, even after I log in. All I see is the release note. How do I get sdk 2.9.3?

b) silex said I need a bcf from them but they need to know what driver ver is used for 2.9.3.

Don

Hi Don,

2.9.3 can be found on GitHub - see GitHub - MorseMicro/openwrt at 2.9.3

2.9.3 is based on 1.16.4.