Adding OpenWrt support for Xiaomi AX3600 (Part 1)

@Flole great! it may be worth raising a PR to Robi's repo so the device is included on the "promotion" to the openwrt master once accepted

The PR is already there, it was linked above. However, the installation procedure still needs to be tested. Once that is done it should be ready for merging as it was already reviewed.

Have you tried the TFTP recovery method or the Xiaomi Recovery tool as stated on the OpenWrt AX3600 page?

I saw people saying they bricked their router by using that Xiaomi tool so I was kind of trying to avoid that. No idea what even happened actually. And as I already have SSH access, I shouldn't need TFTP recovery method (I will try TFTP/XiaomiTool if there isn't any other way)

For now, I am looking if something like this is possible [OpenWrt Wiki] Back to original firmware
Or https://openwrt.org/toh/xiaomi/xiaomi_mi_router_4c
Basically something like this:
mtd -r write /tmp/original_firmware.bin firmware

But the issue is it has 2 partitions.

Edit: Anyways soft bricked the router trying commands. Used TFTP method to flash Stock firmware. Everythings is okay now.

@Ansuel Looks interesting:

1 Like

we still need to check if the global peer patch fix the sysupgrade problem...

isn't the problem that one shouldn't "kill" processes but instead "soft stop them" first... eg stop commands ... this is not i think an issue with IPQ807x but the overall approach of Openwrt to terminate / kill processes during upgrade . At least we should soft shutdown processes first ... not killing them. And this has been proven by (I think) everyone if issuing "wpad stop"... the upgrade works!

No, this is purely an ath11k issue as OpenWrt uses SIGTERM first, which is a normal way to ask a process to shutdown, but ath11k is taking too long to timeout on the peer delete and thus OpenWrt escalates to SIGKILL which will kill anything usually, but it cant kill hostapd as its the kernel/ath11k taking too long.

Sole reason why wpad stop "works" is that you are giving it way more time to timeout and stop.

still convinced some peer are getting stuck in the delete path and that lock the SIGTERM or could be that on peer delete a device try to reconnect and that cause all sort of problems?

No idea, all I know that ath11k will get stuck waiting for a timeout and this breaks everything

1 Like

Not sure if this is the right place to report this... Since the build ipq807x-2022-09-02-1951 the br-lan switch randomly "crashes" and stops sending unicast traffic only to a single port with a Roku TV attached to it. A tcpdump on that part still shows it receiving broadcast and multicast traffic. The TV thinks the port is down. Removing and re-adding the port to the switch doesn't fix it, nor does forcing a reapply of the settings through the UI. Only a reboot fixes it. Interestingly, the other ports continue to pass traffic and work fine when the issue occurs. Link stays up when this happens.

There is a dump in dmesg when it happens, but nothing else of note. I've been waiting to reproduce it again and catch the log snippet as it typically scrolls out of the buffer by the time I notice the port is down. Its been happening at least once per day since that build, typically in the middle of the night when the TV is off(although, this thing is never really "off"). I also made my own build from the latest robimarko master and have the same problem with it. Anyone else running into this?

Hopefully, I'll catch it crashing again and be able to post the snippet.

Also, I'm reliably able to crash the QCA9887 in 5Ghz with power on 1W and running iperf3 to a local box from an android smartphone. Gives full kernel dump. Does not happen if power is set lower than 1W. Maybe overheating the chip?

Got it this AM:

[51538.733341] ------------[ cut here ]------------
[51538.733381] nss_port5_rx_clk_src: rcg didn't update its configuration.
[51538.733405] WARNING: CPU: 1 PID: 26968 at update_config+0xac/0xc0
[51538.743369] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[51538.743643]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[51538.897958] CPU: 1 PID: 26968 Comm: kworker/1:2 Not tainted 5.15.40 #0
[51538.920195] Hardware name: Xiaomi AX3600 (DT)
[51538.926527] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[51538.930958] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[51538.937034] pc : update_config+0xac/0xc0
[51538.943886] lr : update_config+0xac/0xc0
[51538.948051] sp : ffffffc00fd7bb50
[51538.951956] x29: ffffffc00fd7bb50 x28: 0000000000000000 x27: 0000000000000001
[51538.955176] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[51538.962294] x23: ffffff800302ab00 x22: 0000000007735940 x21: ffffffc0088c84e8
[51538.969413] x20: ffffffc008b24720 x19: 0000000000000000 x18: 0000000000000180
[51538.976531] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[51538.983648] x14: 0000000000000480 x13: 0000000000000180 x12: ffffffc00fd7b878
[51538.990766] x11: fffffffffffe64a8 x10: fffffffffffe6460 x9 : ffffffc008aefa40
[51538.997883] x8 : 0000000000002400 x7 : ffffffc008a97a40 x6 : 0000000000000001
[51539.005002] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[51539.012120] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[51539.019240] Call trace:
[51539.026348]  update_config+0xac/0xc0
[51539.028608]  clk_rcg2_set_rate_and_parent+0x38/0x50
[51539.032429]  clk_change_rate+0x7c/0x2c4
[51539.037026]  clk_core_set_rate_nolock+0x14c/0x230
[51539.040848]  clk_set_rate+0x38/0x150
[51539.045707]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[51539.049360]  ssdk_port_speed_clock_set+0xb0/0x148 [qca_ssdk]
[51539.055001]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[51539.060730]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[51539.066372]  process_one_work+0x200/0x3c0
[51539.071750]  worker_thread+0x78/0x4e0
[51539.075915]  kthread+0x120/0x130
[51539.079560]  ret_from_fork+0x10/0x20
[51539.082860] ---[ end trace 21a8de363789fb86 ]---
[51539.087506] ------------[ cut here ]------------
[51539.091025] nss_port5_tx_clk_src: rcg didn't update its configuration.
[51539.091048] WARNING: CPU: 1 PID: 26968 at update_config+0xac/0xc0
[51539.101964] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[51539.102233]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[51539.256552] CPU: 1 PID: 26968 Comm: kworker/1:2 Tainted: G        W         5.15.40 #0
[51539.278790] Hardware name: Xiaomi AX3600 (DT)
[51539.286511] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[51539.290940] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[51539.297016] pc : update_config+0xac/0xc0
[51539.303867] lr : update_config+0xac/0xc0
[51539.308034] sp : ffffffc00fd7bb50
[51539.311938] x29: ffffffc00fd7bb50 x28: 0000000000000000 x27: 0000000000000001
[51539.315158] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[51539.322276] x23: ffffff800302ac00 x22: 0000000007735940 x21: ffffffc0088c84d0
[51539.329394] x20: ffffffc008b24618 x19: 0000000000000000 x18: 00000000000001a5
[51539.336513] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[51539.343631] x14: 00000000000004ef x13: 00000000000001a5 x12: ffffffc00fd7b878
[51539.350749] x11: fffffffffffe7470 x10: fffffffffffe7428 x9 : ffffffc008aefa40
[51539.357866] x8 : 0000000000002778 x7 : ffffffc008a97a40 x6 : 0000000000000001
[51539.364985] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[51539.372103] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[51539.379223] Call trace:
[51539.386330]  update_config+0xac/0xc0
[51539.388590]  clk_rcg2_set_rate_and_parent+0x38/0x50
[51539.392410]  clk_change_rate+0x7c/0x2c4
[51539.397009]  clk_core_set_rate_nolock+0x14c/0x230
[51539.400831]  clk_set_rate+0x38/0x150
[51539.405691]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[51539.409341]  ssdk_port_speed_clock_set+0xc0/0x148 [qca_ssdk]
[51539.414983]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[51539.420714]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[51539.426354]  process_one_work+0x200/0x3c0
[51539.431733]  worker_thread+0x78/0x4e0
[51539.435898]  kthread+0x120/0x130
[51539.439543]  ret_from_fork+0x10/0x20
[51539.442844] ---[ end trace 21a8de363789fb87 ]---
[51594.573362] ------------[ cut here ]------------
[51594.573403] nss_port5_rx_clk_src: rcg didn't update its configuration.
[51594.573427] WARNING: CPU: 1 PID: 26968 at update_config+0xac/0xc0
[51594.583392] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[51594.583667]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[51594.737981] CPU: 1 PID: 26968 Comm: kworker/1:2 Tainted: G        W         5.15.40 #0
[51594.760218] Hardware name: Xiaomi AX3600 (DT)
[51594.767940] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[51594.772369] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[51594.778444] pc : update_config+0xac/0xc0
[51594.785297] lr : update_config+0xac/0xc0
[51594.789464] sp : ffffffc00fd7bb50
[51594.793368] x29: ffffffc00fd7bb50 x28: 0000000000000000 x27: 0000000000000001
[51594.796587] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[51594.803706] x23: ffffffc000859278 x22: 0000000000989680 x21: ffffffc0088c84e8
[51594.810823] x20: ffffffc008b24720 x19: 0000000000000000 x18: 00000000000001ca
[51594.817942] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[51594.825059] x14: 000000000000055e x13: 00000000000001ca x12: ffffffc00fd7b878
[51594.832178] x11: fffffffffffe8448 x10: fffffffffffe8400 x9 : ffffffc008aefa40
[51594.839295] x8 : 0000000000002af0 x7 : ffffffc008a97a40 x6 : 0000000000000001
[51594.846414] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[51594.853531] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[51594.860653] Call trace:
[51594.867760]  update_config+0xac/0xc0
[51594.870018]  clk_rcg2_set_rate+0x38/0x50
[51594.873838]  clk_change_rate+0x148/0x2c4
[51594.877745]  clk_core_set_rate_nolock+0x14c/0x230
[51594.881653]  clk_set_rate+0x38/0x150
[51594.886250]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[51594.889902]  ssdk_port_speed_clock_set+0xb0/0x148 [qca_ssdk]
[51594.895544]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[51594.901274]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[51594.906916]  process_one_work+0x200/0x3c0
[51594.912294]  worker_thread+0x78/0x4e0
[51594.916459]  kthread+0x120/0x130
[51594.920104]  ret_from_fork+0x10/0x20
[51594.923404] ---[ end trace 21a8de363789fb88 ]---
[51594.927878] ------------[ cut here ]------------
[51594.931565] nss_port5_tx_clk_src: rcg didn't update its configuration.
[51594.931588] WARNING: CPU: 1 PID: 26968 at update_config+0xac/0xc0
[51594.942507] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[51594.942771]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[51595.097096] CPU: 1 PID: 26968 Comm: kworker/1:2 Tainted: G        W         5.15.40 #0
[51595.119334] Hardware name: Xiaomi AX3600 (DT)
[51595.127054] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[51595.131484] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[51595.137559] pc : update_config+0xac/0xc0
[51595.144412] lr : update_config+0xac/0xc0
[51595.148577] sp : ffffffc00fd7bb50
[51595.152482] x29: ffffffc00fd7bb50 x28: 0000000000000000 x27: 0000000000000001
[51595.155702] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[51595.162821] x23: ffffffc000859278 x22: 0000000000989680 x21: ffffffc0088c84d0
[51595.169938] x20: ffffffc008b24618 x19: 0000000000000000 x18: 00000000000001ef
[51595.177056] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[51595.184175] x14: 00000000000005cd x13: 00000000000001ef x12: ffffffc00fd7b878
[51595.191295] x11: fffffffffffe9410 x10: fffffffffffe93c8 x9 : ffffffc008aefa40
[51595.198410] x8 : 0000000000002e68 x7 : ffffffc008a97a40 x6 : 0000000000000001
[51595.205528] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[51595.212646] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[51595.219767] Call trace:
[51595.226874]  update_config+0xac/0xc0
[51595.229132]  clk_rcg2_set_rate+0x38/0x50
[51595.232953]  clk_change_rate+0x148/0x2c4
[51595.236860]  clk_core_set_rate_nolock+0x14c/0x230
[51595.240767]  clk_set_rate+0x38/0x150
[51595.245365]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[51595.249018]  ssdk_port_speed_clock_set+0xc0/0x148 [qca_ssdk]
[51595.254659]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[51595.260388]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[51595.266030]  process_one_work+0x200/0x3c0
[51595.271408]  worker_thread+0x78/0x4e0
[51595.275573]  kthread+0x120/0x130
[51595.279219]  ret_from_fork+0x10/0x20
[51595.282519] ---[ end trace 21a8de363789fb89 ]---
[75592.292565] ------------[ cut here ]------------
[75592.292606] nss_port5_rx_clk_src: rcg didn't update its configuration.
[75592.292630] WARNING: CPU: 1 PID: 31536 at update_config+0xac/0xc0
[75592.302594] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[75592.302870]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[75592.457183] CPU: 1 PID: 31536 Comm: kworker/1:2 Tainted: G        W         5.15.40 #0
[75592.479421] Hardware name: Xiaomi AX3600 (DT)
[75592.487143] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[75592.491571] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[75592.497648] pc : update_config+0xac/0xc0
[75592.504499] lr : update_config+0xac/0xc0
[75592.508666] sp : ffffffc017753b50
[75592.512570] x29: ffffffc017753b50 x28: 0000000000000000 x27: 0000000000000001
[75592.515791] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[75592.522909] x23: ffffffc000859278 x22: 0000000000989680 x21: ffffffc0088c84e8
[75592.530027] x20: ffffffc008b24720 x19: 0000000000000000 x18: 0000000000000214
[75592.537144] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[75592.544263] x14: 000000000000063c x13: 0000000000000214 x12: ffffffc017753878
[75592.551380] x11: fffffffffffea3d8 x10: fffffffffffea390 x9 : ffffffc008aefa40
[75592.558498] x8 : 00000000000031e0 x7 : ffffffc008a97a40 x6 : 0000000000000001
[75592.565616] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[75592.572735] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[75592.579854] Call trace:
[75592.586963]  update_config+0xac/0xc0
[75592.589222]  clk_rcg2_set_rate+0x38/0x50
[75592.593041]  clk_change_rate+0x148/0x2c4
[75592.596948]  clk_core_set_rate_nolock+0x14c/0x230
[75592.600855]  clk_set_rate+0x38/0x150
[75592.605453]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[75592.609104]  ssdk_port_speed_clock_set+0xb0/0x148 [qca_ssdk]
[75592.614749]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[75592.620476]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[75592.626118]  process_one_work+0x200/0x3c0
[75592.631496]  worker_thread+0x78/0x4e0
[75592.635661]  kthread+0x120/0x130
[75592.639307]  ret_from_fork+0x10/0x20
[75592.642608] ---[ end trace 21a8de363789fb8a ]---
[75592.647293] ------------[ cut here ]------------
[75592.650770] nss_port5_tx_clk_src: rcg didn't update its configuration.
[75592.650794] WARNING: CPU: 1 PID: 31536 at update_config+0xac/0xc0
[75592.661711] Modules linked in: xt_connlimit nf_conncount ath11k_ahb ath11k ath10k_pci ath10k_core ath xt_state xt_helper xt_conntrack xt_connmark xt_connbytes xt_CT nft_redir nft_nat nft_masq nft_flow_offload nft_fib_inet nft_ct nft_chain_nat nf_nat nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_esp xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY xfrm_interface sch_cake qrtr_smd qrtr qmi_helpers ns nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_quota nft_objref nft_numgen nft_log nft_limit nft_hash nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_counter nf_tables nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon crc_ccitt compat_xtables compat sch_tbf sch_ingress sch_htb sch_hfsc
[75592.661982]  em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_crypto cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb qca_nss_drv ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 tunnel6 tunnel4 xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg sha512_generic seqiv jitterentropy_rng drbg michael_mic md5 kpp hmac echainiv des_generic cmac leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk gpio_button_hotplug crc32c_generic
[75592.816297] CPU: 1 PID: 31536 Comm: kworker/1:2 Tainted: G        W         5.15.40 #0
[75592.838536] Hardware name: Xiaomi AX3600 (DT)
[75592.846255] Workqueue: events qca_mac_sw_sync_work_task [qca_ssdk]
[75592.850686] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[75592.856763] pc : update_config+0xac/0xc0
[75592.863615] lr : update_config+0xac/0xc0
[75592.867780] sp : ffffffc017753b50
[75592.871685] x29: ffffffc017753b50 x28: 0000000000000000 x27: 0000000000000001
[75592.874905] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001
[75592.882023] x23: ffffffc000859278 x22: 0000000000989680 x21: ffffffc0088c84d0
[75592.889140] x20: ffffffc008b24618 x19: 0000000000000000 x18: 0000000000000239
[75592.896260] x17: 0000000000000000 x16: ffffffc0007f6e18 x15: ffffffc008a97a40
[75592.903378] x14: 00000000000006ab x13: 0000000000000239 x12: ffffffc017753878
[75592.910495] x11: fffffffffffeb3a0 x10: fffffffffffeb358 x9 : ffffffc008aefa40
[75592.917613] x8 : 0000000000003558 x7 : ffffffc008a97a40 x6 : 0000000000000001
[75592.924731] x5 : ffffff801feb26e0 x4 : 0000000000000000 x3 : 0000000000000027
[75592.931849] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 000000000000003a
[75592.938969] Call trace:
[75592.946076]  update_config+0xac/0xc0
[75592.948336]  clk_rcg2_set_rate+0x38/0x50
[75592.952156]  clk_change_rate+0x148/0x2c4
[75592.956062]  clk_core_set_rate_nolock+0x14c/0x230
[75592.959970]  clk_set_rate+0x38/0x150
[75592.964568]  ssdk_uniphy_clock_rate_set+0x80/0x130 [qca_ssdk]
[75592.968219]  ssdk_port_speed_clock_set+0xc0/0x148 [qca_ssdk]
[75592.973862]  qca_hppe_mac_sw_sync_task+0x344/0x8ac [qca_ssdk]
[75592.979591]  qca_mac_sw_sync_work_task+0x40/0x6c [qca_ssdk]
[75592.985233]  process_one_work+0x200/0x3c0
[75592.990611]  worker_thread+0x78/0x4e0
[75592.994776]  kthread+0x120/0x130
[75592.998421]  ret_from_fork+0x10/0x20
[75593.001721] ---[ end trace 21a8de363789fb8b

I have bought an AX3600, flashed it according to Openwrt wiki, everything worked smoothly on first try! Also all 3 wifi modules are working well, iperf shows an impressive 880Mbit/s in 80Mhz HE-MCS11 wifi mode. Great progress! However, when I enable a client and an AP connection on 5Ghz AX in Luci, then the AP doesn't show up (doesn't work), until I turn off the client connection. Is that a bug or a feature?

Keep going Dimfish, I'm a fan of your versions... Thank to Robert Marko for his incredible work and thanks to you for customising it...

Are you sure you're waiting long enough? From my experience it takes [number of SSIDs] x 60s for 5GHz to finish scanning for weather radars (DFS) before 5GHz is enabled.

It takes 600 seconds, not 60. And has nothing to do with the number of SSIDs. The CAC process status can be checked in the system log, it also tells for how long the DFS scan will take. If there is a radar detected, it will also be present in the sys log.

It seems to take 60s per SSID in USA:

(I posted this in WRX36 thread)

Thu Sep  1 01:24:49 2022 daemon.notice hostapd: wlan0: interface state HT_SCAN->DFS
Thu Sep  1 01:24:49 2022 daemon.notice hostapd: wlan0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Thu Sep  1 01:25:58 2022 daemon.notice hostapd: wlan0: DFS-CAC-COMPLETED success=1 freq=5500 ht_enabled=0 chan_offset=0 chan_width=5 cf1=5570 cf2=0
Thu Sep  1 01:25:59 2022 daemon.notice hostapd: wlan0: interface state DFS->ENABLED
Thu Sep  1 01:31:12 2022 daemon.notice hostapd: wlan0: interface state HT_SCAN->DFS
Thu Sep  1 01:31:12 2022 daemon.notice hostapd: wlan0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Thu Sep  1 01:31:25 2022 daemon.notice hostapd: wlan0: interface state DFS->DISABLED
Thu Sep  1 01:31:31 2022 daemon.notice hostapd: wlan0: interface state HT_SCAN->DFS
Thu Sep  1 01:31:31 2022 daemon.notice hostapd: wlan0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Thu Sep  1 01:32:25 2022 daemon.notice hostapd: wlan0: interface state DFS->DISABLED
Thu Sep  1 01:32:32 2022 daemon.notice hostapd: wlan0: interface state HT_SCAN->DFS
Thu Sep  1 01:32:32 2022 daemon.notice hostapd: wlan0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Thu Sep  1 01:33:39 2022 daemon.notice hostapd: wlan0: DFS-CAC-COMPLETED success=1 freq=5500 ht_enabled=0 chan_offset=0 chan_width=5 cf1=5570 cf2=0
Thu Sep  1 01:33:40 2022 daemon.notice hostapd: wlan0: interface state DFS->ENABLED

Yes, I'm sure. I have even double-checked it now.
When I enable the client, then AP immediately disappears, when I disable the client, then AP immediately reappears.

Here is the syslog, when I enable the client (it contains all kinds of errors):

Wed Sep 14 11:46:05 2022 daemon.notice hostapd: Remove interface 'wlan1'
Wed Sep 14 11:46:05 2022 daemon.notice hostapd: wlan1: interface state ENABLED->DISABLED
Wed Sep 14 11:46:05 2022 daemon.notice hostapd: wlan1: AP-DISABLED
Wed Sep 14 11:46:05 2022 daemon.notice hostapd: wlan1: CTRL-EVENT-TERMINATING
Wed Sep 14 11:46:05 2022 daemon.err hostapd: rmdir[ctrl_interface=/var/run/hostapd]: Permission denied
Wed Sep 14 11:46:05 2022 daemon.notice hostapd: nl80211: deinit ifname=wlan1 disabled_11b_rates=0
Wed Sep 14 11:46:05 2022 kern.info kernel: [ 2499.717772] device wlan1 left promiscuous mode
Wed Sep 14 11:46:05 2022 kern.info kernel: [ 2499.717936] br-lan: port 5(wlan1) entered disabled state
Wed Sep 14 11:46:05 2022 daemon.notice netifd: Network device 'wlan1' link is down
Wed Sep 14 11:46:06 2022 daemon.notice netifd: Wireless device 'radio1' is now down
Wed Sep 14 11:46:06 2022 daemon.notice hostapd: Configuration file: /var/run/hostapd-phy1.conf (phy wlan1-1) --> new PHY
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.455532] br-lan: port 5(wlan1-1) entered blocking state
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.455580] br-lan: port 5(wlan1-1) entered disabled state
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.460104] device wlan1-1 entered promiscuous mode
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.465573] br-lan: port 5(wlan1-1) entered blocking state
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.470168] br-lan: port 5(wlan1-1) entered forwarding state
Wed Sep 14 11:46:06 2022 daemon.notice hostapd: wlan1-1: interface state UNINITIALIZED->COUNTRY_UPDATE
Wed Sep 14 11:46:06 2022 daemon.notice hostapd: wlan1-1: interface state COUNTRY_UPDATE->ENABLED
Wed Sep 14 11:46:06 2022 daemon.notice hostapd: wlan1-1: AP-ENABLED
Wed Sep 14 11:46:06 2022 kern.info kernel: [ 2500.863757] br-lan: port 5(wlan1-1) entered disabled state
Wed Sep 14 11:46:07 2022 daemon.notice netifd: radio1 (2465): sh: out of range
Wed Sep 14 11:46:07 2022 daemon.notice netifd: Wireless device 'radio1' is now up
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (32526): udhcpc: received SIGTERM
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (32526): udhcpc: unicasting a release of 192.168.218.253 to 192.168.218.119
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (32526): udhcpc: sending release
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (32526): udhcpc: entering released state
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (32526): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wwan" } (Permission denied)
Wed Sep 14 11:46:07 2022 daemon.notice netifd: Interface 'wwan' is now down
Wed Sep 14 11:46:07 2022 daemon.warn dnsmasq[1]: no servers found in /tmp/resolv.conf.d/resolv.conf.auto, will retry
Wed Sep 14 11:46:07 2022 daemon.notice netifd: Interface 'wwan' is setting up now
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (2754): udhcpc: started, v1.35.0
Wed Sep 14 11:46:07 2022 daemon.notice netifd: wwan (2754): udhcpc: broadcasting discover
Wed Sep 14 11:46:08 2022 daemon.info dnsmasq[1]: read /etc/hosts - 4 addresses
Wed Sep 14 11:46:08 2022 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Wed Sep 14 11:46:08 2022 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 1 addresses
Wed Sep 14 11:46:08 2022 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Wed Sep 14 11:46:11 2022 daemon.notice netifd: wwan (2754): udhcpc: broadcasting discover
Wed Sep 14 11:46:14 2022 daemon.notice netifd: wwan (2754): udhcpc: broadcasting discover

iw list will list capabilities of the radios. For example mine shows:

   valid interface combinations:
                 * #{ managed } <= 1, #{ AP, mesh point } <= 16,
                   total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }

See if AP and STA are on the same channel and Beacon Interval is the same.

Sorry, I don't know enough to help with the logs.

@dimfish I have been out of the loop for almost a year when it comes to the progress. How well is this working right now? Is it possible to use this on your main router or is it only in a testphase?
Any guides on how to install your versions?

Each time a new release comes, is it easy to upgrade or does it require a complete reinstall?