Batman working (I think), now how to make it wireless?

I have been fiddling around with Batman for the past few weeks, trying to get what I thought should work to work. I'm not quite there yet and would appreciate some help to progress this.

Summary:

I have 3 BT HomeHub 5 Type A, each with OpenWRT v18.06.4 and batman-adv openwrt-2018.1-8.

Node1 is the primary router for the home, this device is connected to my ISP via the wan interface, using ifname dsl0.101.

Nodes 2 and 3 should act as mesh access points only, using the 2.4 GHz radio (radio1).

I have the batman/ mesh interfaces set up and they appear to be working OK. The issue that I now have is that connectivity fails after the network cable is removed from nodes 3 and 4.

With the network cable in place, the device e.g. my mobile phone can connect to the SSID, gets an IP address from Node1 and traffic flows - I have internet access :slight_smile:

If Nodes 2 or 3 have no network cable attached, then the mobile phone does not get an IP address from Node1 so internet connectivity fails. If I manually set an IP address and DNS on the mobile device, I still have no internet connectivity.

The DHCP service is only enabled on Node1.

The VLAN was set up using the following entry in the Wiki:

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option ifname 'bat0.3333'
        option proto 'none'
        option auto '1'
        option delegate '0'

Looking at other forum entries discussing bridging I'm thinking that this bridge is not complete as it only references one interface (bat0.3333). I tried adding radio1 to the ifname option, but that had no effect. I've also seen references to adding the bat interface to the lan interface on node1.

If I connect to node2 directly, using a network cable and forcing my PC to go to it direct, I can see that the route table just pushes everything through the br-lan bridge. Looking at this forum entry: Batman-adv Mesh network it suggests that there is no need to manually set routes up - batman should handle that itself.

As you can see, I'm kind of confused and don't know where to go from here, so I'd really appreciate some help in progressing this. I'm pondering if I am totally missing the point and simply have got the wrong end of the stick (in terms of my understanding). Although I can see that the batman interfaces are 'there', I have a sneaky feeling that I'm not really running a batman mesh when the network cables are in place. My interpretation of using a mesh was that the mesh nodes should be separately placed within the home, not connected to the home LAN via a cable and that devices should be able to connect to the node (2 or 3) either wirelessly (SSID) or via cable and that all traffic should be routed back to node1. My background is technical, but not very network focused.

My previous post showed I was using the wrong configuration for the batman version installed. I flipped to use the old style configuration just to 'get on' to prove that this can be done/ learn the set up etc. TBH, looking at the upgrade paths for updating batman alone, I got a little confused, so planned to come back to that after I had batman working. I assume that the snapshot update bin file would have the latest version of batman? https://downloads.openwrt.org/snapshots/targets/lantiq/xrx200/openwrt-lantiq-xrx200-bt_homehub-v5a-squashfs-sysupgrade.bin

Thanks in advance,

Jon

Some outputs:

batctl n:

Node1
[B.A.T.M.A.N. adv openwrt-2018.1-8, MainIF/MAC: mesh0/44:e9:dd:6b:05:68 (bat0/fe:cd:3b:83:ec:a5 BATMAN_IV)]
IF             Neighbor              last-seen
        mesh0     18:62:2c:52:7c:ee    0.516s
        mesh0     54:64:d9:29:a3:ac    0.428s

Node2
[B.A.T.M.A.N. adv openwrt-2018.1-8, MainIF/MAC: mesh0/54:64:d9:29:a3:ac (bat0/6e:42:9e:83:4a:cf BATMAN_IV)]
IF             Neighbor              last-seen
        mesh0     18:62:2c:52:7c:ee    0.276s
        mesh0     44:e9:dd:6b:05:68    0.100s
		
Node3
[B.A.T.M.A.N. adv openwrt-2018.1-8, MainIF/MAC: mesh0/18:62:2c:52:7c:ee (bat0/3e:dc:ba:e9:15:fb BATMAN_IV)]
IF             Neighbor              last-seen
        mesh0     44:e9:dd:6b:05:68    0.064s
        mesh0     54:64:d9:29:a3:ac    0.040s

/etc/config/network
Node1
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd6e:c86e:646a::/48'

config dsl 'dsl'
        option xfer_mode 'ptm'
        option annex 'b'
        option tone 'a'
        option ds_snr_offset '0'
        option line_mode 'vdsl'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr '44:e9:dd:6b:05:66'

config interface 'wan'
        option proto 'pppoe'
        option ipv6 '1'
        option ifname 'dsl0.101'
        option password 'BT'
        option username 'bthomehub@btinternet.com'
        option peerdns '0'
        option dns '208.67.222.222 208.67.220.123'

config device 'wan_dev'
        option macaddr '44:e9:dd:6b:05:67'
        option name 'dsl0'

config interface 'wan6'
        option ifname '@wan'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 4 6t'
        option vid '1'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '5 6t'
        option vid '2'

config interface 'nwi_mesh0'
        option ifname 'mesh0'
        option proto 'batadv'
        option mesh 'bat0'
        option mtu '2304'

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option ifname 'bat0.3333 eth0.1' #Note eth0.1 added here based on other wiki info.
        option proto 'none'
        option auto '1'
        option delegate '0'

Nodes 2 & 3

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fde5:97e0:596b::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.1.11' #Node3's IP is 192.168.1.12, apart from that, they are the same.

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr '54:64:d9:29:a3:aa'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 4 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '5 6t'

config interface 'nwi_mesh0'
        option ifname 'mesh0'
        option proto 'batadv'
        option mesh 'bat0'
        option mtu '2304'

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option proto 'none'
        option auto '1'
        option delegate '0'
        option ifname 'bat0.3333'

/etc/config/wireless

Node1 - both radios are active, radio0 - 5GHz advertising BTHub5-5GHZ SSID, radio1 - 2.4GHZ advertising BTHub-SH6K SSID and being used for mesh.

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'pci0000:01/0000:01:00.0/0000:02:00.0'
        option htmode 'VHT80'
        option country 'GB'
        option legacy_rates '1'
        option channel 'auto'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk2+ccmp'
        option key 'MyPassword'
        option wpa_disable_eapol_key_retries '1'
        option ssid 'BTHub5-5GHZ'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'pci0000:00/0000:00:0e.0'
        option htmode 'HT20'
        option country 'GB'
        option legacy_rates '1'
        option __toggle 'Enable'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'BTHub-SH6K'
        option encryption 'psk2+tkip+ccmp'
        option key 'MyPassword'
        option wpa_disable_eapol_key_retries '1'

config wifi-iface 'mesh0'
        option device 'radio1'
        option ifname 'mesh0'
        option network 'nwi_mesh0'
        option mode 'mesh'
        option mesh_fwding '0'
        option mesh_id 'MyMesh'
        option encryption 'psk2+ccmp'
        option key 'MyPassword'


Node 2 and 3: radio0 is disabled, radio1 is used to advertise an access point SSID (node2 & node3 - per device) and for mesh (same on each).

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option path 'pci0000:01/0000:01:00.0/0000:02:00.0'
        option htmode 'VHT80'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'
        option disabled '1'
        option network 'lan'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'pci0000:00/0000:00:0e.0'
        option htmode 'HT20'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option mode 'ap'
        option ssid 'node2' 	#node3 on Node3
        option encryption 'psk2+tkip+ccmp'
        option key 'a63954f594'
        option wpa_disable_eapol_key_retries '1'
        option network 'lan'

config wifi-iface 'mesh0'
        option device 'radio1'
        option ifname 'mesh0'
        option network 'nwi_mesh0'
        option mode 'mesh'
        option mesh_fwding '0'
        option mesh_id 'MyMesh'
        option encryption 'psk2+ccmp'
        option key 'MyPassword'

Since you're doing some rather advanced networking, I'd recommend at least 19.07, if not getting set up for working with your own builds off master (or using snapshots). batman-adv is at 2019.4 and the configuration approach changed dramatically (for the better) early in 2019.

The old config approach was quite confusing and took me far too long to wrap my head around.

Further, newer versions of batman-adv likely have significant improvements compared to one that is probably close to two years old now.

While it is correct that there is only one interface in the declarations in /etc/config/network, the "right" wireless interface gets added when it comes up by netifd and configuration in /etc/config/wireless that references that bridge.

With batman-adv and its Layer 2 routing, that can be accomplished. A subtle point is that clients don't connect to the mesh itself, but to APs or Ethernet interfaces that are bridged to the batman-adv interfaces. There are two "networks" involved:

  • The batman-adv nodes communicate among themselves over the mesh, which can include various "hard" interfaces; 802.11s, IBSS, Ethernet, ...
  • The bat0 interfaces that are presented effectively are all bridged together over the various nodes

Thinking about the two separately may help. It is the bat0 interfaces that allow traffic to flow.

TL;DR -- All "bat0" interfaces on all meshed nodes are magically bridged together at Layer 2. You need to configure bridges to take advantage of that.

Let's say that a host is connected to Node 3 via SSID "Home" with IP 192.168.10.3/24 and needs to connect to a wired desktop attached to Node 2 with IP 192.168.10.2/24 . Node 3 needs to bridge the wireless interface for "Home" to bat0 -- let's pick VLAN 10. So Node 3 needs to create a bridge over bat0.10 to which "Home" gets added by virtue of the config in /etc/config/wireless. Node 2 needs to have a similar bridge over bat0.10, with its LAN-destined Ethernet interface added as well (in /etc/config/network). batman-adv does the "heavy lifting" of managing ARP and routing the packets over the "hidden" mesh so that when 192.168.10.3 ARPs for IP 192.168.10.2 it gets the right MAC address. The packet appears on the bridge on Node 3. batman-adv then encapsulates and sends the packet to Node 2, where it is decapsulated and appears on the bridge on Node 2. From there, "normal" bridging sends the packet out over the wire to the MAC address for 192.168.10.2.

1 Like

Hi Jeff,

Thanks for the reply, I'll flash my devices with 19.07.0-rc1 and setup the interfaces with the new configuration.

I'll provide some configuration once that is done.

Many thanks,

Jon

1 Like

Hi Jeff,

I have updated the three routers to OpenWRT version openwrt-19.07.0-rc1. This includes batman-adv: openwrt-2019.2-4. The network configurations are shown below - note new configuration.

batctl n shows neighbors, all looks good again from a "batman-adv is working" point of view. I still see the same behavior as previously, when the network cable is removed => no DHCP address is assigned to the mobile, thus no connectivity.

Please can you provide some guidance on how to setup routing and / or the bridge interfaces to make this fly?

Many thanks,

Jon

Node1 has the following network configuration:

/etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd6e:c86e:646a::/48'

config dsl 'dsl'
        option xfer_mode 'ptm'
        option annex 'b'
        option tone 'a'
        option ds_snr_offset '0'
        option line_mode 'vdsl'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr '44:e9:dd:6b:05:66'

config interface 'wan'
        option proto 'pppoe'
        option ipv6 '1'
        option ifname 'dsl0.101'
        option password 'BT'
        option username 'bthomehub@btinternet.com'
        option peerdns '0'
        option dns '208.67.222.222 208.67.220.123'

config device 'wan_dev'
        option macaddr '44:e9:dd:6b:05:67'
        option name 'dsl0'

config interface 'wan6'
        option ifname '@wan'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'
config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 4 6t'
        option vid '1'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '5 6t'
        option vid '2'

config interface 'bat0'
        option proto 'batadv'
        option routing_algo 'BATMAN_IV'
        option aggregated_ogms 1
        option ap_isolation 0
        option bonding 0
        option fragmentation 1
        #option gw_bandwidth '10000/2000'
        option gw_mode 'off'
        #option gw_sel_class 20
        option log_level 0
        option orig_interval 1000
        option bridge_loop_avoidance 1
        option distributed_arp_table 1
        option multicast_mode 1
        option network_coding 0
        option hop_penalty 30
        option isolation_mark '0x00000000/0x00000000'

config interface 'nwi_mesh0'
        option ifname 'mesh0'
        option mtu '2304'
        option proto 'batadv_hardif'
        option master 'bat0'

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option ifname 'bat0.3333'
        option proto 'none'
        option auto '1'
        option delegate '0'

/etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'pci0000:01/0000:01:00.0/0000:02:00.0'
        option htmode 'VHT80'
        option country 'GB'
        option legacy_rates '1'
        option channel 'auto'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk2+ccmp'
        option key 'MyPass'
        option wpa_disable_eapol_key_retries '1'
        option ssid 'BTHub5-5GHZ'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'pci0000:00/0000:00:0e.0'
        option htmode 'HT20'
        option country 'GB'
        option legacy_rates '1'
        option __toggle 'Enable'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'BTHub-SH6K'
        option encryption 'psk2+tkip+ccmp'
        option key 'MyPass'
        option wpa_disable_eapol_key_retries '1'

config wifi-iface 'mesh0'
        option device 'radio1'
        option ifname 'mesh0'
        option network 'nwi_mesh0'
        option mode 'mesh'
        option mesh_fwding '0'
        option mesh_id 'MyMesh'
        option encryption 'psk2+ccmp'
        option key 'MyPass'

Nodes 2 & 3 have the following network configuration (the only differences are the IP of the LAN interface and SSID:

/etc/config/network:

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdaf:aa0d:a4c3::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.1.21' # Node2, Node3 is 192.168.1.22

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr '54:64:d9:29:a3:aa'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 4 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '5 6t'

config interface 'bat0'
        option proto 'batadv'
        option routing_algo 'BATMAN_IV'
        option aggregated_ogms 1
        option ap_isolation 0
        option bonding 0
        option fragmentation 1
        #option gw_bandwidth '10000/2000'
        option gw_mode 'off'
        #option gw_sel_class 20
        option log_level 0
        option orig_interval 1000
        option bridge_loop_avoidance 1
        option distributed_arp_table 1
        option multicast_mode 1
        option network_coding 0
        option hop_penalty 30
        option isolation_mark '0x00000000/0x00000000'

config interface 'nwi_mesh0'
        option ifname 'mesh0'
        option mtu '2304'
        option proto 'batadv_hardif'
        option master 'bat0'

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option ifname 'bat0.3333'
        option proto 'none'
        option auto '1'
        option delegate '0'

/etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'pci0000:01/0000:01:00.0/0000:02:00.0'
        option htmode 'VHT80'
        option country 'GB'
        option legacy_rates '1'
        option channel 'auto'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk2+ccmp'
        option key 'MyPass'
        option wpa_disable_eapol_key_retries '1'
        option ssid 'BTHub5-5GHZ'
        option disabled '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'pci0000:00/0000:00:0e.0'
        option htmode 'HT20'
        option country 'GB'
        option legacy_rates '1'
        option __toggle 'Enable'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'node2' #node3 for node3
        option encryption 'psk2+tkip+ccmp'
        option key 'MyPass'
        option wpa_disable_eapol_key_retries '1'

config wifi-iface 'mesh0'
        option device 'radio1'
        option ifname 'mesh0'
        option network 'nwi_mesh0'
        option mode 'mesh'
        option mesh_fwding '0'
        option mesh_id 'MyMesh'
        option encryption 'psk2+ccmp'
        option key 'MyPass'

Maybe I missed it, but I don't see the batman-adv interface bridging anything but "vlan3333". Likely you need to add bat0.xxxx to your various LAN bridges.

Hi Jeff,

Do you mean that where I have this set, to be the bat bridge:

config interface 'vlan3333'
        option type 'bridge'
        option stp '1'
        option ifname 'bat0.3333'
        option proto 'none'
        option auto '1'
        option delegate '0'

Do I also need to add a reference to that interface to my LAN interface e.g.:

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1 bat0.3333' # batman interface added here?
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.1.21' 

How does this apply if the LAN cable is removed? Is the LAN interface sort of used as a proxy interface when the cable is removed - allowing traffic to flow in any case?

Many thanks,

Jon

Hi Jeff,

I added bat0.3333 to my lan interfaces on node1 (the one with wan connected to the internet) and on node2. However, I still see the same behavior; no dhcp address is obtained and fixing the IP/ subnet and gateway on the mobile phone has no effect. Have I misunderstood your response? If so, I'd appreciate some guidance.

A separate question, but might be relevant - I note from some mesh units that are sold commercially, that the users original 'supplier' router continues to be used, but with WiFi off, the first mesh device connects to the router (by wire) to provide wireless mesh services to the home. Is this the expected mode of operation for batman-adv? If so, I'm not following this, but can change if this is the reason for my issues.

Many thanks,

Jon

OK, I reconfigured things, as described in my "separate question", now looking much better :slight_smile:

All wireless devices/ interfaces on Node1 are disabled and all batman interfaces removed. It is now acting as a modem, with a handful of wired clients only.

Nodes 2 & 3 have all of the batman etc interfaces, plus the reference to bat0.3333 in the lan interface. Node 2 is now a wired client of Node 1. Node 3 is not connected via wire to Node 1, but my Mobile phone can connect to the SSID node3 and get an IP address, thus can get internet access. Additionally, by using an Ethernet cable from my PC to Node 3 directly, all remains working.

So, I'll add some more nodes tomorrow and position around the home - do some testing etc. I'm pleased as I was on the verge of buying a Google WiFi kit.

2 questions:

  1. Would there be a benefit of using the 5GHz channel for the bat0 interface, or would that cause issues with distance between nodes? I'm currently using the 2.6 GHz channel for everything, 5GHz is disabled.
  2. Is there any problem with advertising the same SSID's on all nodes? So as someone goes around the home, they transparently move between the strongest provider of signal?

Many thanks,

Jon

I would suggest bring up a 5 GHz AP on one device then move around the house with a phone running Wifi Analyzer to check signal levels. Generally if you see -70 dBm on a phone you'll have a solid link with a router.

1 Like

mk24,

Thanks for the suggestion. If the signal looks good between potential places to put the nodes and that 5GHz AP point, then use the 5GHz for the bat interface for the increased connection throughput?

Thanks,

Jon

Prior to switching to my EA8300s (three-radio device), I was running Archer C7v2s with the backhaul on 5 GHz, 5 GHz APs for most devices, and 2.4 GHz APs for the random IoT devices.

Signal strength (that drives throughput) on 5 GHz is a major deciding factor, along with "repeater effect".

For example, if you get 200 Mbps throughput, point-to-point (with no other clients) on 5 GHz, then you can probably get 70-90 Mbps for a client that is being repeated on that radio (1/2 is "best case" due to repeater effect). If you're getting over 100 Mbps on the same-path for 2.4 GHz, then it makes sense to use 2.4 GHz. Note that throughput on a link is often somewhere around half of the modulation rate.

A secondary effect is that the mesh members all need to be on the same channel, so having backhaul and AP on the same radio means that there will likely be some device-to-device interference. With home use in a reasonably remote area (~100m to closest houses), this wasn't enough to push me to 2.4 GHz for the backhaul with the Archer C7v2s.

Thanks Jeff,

Unfortunately, the 5GHz radio does not support mesh - as per these posts:

I have tried the solutions suggested in those posts, but none made any difference - the mesh interface would never come up. To be honest, this is the least of my worries, I can come back to fix that later, I've spent too long this evening trying to fix something that really is optional.

Overall the mesh now works - that is the important bit.

I'll post my full config for the sake of others once I'm finished.

Regards,

Jon

Is, in my experience, an indication that the -CT driver and firmware are being loaded.

I can't comment personally on the BT Hub 5A, though if you continue on the thread you linked

Hi Jeff,

Yes, I followed the instructions from that post. I renamed the original files from .bin to .old and amended the - I replaced both the firmware.bin and board.bin.

I assume that changing the file extension and adding the new version of the file with the correct extension should have been OK? I also amended the file /etc/modules.d/ath10k-ct to:

ath10k_core rawmode=1
ath10k_pci

It is no big deal for now.

Thanks,

Jon

As discussed elsewhere, the -CT drivers for Wave 1 chips do not support 802.11s and likely never will. Changing /etc/modules.d/ath10k-ct is not a resolution.

The board.bin file needs to either come from a device-specific packages (such as with the ipq40xx boards), the driver package, or is extracted from the ART partition. It shouldn't be something you need to manually adjust. The firmware package also provides the needed firmware. It also shouldn't need manual adjustment. Removing the -CT drivers and firmware and installing the "non-CT" versions should be sufficient.

OK,thanks.

So in other words, simply replacing the firmware-2.bin file with firmware-5.bin should be sufficient?

Where can I obtain the non -CT firmware? The other two posts had sources, which I used, but were they the right ones?

Thanks,

Jon

Best is to use opkg -- something like (check the package names for your device!!!)

opkg update
opkg remove ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct
opkg install ath10k-firmware-qca988x ath10k-firmware-qca988x
1 Like

Ah, OK. I did try something like that last night, but the output was that the package was already up to date.

I'll be away for work for a few days, so will look into doing this properly later in the week.

Many thanks,

Jon

opkg list-installed to see which one is actually installed.

1 Like

I've just today updated my BT hub 5A's to the 19.07 release candidate and have mesh working fine.

I'm using plain 802.11s, so have mesh forwarding enabled.

You need to remove the default wpad package (wpad-mini) and install wpad-mesh-openssl.

As advised by jeff, starting with 19.07, to use 5ghz for the mesh link you'll also need to change the 5ghz wireless firmware: use opkg to remove ath10k-firmware-qca988x-ct and install ath10k-firmware-qca988x.

I found I also needed to reboot the router after replacing the -CT firmware, just restarting the wifi didn't help.

From 19.07 you can also configure your mesh link in the web UI and enable wpa3 encryption (sae in the config file), in 18.06 and earlier you had to edit etc/config/wireless to use 'psk2+ccmp'.

The relevant bit from my /etc/config/wireless:-

 config wifi-iface 'mesh0'
        option device 'radio0'
        option ifname 'mesh0'
        option mode 'mesh'
        option mesh_fwding '1'
        option mesh_id 'My Mesh SSID'
        option encryption 'sae'
        option key 'MyPassword'          
        option network 'lan'

I guess you should also replace the -CT driver with the non-CT one (kmod-ath10k).

I had omitted doing so, but have just done so in one of my BT hubs and mesh is still working.

1 Like