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 [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
