Freedom Fone

Networking

Network card is not recognised after hibernation

This is a bug in Ubuntu. Your interface names such as eth0 are assigned to a physical interface, specifically the MAC address of that interface. When you hibernate and then try to restart, the system tries to assign a new MAC address to your NIC. So when your MAC address changes the system thinks it’s a new network card and assigns the next free name, lets say eth1.

However your network configuration file is still referring to the old name eth0. So basically you end up trying to apply configuration to a NIC that doesn’t exist, while there is a new NIC with no configuration. Basically no more network…

So how do you fix it?

Make a backup of the 70-persistent-net.rules file:

sudo cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-backup 

Now when you have done a backup remove the file

sudo rm /etc/udev/rules.d/70-persistent-net.rules 
Reboot the machine
reboot 

So basically that just deleted all of the old MAC address to name (eth0) mappings, so when the system boots these should be correctly created again.

Network card is not recognised on new installation

Not all Network cards have drivers which are supported by Ubuntu. It may happen that after installing your Freedom Fone on a computer, you find that the Ethernet card does not appear when you issue the ifconfig command. The solution to this can be to change the Ethernet card. When choosing a network card to replace, try and get something that is not the latest, as usually Ubuntu takes time to update its driver database.

If you don't have another network card, you can connect a USB GSM modem to the computer or laptop and connect to the Internet and then follow the instructions below. If you don't have the USB modem, you will have to do this on another computer with Internet connectivity and then transfer the files you would have downloaded.

Instructions

To download, compile and install the driver, first go to http://linuxwireless.org/download/compat-wireless-2.6 and download the file named compat-wireless-2.6.tar.bz2 (you can't download it in the terminal because of anti-hotlinking). Save it to your desktop. Then run these commands in a command terminal:

sudo apt-get update
sudo apt-get install build-essential
cd ~/Desktop
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless-2.6.39-1/drivers/net/atl1c
make
sudo make install 

Then reboot. Hopefully your Ethernet will work automatically after reboot; if not, run:

sudo modprobe atl1c

to insert the driver.

NB: Although the drivers are included in the compat-wireless stack they are actually drivers for an ethernet card not the wireless card. In the example I chose the compat-wireless-2.6.39-1.tar.bz2 because it is the latest stable release for the kernel I am using. Whenever you look for drivers in future, choose the latest stable release for the kernel you are running on. To check the kernel version issue the command uname -r on the command terminal.

Setting network alias permanently

Freedom Fone sets the network alias on eth0:0 at boot time via the /etc/rc.local script. This setting is not permanent and is set each time you boot up. If for some reason the networking is not enabled when you boot up the alias cannot be set. This presents a challenge since Freedom Fone uses this alias to communicate with the OfficeRoute. In such a scenario, in order to get Freedom Fone working you will have to enable networking and reboot the machine.

To avert having to reboot the machine every time you forget to enable networking before rebooting, make the following additions to the /etc/network/interfaces file (click on the Terminal icon in the centre of the Title bar on your Freedom Fone desktop).

Instructions

sudo gedit /etc/network/interfaces

Append the following configuration:

auto eth0:0
iface eth0:0 inet static
name Ethernet alias LAN card
address 192.168.1.250
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

Save the file and restart the network with the following command:

sudo /etc/init.d/networking restart 

From now on, if the eth0:0 does not appear after boot because networking has been disabled, you will simply enable networking by right clicking on the wireless network icon at the top task bar, and then issue the command above for restarting the network.