Failure to set static ip on beaglebone

I've modified /etc/network/interfaces on my beaglebone to set a static
ip address on eth0 (file contents below).

When I reboot the bone, it still uses dhcp so set the address for
eth0. If I then ssh in and run /etc/init.d/networking restart, eth0
comes up at the correct (static) address.

What should I do to ensure a static ip address on rebooting?

Romilly

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback

# Wireless interfaces
iface wlan0 inet dhcp
  wireless_mode managed
  wireless_essid any
  wpa-driver wext
  wpa-conf /etc/wpa_supplicant.conf

iface atml0 inet dhcp

# Wired or wireless interfaces
auto eth0
iface eth0 inet static
  address 192.168.250.5
        network 192.168.0.0
        netmask 255.255.0.0
        gateway 192.168.1.254
iface eth1 inet dhcp

# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
  address 192.168.7.2
  netmask 255.255.255.0
  network 192.168.7.0
  gateway 192.168.7.1

# Bluetooth networking
iface bnep0 inet dhcp

Having the exact same issue with an A3 Beaglebone. It just seems to
ignore /etc/network/interfaces. What's worse is when it gets an
address via DHCP it can't route for some reason (routing tables seems
OK).

After a manual reconfig to a static IP I'm able to run opkg update/
upgrade. If that helps I'll let you know.

- James

I had the same problem with the 11-16-11 image that came with it.
There was another file /etc/network/interfaces-opkg that it was using
and when I changed that one it worked. I don't understand why.

So I gave up and added a startup script that reconfigs the network and
fixes resolv.conf

in /etc/init.d create a script called fixnetwork

Contents of fixnetwork script:

#!/bin/sh
/etc/init.d/networking restart
cp /etc/resolv.ok /etc/resolv.conf

then make it executable:
chmod +x fixnetwork

add it to the startup:
update-rc.d fixnetwork defaults

Then create a /etc/resolv.conf that contains your nameserver settings

This is ugly but it should work until whatever is causing this problem
gets fixed.

- James

It's the connman daemon overriding things

http://connman.net/

its a very clever piece of software but maybe too clever :slight_smile:

you can disable it from /etc/init.d or try to configure it based on the url above.

Ewan