How can I connect 2 wireless NICs to one wired ethernet

Yes, that's fine for this project.

I think this is where I'm messing up. I've tried setting the ifname property for lan each of these different ways, and I'm not really seeing any difference.

  1. option ifname 'eth1'
  2. option ifname 'eth1 bat0 bat1'
  3. option ifname 'eth1.1 eth1.2 bat0 bat1'

Here are the interfaces I have right now on bridge SBC. Would you tell me exactly what I'm supposed to be putting in the different ifname settings to get this? Like I mentioned before, I'm just not understanding quite what you're saying.

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option ipaddr '10.100.0.1'
        option netmask '255.0.0.0'
        option gateway '10.0.0.1'
        option delegate '0'
#       option ifname 'eth1'
option ifname 'eth1 bat0 bat1'
#option ifname 'eth1.1 eth1.2 bat0 bat1'

config interface 'wlan0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '10.100.0.10'
        option netmask '255.0.0.0'
        option gateway '10.0.0.1'
        option delegate '0'
        option stp '1'
        option ifname 'bat0 eth1.1'

config interface 'wlan1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '10.100.0.20'
        option netmask '255.0.0.0'
        option gateway '10.0.0.1'
        option delegate '0'
        option stp '1'
        option ifname 'bat1 eth1.2'

As for rule 2, SBC2 is also running OpenWRT, so no problem with understanding VLANs if that's what solves the problem

Get rid of the 'wlan0' and 'wlan1' bridges and use only lan. As I said before, you can't put an interface into more than one bridge. And since this setup is one big network, you only need one bridge at all.

All three interfaces in lan would be eth1 bat0 bat1 unless you want vlans on the eth port, which you almost certainly don't. A notation like eth1.2 causes the port to send and receive VLAN tagged packets, VLAN 2 in that case.

Ok, I did that. Only 'lan' and the ifname includes eth1 bat0 and bat1, and wlan0 and wlan1 are commented out. But I'm back to the situation where I can ping wlan1 on SBC2 when dev is plugged into switch2 with SBC2, but only 8 pings, then it goes silent. As soon as I disconnect dev from the switch I cannot see anything on switch2. bat0 and bat1 from SBC1 still sees SBC2's NICs

This almost makes me think that packets are tagged as they leave SBC1 and try to go out across the network. Surely that's not the way I should interpret that.

Oh fun, as I'm typing this with dev plugged back into switch2, SBC1 is starting to receive "br-lan: received packet on eth1 with own address as source address (addr:00:d0:12:8e:f5:5b, vlan:0)" messages. Now I'm absolutely convinced that I'm dealing with collisions. But where?

Can you make a diagram of the network? Where are the switches? Why are there only two SBCs instead of three (two camera bridge and one server bridge?)

Again you can only bridge bat0 and bat1 together at one point (the server bridge) or there is a network loop which will crash the whole network.

The reason I only talked about 2 SBCs is because I couldn't even get 2 to play nicely. No use in adding more that I need to worry about. Sorry if that caused some confusion. The switches that I am using in the project are actually connected to the SBCs ethernet port. This allows me to connect multiple devices to a single port and bridge all of these devices to the WMN through one connection inside the SBC.

I fixed the bridging issue between SBC1 and the camera connected to SBC2. For some reason, that broke. So I went back to the old standby instructions at https://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide and added the mesh-bridge interface by hand, and everything worked great.

ip link add name mesh-bridge type bridge
ip link set dev eth0 master mesh-bridge
ip link set dev bat0 master mesh-bridge
ip link set up dev eth0
ip link set up dev bat0
ip link set up dev mesh-bridge

This enables my communications just fine. Of course, it disappears when I reboot. But when I tried to build mesh-bridge as a device in /etc/config/network it failed to parse, and my other interfaces turned into bridges. How can I turn those lines into a proper device, interface, whatever that I can store in /etc/config/network?

I found the item in the BATMAN-Adv FAQ page that originally convinced me that I could merge these networks at a single point. The original is at https://www.open-mesh.org/projects/batman-adv/wiki/Faq. I've made some modifications to bring it inline with what I'm trying to do.

Assume that all nodes in the networks have a camera attached to them as a non-mesh client on eth1.

Any ideas how I can pull this off using only /etc/config/* and not through some use of CLI commands?

Is it still two separate meshes (different mesh_id) or one big one now?

It's 2 different meshes. mesh0 on 5 GHz channel 153 (10.1.0.0), and mesh1 on 5 GHz channel 157 (10.2.0.0) defined in /etc/config/newireless, as I have it configured right now.