Mesh working but batman-adv not on GL-A750S

Hi!!

I have two GL-A750S travel routers. I used the following for /etc/config/wireless:

config wifi-iface 'mesh0'                   
        option device 'radio0'  
        option ifname 'mesh0'        
        option network 'nwi_mesh0'
        option mode 'mesh' 
        option mesh_id 'stlmesh'            
        option mesh_fwding '0'  
        option encryption 'psk2+ccmp'
        option key '<mykey>'

The command:

iw dev mesh0 station dump

on each works, and shows the other router.

However, I have this in /etc/config/network:

config mesh 'bat0'              
        option 'aggregated_ogms'
        option 'ap_isolation'    
        option 'bonding'          
        option 'fragmentation'
        option 'gw_bandwidth'
        option 'gw_mode'                       
        option 'gw_sel_class' 
        option 'log_level'            
        option 'orig_interval'        
        option 'bridge_loop_avoidance'
        option 'distributed_arp_table'
        option 'multicast_mode'       
        option 'network_coding'
        option 'hop_penalty'           
        option 'isolation_mark'     
                            
config interface 'nwi_mesh0'        
        option mtu '2304'           
#       option proto 'batadv_hardif'   
        option master 'bat0' 
        option proto 'batadv'

and ip link DOES NOT show bat0.

I'm running the stock GL-iNet software with the latest snapshot:

openwrt-ar750s-3.024-0606-snapshot.tar

Please help getting batman-adv working on mesh0.

Stock GL.iNet firmware probably uses the older batman-adv config style.

https://openwrt.org/docs/guide-user/network/wifi/mesh/batman?rev=1555021785

Edit: Note that the above link points to an old version, not the current version!

Jeff. That link points to the new config.

I tried this:

config interface 'bat0_hardif_wlan'
    option mtu '1532'                 
    option proto 'batadv'    
    option mesh 'bat0'                 
                                    
config interface 'bat0_hardif_eth0'
    option mtu '1532' 
    option proto 'batadv'     
    option mesh 'bat0'                 
    option ifname 'eth0'

And ... IT WORKED!!

  # batctl o
[B.A.T.M.A.N. adv 2018.1, MainIF/MAC: eth0/e4:95:6e:49:9d:50 (bat0/b6:a7:56:b2:b4:f5 BATMAN_IV)]
   Originator        last-seen (#/255) Nexthop           [outgoingIF]
 * e4:95:6e:49:9e:39    0.870s   (248) e4:95:6e:49:9e:39 [     mesh0]
 * e4:95:6e:49:9e:38    0.310s   (253) e4:95:6e:49:9e:39 [     mesh0]
# batctl if
eth0: active
mesh0: active

Now, I'll try to get a device plugged into the ethernet on one router to ping a device plugged into the ethernet on the other router ... (holding breath)

1 Like

Hi, can you report the kernel version for the stock firmware, that you are running?

Could you also please check (this can be done on a running system), if you can change the MTU on the wired interface to higher than 1500 (1532, 1536, 2304, 4070)?
ifconfig eth0 mtu 1536 ; ifconfig eth0 mtu 1500

On some old kernels you can't change while the interface is up. If you get an error (= can't go) higher than 1500, then you can forget about using GBit backhaul for batman without performance problems. MTUs higher than 1500 (even slightly) seem to be broken (on snapshots) on all but one 1 ath79/ag71xx-eth device I have. So please post your maximum wired MTU. Thanks