Zainteresowałem się tym bondingiem: https://www.open-mesh.org/projects/batm … nding-mode
i wywnioskowałem, że to powinno działać i bez niego i wtedy nawet lepiej: https://www.open-mesh.org/news/14
Wróciłem więc do mojego sprzętu i przyjrzałem się dokładniej działaniu mesha.
Większość opisu konfiguracji jest na stronach OpenWrt, nie będę więc powielał, i po przemyśleniu uznałem, że tak będzie dobrze w /etc/config/network:
config interface 'bat0'
option proto 'batadv'
option routing_algo 'BATMAN_V'
option bonding '0'
config interface 'net_wifi_mesh0'
option mtu '2304'
option proto 'batadv_hardif'
option master 'bat0'
config interface 'net_wifi_mesh1'
option mtu '2304'
option proto 'batadv_hardif'
option master 'bat0'
A następnie w /etc/config/wireless:
config wifi-iface 'meshnet0'
option device 'radio0'
option mode 'mesh'
option ifname 'mesh0'
option network 'net_wifi_mesh0'
option mesh_fwding '0'
config wifi-iface 'meshnet1'
option device 'radio1'
option mode 'mesh'
option ifname 'mesh1'
option network 'net_wifi_mesh1'
option mesh_fwding '0'
Na pierwszy rzut oka wygląda problematycznie (bo mam 10 sąsiadów):
# batctl n
[B.A.T.M.A.N. adv openwrt-2019.2-11, MainIF/MAC: mesh1/d8:0d:17:22:b4:c5 (bat0/c2:ae:c2:ee:2f:cd BATMAN_V)]
IF Neighbor last-seen
30:b5:c2:96:1b:9b 0.050s ( 18.1) [ mesh1]
f4:f2:6d:9b:f6:30 0.330s ( 43.9) [ mesh1]
e8:94:f6:d0:d1:be 0.310s ( 18.7) [ mesh1]
c4:6e:1f:40:9e:bc 0.400s ( 47.9) [ mesh1]
d4:6e:0e:c6:0e:e6 0.450s ( 47.1) [ mesh1]
d4:6e:0e:c6:0e:e7 0.030s ( 38.9) [ mesh0]
e8:94:f6:d0:d1:bf 0.220s ( 4.2) [ mesh0]
30:b5:c2:96:1b:9c 0.010s ( 48.2) [ mesh0]
c4:6e:1f:40:9e:bd 0.090s ( 116.0) [ mesh0]
f4:f2:6d:9b:f6:31 0.510s ( 88.4) [ mesh0]
Ale jednak jest OK (routing jest do 5 urządzeń, wybrałem takiego który faktycznie ma niektóre przez mesh1 a niektóre przez mesh0):
# batctl o
[B.A.T.M.A.N. adv openwrt-2019.2-11, MainIF/MAC: mesh1/d8:0d:17:22:b4:c5 (bat0/c2:ae:c2:ee:2f:cd BATMAN_V)]
Originator last-seen ( throughput) Nexthop [outgoingIF]
d4:6e:0e:c6:0e:e6 0.400s ( 43.3) d4:6e:0e:c6:0e:e7 [ mesh0]
d4:6e:0e:c6:0e:e6 0.400s ( 21.0) e8:94:f6:d0:d1:bf [ mesh0]
d4:6e:0e:c6:0e:e6 0.400s ( 38.6) 30:b5:c2:96:1b:9c [ mesh0]
d4:6e:0e:c6:0e:e6 0.400s ( 43.3) f4:f2:6d:9b:f6:31 [ mesh0]
d4:6e:0e:c6:0e:e6 0.400s ( 43.7) c4:6e:1f:40:9e:bd [ mesh0]
d4:6e:0e:c6:0e:e6 0.400s ( 16.9) 30:b5:c2:96:1b:9b [ mesh1]
d4:6e:0e:c6:0e:e6 0.400s ( 22.7) e8:94:f6:d0:d1:be [ mesh1]
d4:6e:0e:c6:0e:e6 0.400s ( 41.0) c4:6e:1f:40:9e:bc [ mesh1]
d4:6e:0e:c6:0e:e6 0.400s ( 38.1) f4:f2:6d:9b:f6:30 [ mesh1]
* d4:6e:0e:c6:0e:e6 0.400s ( 45.8) d4:6e:0e:c6:0e:e6 [ mesh1]
f4:f2:6d:9b:f6:30 0.960s ( 43.3) d4:6e:0e:c6:0e:e7 [ mesh0]
f4:f2:6d:9b:f6:30 0.960s ( 20.7) e8:94:f6:d0:d1:bf [ mesh0]
f4:f2:6d:9b:f6:30 0.960s ( 38.8) 30:b5:c2:96:1b:9c [ mesh0]
f4:f2:6d:9b:f6:30 0.960s ( 47.9) c4:6e:1f:40:9e:bd [ mesh0]
* f4:f2:6d:9b:f6:30 0.960s ( 95.9) f4:f2:6d:9b:f6:31 [ mesh0]
f4:f2:6d:9b:f6:30 0.960s ( 17.0) 30:b5:c2:96:1b:9b [ mesh1]
f4:f2:6d:9b:f6:30 0.960s ( 43.4) f4:f2:6d:9b:f6:30 [ mesh1]
f4:f2:6d:9b:f6:30 0.960s ( 20.6) e8:94:f6:d0:d1:be [ mesh1]
f4:f2:6d:9b:f6:30 0.960s ( 37.2) d4:6e:0e:c6:0e:e6 [ mesh1]
f4:f2:6d:9b:f6:30 0.960s ( 41.0) c4:6e:1f:40:9e:bc [ mesh1]
c4:6e:1f:40:9e:bc 0.850s ( 43.3) d4:6e:0e:c6:0e:e7 [ mesh0]
c4:6e:1f:40:9e:bc 0.850s ( 20.7) e8:94:f6:d0:d1:bf [ mesh0]
c4:6e:1f:40:9e:bc 0.850s ( 38.8) 30:b5:c2:96:1b:9c [ mesh0]
c4:6e:1f:40:9e:bc 0.850s ( 45.7) f4:f2:6d:9b:f6:31 [ mesh0]
* c4:6e:1f:40:9e:bc 0.850s ( 124.5) c4:6e:1f:40:9e:bd [ mesh0]
c4:6e:1f:40:9e:bc 0.850s ( 21.7) e8:94:f6:d0:d1:be [ mesh1]
c4:6e:1f:40:9e:bc 0.850s ( 16.7) 30:b5:c2:96:1b:9b [ mesh1]
c4:6e:1f:40:9e:bc 0.850s ( 36.5) d4:6e:0e:c6:0e:e6 [ mesh1]
c4:6e:1f:40:9e:bc 0.850s ( 38.3) f4:f2:6d:9b:f6:30 [ mesh1]
c4:6e:1f:40:9e:bc 0.850s ( 45.7) c4:6e:1f:40:9e:bc [ mesh1]
30:b5:c2:96:1b:9b 0.350s ( 43.3) d4:6e:0e:c6:0e:e7 [ mesh0]
30:b5:c2:96:1b:9b 0.350s ( 21.0) e8:94:f6:d0:d1:bf [ mesh0]
* 30:b5:c2:96:1b:9b 0.350s ( 77.3) 30:b5:c2:96:1b:9c [ mesh0]
30:b5:c2:96:1b:9b 0.350s ( 47.9) c4:6e:1f:40:9e:bd [ mesh0]
30:b5:c2:96:1b:9b 0.350s ( 45.7) f4:f2:6d:9b:f6:31 [ mesh0]
30:b5:c2:96:1b:9b 0.350s ( 42.3) c4:6e:1f:40:9e:bc [ mesh1]
30:b5:c2:96:1b:9b 0.350s ( 38.1) f4:f2:6d:9b:f6:30 [ mesh1]
30:b5:c2:96:1b:9b 0.350s ( 22.7) e8:94:f6:d0:d1:be [ mesh1]
30:b5:c2:96:1b:9b 0.350s ( 16.9) 30:b5:c2:96:1b:9b [ mesh1]
30:b5:c2:96:1b:9b 0.350s ( 37.2) d4:6e:0e:c6:0e:e6 [ mesh1]
e8:94:f6:d0:d1:be 0.020s ( 41.7) d4:6e:0e:c6:0e:e7 [ mesh0]
e8:94:f6:d0:d1:be 0.020s ( 20.9) e8:94:f6:d0:d1:bf [ mesh0]
e8:94:f6:d0:d1:be 0.020s ( 39.2) 30:b5:c2:96:1b:9c [ mesh0]
e8:94:f6:d0:d1:be 0.020s ( 41.7) f4:f2:6d:9b:f6:31 [ mesh0]
e8:94:f6:d0:d1:be 0.020s ( 41.7) c4:6e:1f:40:9e:bd [ mesh0]
e8:94:f6:d0:d1:be 0.020s ( 17.0) 30:b5:c2:96:1b:9b [ mesh1]
e8:94:f6:d0:d1:be 0.020s ( 36.8) d4:6e:0e:c6:0e:e6 [ mesh1]
e8:94:f6:d0:d1:be 0.020s ( 38.5) f4:f2:6d:9b:f6:30 [ mesh1]
* e8:94:f6:d0:d1:be 0.020s ( 42.1) c4:6e:1f:40:9e:bc [ mesh1]
e8:94:f6:d0:d1:be 0.020s ( 22.7) e8:94:f6:d0:d1:be [ mesh1]
Osobną sprawą jest, czy to wszystko ma sens...
mar_w napisał/a:Gdy leci przez 2 interfejsy radiowe to ma mniejszą szybkość niż gdy leci przez jedno radio 5GHz.
Jak sobie wybierze tak będzie 
Jak wynika z tego co pisało na tych stronach, które podlinkowałem, to lepiej powinno być jednak bez bonding. A ogólnie, to zestawienie sieci mesh na 5GHz oraz następnie konfiguracja AP na 2,4GHz wydaje się najrozsądniejszym rozwiązaniem. W takiej konfiguracji mesh nie współdzieli pasma z urządzeniami. A jak mamy dobry sprzęt, to dodatkowo wydajność mesha powinna wyraźnie przekraczać wydajność użytkowego wifi i powinno to wifi działać w miarę sprawnie.
Przetestowałem mojego mesha i kiedy działa tylko w jednym paśmie to klient końcowy (taki, który musi wykonać co najmniej 2 skoki, żeby dotrzeć do urządzenia podłączonego kablem do sieci) działa lepiej, gdy BATMAN korzysta tylko z jednego WiFi. Gdybym na końcu podłączył się kablem, to może byłoby lepiej, ale tak próbuję korzystać z sieci bezprzewodowej, która na tym samym kanale za chwilę przesyła moje dane przez zestawionego mesha. Dostępne pasmo jest współdzielone i na tym samym kanale smartfon przesyła dane do AP1, a potem AP1 do AP2. Możemy dodawać kolejne interfejsy w OpenWrt, ale wszystkie mają wspólną konfigurację radia (numer kanału i szerokość pasma).
C2v1 to faktycznie słabizna. 5GHz dość niestabilne. Żeby to działało byłem zmuszony wyłączyć AC/80MHz i ustawić N/40MHz w paśmie 5GHz. Szybkość jest niższa, ale połączenie jest stabilne. Niestety bez szyfrowania
Z szyfrowaniem działa, ale stabilność ... słaba
Raz działa, raz nie 
C7v5 zdaje się faktycznie ok. 160Mbit/s wyciągnął w meshu. Oczywiście z sąsiadem obok i tylko pojedynczym skokiem.
mar_w napisał/a:Żeby jeszcze obsłużył NAT na konkretnym poziomie to ten brzegowy musi być niezły dzik 
Po aktywacji "flow offloading" to już nie problem
Nawet 1043ND daje radę, ale C7 czy ewentualnie R6220 są IMHO lepszym wyborem.