I am experimenting with the USB ethernet gadget and I though I would share how to connect multiple CHIPs to your home network using the USB ethernet gadget instead of the WiFi. My CHIPs are running version 4.4, the ethernet gadget is not enabled in 4.3.
You will need to connect your CHIPs to USB ports on your Linux computer. After they boot up, you should get an ethernet interface from each of them. You can run
ifconfig to list the interfaces on your computer.
Now you need to create a bridge. On your computer run:
brctl addbr br0
This creates a bridge interface named “br0”.
Next, add each interface (your computer & CHIPs) to the bridge with:
brctl addif br0 eth0
Where “eth0” is the name of the interface you want to add to the bridge.
In my case, I ran this with “eth1”, which is the my computers ethernet connection and “eth3” & “eth4” which is the names of the USB ethernet adapters from my CHIPs.
Now assign an IP address to the bridge:
ifconfig br0 192.168.1.123 netmask 255.255.0.0
192.168.1.123 should be a free IP address on your network that’s not in your routers DHCP pool and 255.255.0.0 should be a suitable subnet mask for your network.
Now, you will probably not have internet access on your computer because the default route has not set correctly, to fix that, run:
route add default gw 192.168.1.1
192.168.1.1 should be the IP address of your router.
Now you need to setup the network connections on your CHIPs.
If you have a GUI up on them, you can setup the connections with the network manager applet.
If you don’t want to use the GUI, then on each CHIP, run:
nmcli connection add type ethernet con-name USB_Bridge ifname usb0
nmcli connection up USB_Bridge
This creates a new DHCP connection and connects it.
Now your CHIPs should be connected to the network. They should have internet access over the USB port and you should be able to access them from any device on your network.
I ran a benchmark with iperf between two CHIPs and get about 11MB/s each way and 7-10MB/s both ways at the same time. This is quite a bit faster than the WiFi connection, and I haven’t had it drop a connection yet.
To shutdown the bridge, on your computer, run:
ifconfig br0 down
brctl delbr br0