On Monday, 25 February 2019 15:08:15 CET Jeff Kletsky wrote: > >> Mesh is broken using ath10k-ct? > >> https://bugs.openwrt.org/index.php?do=details&task_id=2123 [...] > * The "classic" drivers/firmware fail on or after the indicated commit > > CONFIG_PACKAGE_ath10k-firmware-qca9887=y > CONFIG_PACKAGE_kmod-ath10k=y > # CONFIG_PACKAGE_kmod-ath10k-ct is not set > > > That the CT drivers/firmware don't support 802.11s mesh > isn't really an OpenWrt issue. > > That there is a regression in overall system capability > that "kills" connectivity is a signficant concern.
* Can you confirm that it works with ath10k-ct but not with ath10k? * And can you confirm that changing encryption to none has no effect on the problem. * Can you confirm that reverting commit cd93b83ad927 ("ath10k: support for multicast rate control") [1] in ath10k fixes this problem? * Can you confirm that manually setting mcast_rate to 18000 in the mesh wifi- iface fixes the problem? config wifi-iface 'mesh0' option device 'radio0' option ifname 'mesh0' option network 'nwi_mesh0' option mode 'mesh' option mesh_id 'TestMesh' option mesh_fwding '1' option mcast_rate '18000' option encryption 'none' * can you confirm that it lo It looks for me like mac80211 is trying to set the mcast_rate which is interpreted by ath10k in ath10k_bss_info_changed as 11 Mbit/s (CCK). Which is of course not supported on 5GHz. So all your pretty little broadcast/multicast packets end up in nirvana. Problem here is that rateidx is -1. Which means that it cannot just programmed up by us. Can you check if following works for you (add it as patch to package/kernel/mac80211/patches/ath/ and hope that my MUA didn't reformat the patch): diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index b73c23d4ce86..85c6d820e8c4 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -5778,6 +5778,10 @@ static void ath10k_bss_info_changed(struct ieee80211_hw *hw, band = def.chan->band; rateidx = vif->bss_conf.mcast_rate[band] - 1; + /* fallback to lowest rate when mcast_rate == -1 */ + if (rateidx < 0) + rateidx = 0; + if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) rateidx += ATH10K_MAC_FIRST_OFDM_RATE_IDX; Kind regards, Sven [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cd93b83ad927b2c7979e0add0343ace59328b461
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel