BeagleBone Black Wireless - wlan primary / Nova fallback - Booting and routing

Hi all, I am building an application that will maintain a wifi connection and a cellular connection via the Nova R410M. I have two issues that I believe are due to the boot configuration and the ip routing.

First on how the booting is setup:
I am establishing the wlan connection using wpa_supplicant on boot and running hologram network connect using systemd

`debian@beaglebone:/etc$ cat /etc/systemd/system/holConn.service
[Unit]
Description=Connect Hologram Service
After=network-online.target
After=usb-gadget.target
After=sys-subsystem-net-devices-ppp0.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/hologram network connect

[Install]
WantedBy=multi-user.target
`

There was a periodic issue where the serial port was unable to be reached so the ppp connection failed. I believe I was able to overcome this by adding nodefaultroute to /etc/ppp/options. This was in hopes to prevent the wlan connection from competing with the ppp connection at boot. This has appeared to work, but I was hoping someone with some experience with this can shed light onto if my suspicion was correct.

The current issue has to do with having two gateway connections. I run into an issue where the wlan connection becomes dormant and the ppp connection becomes the default gateway. In this configuration the system is unable to reach the internet at all. I am working on understanding building the routing tables for each connection and the associated rules to ensure that the wlan connection is the default gateway, and the ppp connection is simply available if wlan fails or if I need to tunnel into the device in the field.

Has anyone had experience with either of these issues? Any help on how I might maintain this multi home configuration will be helpful.

Thanks in advance!

I have decided to use ifenslave to generate a bonded network that sets up wlan0 and ppp0 as slaves and sets wlan0 as the primary slave (also active) and ppp0 as the backup.

I am struggling to get the ppp0 connection to be established as a slave. I have it established in the /etc/network/interfaces file, but it must get closed down in the SDK and disassociated from the bond0 network.

Any advice on what to modify in the Hologram SDK?

I wonder if it would make more sense for you to use PPP directly instead of using the SDK since the SDK does manipulate the routing tables and other things when bringing the connection up and down. We have PPP config files at https://github.com/hologram-io/hologram-tools/tree/master/ppp

You can modify them so that they don’t takeover the default route and things like that.

Hi Reuben,

Thanks for the quick reply. I wanted to be sure that I am setting up my network/interfaces file to properly setup the ppp connection. Can you verify the provider ID? This code is not bringing a ppp connection up.

setup cellular interface

auto ppp0
allow-hotplug ppp0
iface ppp0 inet ppp
#provider <?>
bond-master bond0
bond-primary wlan0
bond-mode active-backup
pre-up ifconfig $IFACE up
post-down ifconfig $IFACE down

Have you tried hologram
If you are using our chatscripts then you may not need that line since we set it in there

Oh actually that might just be whatever peers file you’re using if its not the default. If you’re using the files from our github then it would be nova

Figured out that part anyway - it did not like “allow-hotplug ppp0”

The last issue that I am having is ifenslave will not allow me to bind the ppp0 to the bond0 NIC. Any experience setting up these connections network bonding configuration?

We haven’t tried that here so probably can’t be of much help. Would love to hear how you get it working if you’re able to. This seems like it would be useful for many applications.

Hi Reuben,

I have been able to establish the bond0 NIC with the wlan0 and ppp0 as the slave NICs and the wlan0 as the primary. My current issue is that the ppp0 NIC will not come up as the active slave when I kill the wlan0 NIC. I notice when I cat the bonding information I can tell that MII monitor is down for the ppp0 NIC.

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: wlan0 (primary_reselect always)
Currently Active Slave: wlan0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200

Slave Interface: wlan0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 6c:c3:74:e7:07:5b
Slave queue ID: 0

Slave Interface: ppp0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 92:99:f1:74:fa:50
Slave queue ID: 0

Does Hologram support that functionality and if so are you aware of how to bring that monitor up?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.