setting priority of two ethernet connections

here Nevio, from Italy. I’m new in the forum.
I’m playing with a BeagleBone Black C with debian 7.5 2014-07-06 version.
The BBB is connected to the local network with internet access, and I run it with ssh.
I have connected also a usb internet-key (Huawei E3131) that work out of the box. This internet key is different from the others because it is seen as an ethernet device, not usb device.
I am having trouble with configuring which internet connection the system has to use.
In particular I would like the BBB use the internet connection via LAN if the internet via LAN is up, else the other connection (via usb internet key).
I have configured the two eth connections with different priorities (/etc/network/interfaces), however if the LAN has no internet connection the system don’t use the usb-key.
I post my config file.

eth0 = wired connection, gateway
eth1 = via usb internet key, gateway

debian@arm:~$ ping PING ( 56(84) bytes of data. From icmp_seq=1 Destination Net Unreachable From icmp_seq=2 Destination Net Unreachable From icmp_seq=3 Destination Net Unreachable From icmp_seq=4 Destination Net Unreachable From icmp_seq=5 Destination Net Unreachable ^C --- ping statistics --- 9 packets transmitted, 0 received, +9 errors, 100% packet loss, time 8012ms

debian@arm:~$ ping -I eth1 PING ( from eth1: 56(84) bytes of data. 64 bytes from icmp_req=3 ttl=43 time=658 ms 64 bytes from icmp_req=2 ttl=43 time=1687 ms 64 bytes from icmp_req=1 ttl=43 time=2687 ms 64 bytes from icmp_req=4 ttl=43 time=47.6 ms ^C --- ping statistics --- 8 packets transmitted, 7 received, 12% packet loss, time 7003ms rtt min/avg/max/mdev = 47.670/899.876/2687.464/921.850 ms, pipe 3

debian@arm:~$ sudo route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface UG 0 0 0 eth0 UG 10 0 0 eth1 U 0 0 0 eth0 U 0 0 0 eth1 U 0 0 0 usb0

debian@arm:~$ nano /etc/network/interfaces

This file describes the network interfaces available on your system

and how to activate them. For more information, see interfaces(5).

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet static

Example to keep MAC address between reboots

#hwaddress ether DE:AD:BE:EF:CA:FE

The secondary network interface

auto eth1
allow-hotplug eth1
#allow-auto eth1
iface eth1 inet static
metric 10

WiFi Example

#auto wlan0
#iface wlan0 inet dhcp

wpa-ssid “essid”

wpa-psk “password”

Ethernet/RNDIS gadget (g_ether)

… or on host side, usbnet and random hwaddr

Note on some boards, usb0 is automaticly setup with an init script

iface usb0 inet static
` UG 0 0 0 eth0

This mean all package out from
Try route delete once
Make sure only have UG 10 0 0 eth1

When only usb dongle connect .

Or try ifconfig eth0 when eth0 down

Hi Nevio,

Thank you Iiyaoshi, it works
sudo route del -net gateway

and now if I ping an external address it uses gateway (usb internet key).

But how can I automate this?
I can add to /etc/network/interfaces, on the eth0 section:
down route del -net gw up route add -net gw metric 0

but I don’t know if the eth0 ethernet connection has internet access or not. Because sometimes I will connect the board to the notebook with a crossover cable to manage it. In this case eth0 will be up but without internet connection, so the BBB should still use internet key at
Is there a method that tried both ways, and chose the one working that has higher priority?

To Jeronimo Lopes:
in my case there was no need for any configuration. With some operating systems I have read that you have to make switching between mass-storage and modem behavior (as usual with internet keys), but with debian and ubuntu even this. I only rename the connection that initially appeared as “rename3” rather than “eth1”, adding the mac-address with the correct name in the file /etc/udev/rules.d/70-persistent-net.rules.
I will try wicd! thank you for the advice!


I my case, I use two interfaces eth0 (to local network access) and wlan0 (to get internet), the eth0 blocks wlan0, and I don’t get internet, when Unplugged the cable, I get internet again. How I set Priority in the interfaces?? the most important for me is wlan0 to have internet, the second one eth0.

I tried with IFMETRIC, but my BBB omit everything.
When I reboot, use a few seconds the wlan0, but a moment after, eth0 blocks again.

with route -n , I see the routing, Despite of set metric 0 or 1 to the wlan0, and metric 5, 10 or higher, the eth0 appers with a metric 0 ???

This procedures work fine with the Rasberry pi.

any ideas, or help in this topic.