Hi, Using QCA9888 on kernel 5.15 with FW 10.4-3.10-00076, if a mesh interface is created while a STA is scanning on the same phy, the mesh interface connects correctly to other mesh nodes but not a single broadcast packet is received by ath10k (unicast packets are received correctly). Creating a monitor interface on this phy and bringing it up allows the mesh interface to receive those broadcast packet.
I tried to add debug in ath10k_htt_rx_h_enqueue() to see ath10k was seeing those broadcast packets but it doesn't (ath10k_htt_rx_h_enqueue() sees them only when monitor interface is up). So I have a hunch it could be that this is a FW issue, I tried with 10.4-3.9.0.2-00157 FW which seem more recent than 10.4-3.10-00076 but the issue is still here. Has anyone with a better understanding of the 9888 firmware and/or ath10k driver any idea how to debug this further ? I use the script below to reproduce the issue but as it seems to be very timing sensitive I am not sure other plateform will behave the same. Thanks -- Remi --- #!/bin/sh start_sta() { iw phy phy1 interface add wlan1 type managed wpa_supplicant -Dnl80211 -i wlan1 -C /tmp/sta_supp& STA_PID=$! sleep 4 wpa_cli -p /tmp/sta_supp/ RAW ADD_NETWORK wpa_cli -p /tmp/sta_supp/ RAW SET_NETWORK 0 ssid \"\" wpa_cli -p /tmp/sta_supp/ RAW SET_NETWORK 0 key_mgmt NONE wpa_cli -p /tmp/sta_supp/ RAW SET_NETWORK 0 scan_ssid 0 wpa_cli -p /tmp/sta_supp/ RAW ENABLE_NETWORK 0 } stop_sta() { if [ ! "x${STA_PID}" = "x" ]; then wpa_cli -p /tmp/wpa_supp RAW REMOVE_NETWORK 0 kill ${STA_PID} fi iw dev wlan1 del } start_mesh() { iw phy phy1 interface add mesh1 type mesh ip link set dev mesh1 address 72:FC:8F:A6:00:C4 wpa_supplicant -Dnl80211 -i mesh1 -C /tmp/mesh_supp& MESH_PID=$! sleep 4 wpa_cli -p /tmp/mesh_supp/ RAW ADD_NETWORK wpa_cli -p /tmp/mesh_supp/ RAW SET_NETWORK 0 ssid \"mesh\" wpa_cli -p /tmp/mesh_supp/ RAW SET_NETWORK 0 key_mgmt NONE wpa_cli -p /tmp/mesh_supp/ RAW SET_NETWORK 0 frequency 5240 wpa_cli -p /tmp/mesh_supp/ RAW SET_NETWORK 0 mode 5 wpa_cli -p /tmp/mesh_supp/ RAW SET_NETWORK 0 beacon_int 120 wpa_cli -p /tmp/mesh_supp/ RAW ENABLE_NETWORK 0 } stop_mesh() { if [ ! "x${MESH_PID}" = "x" ]; then wpa_cli -p /tmp/mesh_supp RAW REMOVE_NETWORK 0 kill ${MESH_PID} fi iw dev mesh1 del } main() { while [ true ]; do stop_sta stop_mesh start_sta start_mesh sleep 10 tcpdump -nepi mesh1 -c 4 -Qin broadcast done } main _______________________________________________ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k