The Ethernet port does not work or eth0 does not appear in ifconfig

Most likely, your MAC address has not been set. If you run ifconfig -a and see output similar to:

eth_badmac Link encap:Ethernet HWaddr 00:1c:2c:ff:ff:ff

Your MAC address has reverted to the default and needs to be set. See SNAPconnect is not working below.

SNAPconnect is not working

Check for one of the following possible issues:

  • SNAPconnect may be out of date.
    Prior versions of SNAPconnect were incompatible with some version of the Python Tornado package or may have failed to obtain the MAC address correctly. Upgrade to the latest version of SNAPconnect by using the instructions in E20-Specific Software Packages.
  • Your MAC address is not set.
    From the linux command line, run:
    sudo fw_setenv ethaddr "00:1c:2c:xx:xx:xx"
    (Replace the XX entries with your last three octets of your Ethernet MAC address, which should be found on the label on your E20’s case. Be sure to use the Ethernet MAC address (labeled ETH MAC) and not the SNAP MAC address or Wi-Fi MAC address.)
    Then reboot.

Cannot SSH into my E20

You cannot SSH into the E20 as root, or any user account which does not have the password set. Be sure to have set a password for the account you want to use to connect.

The E20 is slow to boot because it’s waiting for the network

Ubuntu will wait up to two minutes during boot up to ensure that every network device configured to come up automatically in DHCP mode acquires an IP address before continuing. The DHCP client will continue to attempt to acquire an address for all DHCP devices periodically in the background. By default, it will spend 60 seconds trying and then wait five minutes before trying again (the timeout and retry times, respectively).

If either your Ethernet or your Wi-Fi is configured to get an IP address automatically in DHCP client mode, and either network is unavailable (or network is congested, or with a slow-to-respond DHCP server), you can have a blocking delay of up to two minutes while the operating system attempts to get IP addresses assigned for all its interfaces. This two-minute period covers both the Ethernet and Wi-Fi interfaces, whether one or both of them are unable to make a network connection.

There are a few ways to address this issue:

1. If you don’t care about Ethernet at all, edit /etc/network/interfaces, and change the lines:
auto eth0
allow-hotplug eth0
#auto eth0
#allow-hotplug eth0
This will disable bringing up the Ethernet. To disable Wi-Fi, just comment the line auto wlan0 if it isn’t already.

2. If you want your network devices brought up, but can tolerate continuing booting potentially before each has an IP address, you can reconfigure the length of the delay. By default, Ubuntu waits first 20 seconds, then 40, then finally 60 seconds before abandoning waiting on all devices to acquire an IP address, for the two-minute total mentioned earlier. You can change these times by calling the dhclient timeout utility::
sudo E20-dhclient-setargs --boot-time 10 15 20
This should be reflected in the next reboot.

Additionally, you can reduce the DHCP client retry and timeout times:
sudo E20-dhclient-setargs --timeout 30 --retry 180
After changing this setting, the DHCP client will try for 30 seconds before going to sleep for three minutes and trying again.

If you have an exceptionally slow DHCP server and can tolerate booting before the device receives its IP address, you can set your boot time arguments low and then set a long timeout value with whatever retry parameter suits your needs. It is important that your timeout parameter is long enough to catch the response from your DHCP server before it goes to sleep.