Discussion:
[OpenWrt-Devel] Ath10k mesh with OpenWRT question
Sven Eckelmann
2015-12-19 09:26:23 UTC
Permalink
I'm trying to use bmx6 to mesh together some routers but keep coming up
against roadblocks trying to get the wireless chipsets into IBSS mode. Do
you have any suggestions or places to start? If not, no worries. Thank you
very much for your time, and I hope to hear from you soon.
My suggestion is to use 802.11s (load ath10k_core with rawmode=1 - for example
add it as parameter for ath10k_core to in the *ath10k file in /etc/modules.d/)
instead of adhoc/ibss when using a recent QCA988* firmware. You have to set
the mesh_ttl=1 and mesh_fwding=0 when you want to use bmx instead of the
802.11s mesh protocol(s). The wireless configuration could for example look
like this:

config wifi-iface 'wmesh0'
option device 'radio0'
option ifname 'mesh0'
option network 'mesh'
option mode 'mesh'
option mesh_id 'myownmesh' # change this
option disabled '0'
option mcast_rate '18000'
option macaddr '02:11:22:33:44:55' # change this
option mesh_ttl 1
option mesh_fwding 0
option encryption 'none'

But don't expect encryption to work with authsae/wpa_supplicant. I also heard
that IBSS should work with the qca6174 (TLV) firmware but I never tested it
and therefore cannot confirm it.

If you really want IBSS with QCA988x then you have to try the firmware fork of
Ben Greear [1]. But it was never really working for me and also still had bugs
in AP mode which were only fixed in the official firmware from QCA. Don't
forget that you still need the driver patches from Ben Greear.

Kind regards,
Sven

[1] http://www.candelatech.com/ath10k.php
Roger Pueyo Centelles
2015-12-19 09:51:36 UTC
Permalink
Hi,

At some point I was able to get IBSS running with an ath10k radio (QCA988X)
using firmware-2.bin_999.999.0.636 [1]. I couldn't test it thoroughly, but
it ran for some days in a production BMX6 mesh. I also tried Ben Greear's
CT firmware, with no success.

If you are starting a network from scratch, however, go for 802.11s instead
of IBSS, as Sven said.

Kind regards,

Roger

[1] https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/main
Post by Sven Eckelmann
I'm trying to use bmx6 to mesh together some routers but keep coming up
against roadblocks trying to get the wireless chipsets into IBSS mode. Do
you have any suggestions or places to start? If not, no worries. Thank
you
very much for your time, and I hope to hear from you soon.
My suggestion is to use 802.11s (load ath10k_core with rawmode=1 - for example
add it as parameter for ath10k_core to in the *ath10k file in
/etc/modules.d/)
instead of adhoc/ibss when using a recent QCA988* firmware. You have to set
the mesh_ttl=1 and mesh_fwding=0 when you want to use bmx instead of the
802.11s mesh protocol(s). The wireless configuration could for example look
config wifi-iface 'wmesh0'
option device 'radio0'
option ifname 'mesh0'
option network 'mesh'
option mode 'mesh'
option mesh_id 'myownmesh' # change this
option disabled '0'
option mcast_rate '18000'
option macaddr '02:11:22:33:44:55' # change this
option mesh_ttl 1
option mesh_fwding 0
option encryption 'none'
But don't expect encryption to work with authsae/wpa_supplicant. I also heard
that IBSS should work with the qca6174 (TLV) firmware but I never tested it
and therefore cannot confirm it.
If you really want IBSS with QCA988x then you have to try the firmware fork of
Ben Greear [1]. But it was never really working for me and also still had bugs
in AP mode which were only fixed in the official firmware from QCA. Don't
forget that you still need the driver patches from Ben Greear.
Kind regards,
Sven
[1] http://www.candelatech.com/ath10k.php
_______________________________________________
openwrt-devel mailing list
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Ben Greear
2015-12-19 13:27:00 UTC
Permalink
Post by Sven Eckelmann
I'm trying to use bmx6 to mesh together some routers but keep coming up
against roadblocks trying to get the wireless chipsets into IBSS mode. Do
you have any suggestions or places to start? If not, no worries. Thank you
very much for your time, and I hope to hear from you soon.
My suggestion is to use 802.11s (load ath10k_core with rawmode=1 - for example
add it as parameter for ath10k_core to in the *ath10k file in /etc/modules.d/)
instead of adhoc/ibss when using a recent QCA988* firmware. You have to set
the mesh_ttl=1 and mesh_fwding=0 when you want to use bmx instead of the
802.11s mesh protocol(s). The wireless configuration could for example look
config wifi-iface 'wmesh0'
option device 'radio0'
option ifname 'mesh0'
option network 'mesh'
option mode 'mesh'
option mesh_id 'myownmesh' # change this
option disabled '0'
option mcast_rate '18000'
option macaddr '02:11:22:33:44:55' # change this
option mesh_ttl 1
option mesh_fwding 0
option encryption 'none'
But don't expect encryption to work with authsae/wpa_supplicant. I also heard
that IBSS should work with the qca6174 (TLV) firmware but I never tested it
and therefore cannot confirm it.
If you really want IBSS with QCA988x then you have to try the firmware fork of
Ben Greear [1]. But it was never really working for me and also still had bugs
in AP mode which were only fixed in the official firmware from QCA. Don't
forget that you still need the driver patches from Ben Greear.
If you just want IBSS, then you only need this patch (this is against a recent upstream kernel) to make it work with
my latest firmware:

diff --git a/drivers/net/wireless/ath/ath10k/mac.c
b/drivers/net/wireless/ath/ath10k/mac.c
index 95a55405..9fef34e 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -6936,6 +6936,10 @@ static const struct ieee80211_iface_limit
ath10k_10x_if_limits[] = {
| BIT(NL80211_IFTYPE_MESH_POINT)
#endif
},
+ {
+ .max = 1,
+ .types = BIT(NL80211_IFTYPE_ADHOC)
+ },
};

static const struct ieee80211_iface_combination ath10k_if_comb[] = {
@@ -7298,6 +7302,7 @@ int ath10k_mac_register(struct ath10k *ar)
ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb;
ar->hw->wiphy->n_iface_combinations =
ARRAY_SIZE(ath10k_10x_if_comb);
+ ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
break;
case ATH10K_FW_WMI_OP_VERSION_10_4:
ar->hw->wiphy->iface_combinations = ath10k_10_4_if_comb;


I'm not aware of any AP-mode bugs in recent CT firmware, but possibly they still exist.

We do see the occasional crash that appears due to CE engine issues.

IBSS on CT (and maybe other firmware) doesn't support encryption though,
so possibly mesh is still a better idea.

Thanks,
Ben
Post by Sven Eckelmann
Kind regards,
Sven
[1] http://www.candelatech.com/ath10k.php
_______________________________________________
openwrt-devel mailing list
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Loading...