OpenWrt support for Linksys MX4200

Thanks for building an image for MX4300!

I've flushed the openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin from the factory firmware and it boots to OpenWrt. I also have Luci installed and made it running in AP mode (having DHCP ignore the LAN interface, and use one of the LAN port to connect to my main router at home).

The 5G WiFi doesn't seem to be working fine. Windows 11 client connects and disconnects in 1-2s. iPhone 13 Pro max client has a similar behavior. Here is some details with Windows 11 client (mac address: xx:xx:xx:xx:xx:31). Let me know what else I should can do to help debug this.

  1. Initially, only radio0 enabled, running on AX mode, channel 44, 40MHz, with MAC address ending 58, using "WPA2 PSK (CCMP)", SSID "OpenWrt2", the connection drops at 10 10:16:16 almost right after establishment at 10 10:16:15:
Sat Aug 10 10:16:08 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:16:08 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: associated (aid 1)
Sat Aug 10 10:16:08 2024 daemon.notice hostapd: phy0-ap0: STA-OPMODE-SMPS-MODE-CHANGED xx:xx:xx:xx:xx:31 off
Sat Aug 10 10:16:08 2024 daemon.notice hostapd: phy0-ap0: AP-STA-CONNECTED xx:xx:xx:xx:xx:31 auth_alg=open
Sat Aug 10 10:16:08 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 WPA: pairwise key handshake completed (RSN)
Sat Aug 10 10:16:08 2024 daemon.notice hostapd: phy0-ap0: EAPOL-4WAY-HS-COMPLETED xx:xx:xx:xx:xx:31
Sat Aug 10 10:16:08 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:16:10 2024 daemon.notice hostapd: phy0-ap0: AP-STA-DISCONNECTED xx:xx:xx:xx:xx:31
Sat Aug 10 10:16:15 2024 kern.warn kernel: [  174.564883] ath11k c000000.wifi: failed to flush transmit queue, data pkts pending 5
Sat Aug 10 10:16:15 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:16:15 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:16:15 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:16:15 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: associated (aid 1)
Sat Aug 10 10:16:15 2024 daemon.notice hostapd: phy0-ap0: STA-OPMODE-SMPS-MODE-CHANGED xx:xx:xx:xx:xx:31 off
Sat Aug 10 10:16:15 2024 daemon.notice hostapd: phy0-ap0: AP-STA-CONNECTED xx:xx:xx:xx:xx:31 auth_alg=open
Sat Aug 10 10:16:15 2024 daemon.info hostapd: phy0-ap0: STA xx:xx:xx:xx:xx:31 WPA: pairwise key handshake completed (RSN)
Sat Aug 10 10:16:15 2024 daemon.notice hostapd: phy0-ap0: EAPOL-4WAY-HS-COMPLETED xx:xx:xx:xx:xx:31
Sat Aug 10 10:16:16 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:16:16 2024 daemon.notice hostapd: phy0-ap0: AP-STA-DISCONNECTED xx:xx:xx:xx:xx:31
Sat Aug 10 10:16:20 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
  1. Disable radio0, and enable radio1, running on mode AX, channel 1 (2.412GHz), 20MHz, with MAC address ending 57, WPA2 PSK (CCMP), and SSID "OpenWrt", connection from my PC is successful:
Sat Aug 10 10:22:26 2024 daemon.notice netifd: radio1 (3756): WARNING: Variable 'data' does not exist or is not an array/object
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: Set new config for phy phy1:
Sat Aug 10 10:22:26 2024 daemon.notice wpa_supplicant[1954]: Set new config for phy phy1
Sat Aug 10 10:22:26 2024 daemon.notice wpa_supplicant[1954]: Set new config for phy phy1
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: Set new config for phy phy1: /var/run/hostapd-phy1.conf
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: Restart interface for phy phy1
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: Configuration file: data: driver=nl80211 logger_syslog=127 logger_syslog_level=2 logger_stdout=127 logger_stdout_level=2 hw_mode=g supported_rates=60 90 120 180 240 360 480 540 basic_rates=60 120 240 beacon_int=100 chanlist=1 #num_global_macaddr=1 ieee80211n=1 ht_coex=0 ht_capab=[LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40] ieee80211ax=1 he_su_beamformer=1 he_su_beamformee=1 he_mu_beamformer=1 he_bss_color=128 he_spr_sr_control=3 he_default_pe_duration=4 he_rts_threshold=1023 he_mu_edca_qos_info_param_count=0 he_mu_edca_qos_info_q_ack=0 he_mu_edca_qos_info_queue_request=0 he_mu_edca_qos_info_txop_request=0 he_mu_edca_ac_be_aifsn=8 he_mu_edca_ac_be_aci=0 he_mu_edca_ac_be_ecwmin=9 he_mu_edca_ac_be_ecwmax=10 he_mu_edca_ac_be_timer=255 he_mu_edca_ac_bk_aifsn=15 he_mu_edca_ac_bk_aci=1 he_mu_edca_ac_bk_ecwmin=9 he_mu_edca_ac_bk_ecwmax=10 he_mu_edca_ac_bk_timer=255 he_mu_edca_ac_vi_ecwmin=5 he_mu_edca_ac_vi_ecwmax=7 he_mu_edca_ac_vi_aifsn=5 he_mu_edca_ac_vi_aci=2 he_m
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.387748] br-lan: port 4(phy1-ap0) entered blocking state
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.387797] br-lan: port 4(phy1-ap0) entered disabled state
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.392278] ath11k c000000.wifi phy1-ap0: entered allmulticast mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.397930] ath11k c000000.wifi phy1-ap0: entered promiscuous mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.438802] ath11k c000000.wifi phy1-ap0: left allmulticast mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.438853] ath11k c000000.wifi phy1-ap0: left promiscuous mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.443984] br-lan: port 4(phy1-ap0) entered disabled state
Sat Aug 10 10:22:26 2024 daemon.notice netifd: Wireless device 'radio1' is now up
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.502078] br-lan: port 4(phy1-ap0) entered blocking state
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.502124] br-lan: port 4(phy1-ap0) entered disabled state
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.506511] ath11k c000000.wifi phy1-ap0: entered allmulticast mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.512262] ath11k c000000.wifi phy1-ap0: entered promiscuous mode
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.549723] br-lan: port 4(phy1-ap0) entered blocking state
Sat Aug 10 10:22:26 2024 kern.info kernel: [  545.549768] br-lan: port 4(phy1-ap0) entered forwarding state

Sat Aug 10 10:22:26 2024 daemon.notice netifd: Network device 'phy1-ap0' link is up
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: phy1-ap0: interface state UNINITIALIZED->ENABLED
Sat Aug 10 10:22:26 2024 daemon.notice hostapd: phy1-ap0: AP-ENABLED
Sat Aug 10 10:22:28 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Sat Aug 10 10:22:28 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 names
Sat Aug 10 10:22:28 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 names
Sat Aug 10 10:22:29 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:23:12 2024 daemon.info hostapd: phy1-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:23:12 2024 daemon.info hostapd: phy1-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: associated (aid 1)
Sat Aug 10 10:23:12 2024 daemon.notice hostapd: phy1-ap0: STA-OPMODE-SMPS-MODE-CHANGED xx:xx:xx:xx:xx:31 off
Sat Aug 10 10:23:12 2024 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED xx:xx:xx:xx:xx:31 auth_alg=open
Sat Aug 10 10:23:12 2024 daemon.info hostapd: phy1-ap0: STA xx:xx:xx:xx:xx:31 WPA: pairwise key handshake completed (RSN)
Sat Aug 10 10:23:12 2024 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED xx:xx:xx:xx:xx:31
Sat Aug 10 10:23:12 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
  1. Disable radio1 and enable radio2, with mode AX, channel 149 (5.745GHz), 40MHz, with MAC address ending 59, WPA2 PSK (CCMP), SSID "OpenWrt4":
Sat Aug 10 10:55:58 2024 daemon.notice hostapd: Configuration file: data: driver=nl80211 logger_syslog=127 logger_syslog_level=2 logger_stdout=127 logger_stdout_level=2 country_code=US ieee80211d=1 ieee80211h=1 hw_mode=a beacon_int=100 chanlist=149 tx_queue_data2_burst=2.0 #num_global_macaddr=1 ieee80211n=1 ht_coex=0 ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40] ieee80211ac=1 vht_oper_chwidth=0 vht_oper_centr_freq_seg0_idx=151 vht_capab=[RXLDPC][SHORT-GI-80][TX-STBC-2BY1][SU-BEAMFORMER][SU-BEAMFORMEE][MU-BEAMFORMER][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][SOUNDING-DIMENSION-4][BF-ANTENNA-4][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] ieee80211ax=1 he_oper_chwidth=0 he_oper_centr_freq_seg0_idx=151 he_su_beamformer=1 he_su_beamformee=1 he_mu_beamformer=1 he_bss_color=128 he_spr_sr_control=3 he_default_pe_duration=4 he_rts_threshold=1023 he_mu_edca_qos_info_param_count=0 he_mu_edca_qos_info_q_ack=0 he_mu_edca_qos_info_queue_request=0 he_mu_edca_qos_info_txop_re
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.227536] br-lan: port 4(phy2-ap0) entered blocking state
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.227580] br-lan: port 4(phy2-ap0) entered disabled state
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.231956] ath11k c000000.wifi phy2-ap0: entered allmulticast mode
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.237719] ath11k c000000.wifi phy2-ap0: entered promiscuous mode
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.243854] br-lan: port 4(phy2-ap0) entered blocking state
Sat Aug 10 10:55:58 2024 kern.info kernel: [ 2557.249978] br-lan: port 4(phy2-ap0) entered forwarding state
Sat Aug 10 10:55:58 2024 daemon.notice hostapd: phy2-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Sat Aug 10 10:55:58 2024 daemon.notice hostapd: phy2-ap0: interface state COUNTRY_UPDATE->HT_SCAN
Sat Aug 10 10:55:58 2024 daemon.notice netifd: Wireless device 'radio2' is now up
Sat Aug 10 10:55:58 2024 daemon.notice netifd: Network device 'phy2-ap0' link is up
Sat Aug 10 10:55:58 2024 daemon.notice hostapd: phy2-ap0: interface state HT_SCAN->ENABLED
Sat Aug 10 10:55:58 2024 daemon.notice hostapd: phy2-ap0: AP-ENABLED
Sat Aug 10 10:55:59 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Sat Aug 10 10:55:59 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 names
Sat Aug 10 10:55:59 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 names
Sat Aug 10 10:56:00 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:58:07 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:07 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: associated (aid 1)
Sat Aug 10 10:58:07 2024 daemon.notice hostapd: phy2-ap0: STA-OPMODE-SMPS-MODE-CHANGED xx:xx:xx:xx:xx:31 off
Sat Aug 10 10:58:07 2024 daemon.notice hostapd: phy2-ap0: AP-STA-CONNECTED xx:xx:xx:xx:xx:31 auth_alg=open
Sat Aug 10 10:58:07 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 WPA: pairwise key handshake completed (RSN)
Sat Aug 10 10:58:07 2024 daemon.notice hostapd: phy2-ap0: EAPOL-4WAY-HS-COMPLETED xx:xx:xx:xx:xx:31
Sat Aug 10 10:58:07 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:58:09 2024 daemon.notice hostapd: phy2-ap0: AP-STA-DISCONNECTED xx:xx:xx:xx:xx:31
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: associated (aid 1)
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.notice hostapd: phy2-ap0: STA-OPMODE-SMPS-MODE-CHANGED xx:xx:xx:xx:xx:31 off
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 IEEE 802.11: authenticated
Sat Aug 10 10:58:14 2024 daemon.notice hostapd: phy2-ap0: AP-STA-CONNECTED xx:xx:xx:xx:xx:31 auth_alg=open
Sat Aug 10 10:58:14 2024 daemon.info hostapd: phy2-ap0: STA xx:xx:xx:xx:xx:31 WPA: pairwise key handshake completed (RSN)
Sat Aug 10 10:58:14 2024 daemon.notice hostapd: phy2-ap0: EAPOL-4WAY-HS-COMPLETED xx:xx:xx:xx:xx:31
Sat Aug 10 10:58:14 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:58:14 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!
Sat Aug 10 10:58:15 2024 daemon.notice hostapd: phy2-ap0: AP-STA-DISCONNECTED xx:xx:xx:xx:xx:31
Sat Aug 10 10:58:22 2024 daemon.warn odhcpd[2086]: No default route present, overriding ra_lifetime to 0!