- Static IP Address
- 1 Using ConnMan
- 1.1 Configuring wired interfaces
- 1.2 Configuring wireless interfaces
- 1.2.1 Connecting to an open network
- 1.2.2 Connecting to a protected network
- 1.2.3 Configuring Static IP
- 2 Using NetworkManager
- 2.1 Configuring wired interfaces
- 2.2 Configuring wireless interfaces
- 2.2.1 Configuring static IP
- 3 Using /etc/network/interfaces
- 3.1 Interaction with ConnMan
- 3.2 Interaction with NetworkManager
- How to set static IP address for wi-fi connection?
- Assign static IP for wifi, Ubuntu 16.04
Static IP Address
It is sometimes desirable to provide static IP configuration for network interface instead of relying on DHCP. Below we describe several methods of doing that.
1 Using ConnMan
ConnMan is the default Yocto network manager. Network manager is a program for providing detection and configuration for systems to automatically connect to network. In the examples below we demonstrate how ConnMan command line tool, connmanctl, can be used create static IP configuration.
1.1 Configuring wired interfaces
To get the list of wired interfaces run
# connmanctl services *AO Wired ethernet_0eb31468dcc9_cable
Wired interfaces will be shown as ethernet__cable. Only interfaces physically connected to the network are displayed.
To create static IP configuration run
# connmanctl config —ipv4 manual # connmanctl config —nameservers
# connmanctl config ethernet_0eb31468dcc9_cable --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254 # connmanctl config ethernet_0eb31468dcc9_cable --nameservers 8.8.8.8 4.4.4.4
The configuration will be saved in /var/lib/connman/ethernet_0eb31468dcc9_cable/settings.
1.2 Configuring wireless interfaces
To check if wifi is enabled run
and check for the line that says Powered: True/False.
To scan the network connmanctl accepts simple names called technologies. To scan for nearby wifi networks:
To list the available networks found after a scan run (example output):
MyNetwork wifi_dc85de828967_68756773616d_managed_psk OtherNET wifi_dc85de828967_38303944616e69656c73_managed_psk AnotherOne wifi_dc85de828967_3257495245363836_managed_wep FourthNetwork wifi_dc85de828967_4d7572706879_managed_wep AnOpenNetwork wifi_dc85de828967_4d6568657272696e_managed_none
Every wifi network is identified by a name composed as
1.2.1 Connecting to an open network
To connect to an open network, look for wifi networks ending with _managed_none:
# connmanctl connect wifi_dc85de828967_4d6568657272696e_managed_none
You should now be connected to the network. Check using ip addr or run
1.2.2 Connecting to a protected network
Start connmanctl in interactive mode by running
Now you need to register the agent to handle user requests. The command is:
You now need to connect to one of the protected services.
To do this easily, just use tab completion for the wifi_ service.
If you were connecting to OtherNET in the example above you would type:
connmanctl> connect wifi_dc85de828967_38303944616e69656c73_managed_psk
The agent will then ask you to provide any information the daemon needs to complete the connection.
The information requested will vary depending on the type of network you are connecting to.
The agent will also print additional data about the information it needs as shown in the example below.
Agent RequestInput wifi_dc85de828967_38303944616e69656c73_managed_psk Passphrase = [ Type=psk, Requirement=mandatory ] Passphrase?
Provide the information requested, in this example the passphrase, and then type:
If the information you provided is correct you should now be connected to the protected access point.
1.2.3 Configuring Static IP
To create static IP configuration run
# connmanctl config —ipv4 manual # connmanctl config —nameservers
# connmanctl config wifi_dc85de828967_38303944616e69656c73_managed_psk --ipv4 manual 192.168.1.100 255.255.255.0 192.168.1.254 # connmanctl config wifi_dc85de828967_38303944616e69656c73_managed_psk --nameservers 8.8.8.8 4.4.4.4
The configuration will be saved in /var/lib/connman/wifi_dc85de828967_38303944616e69656c73_managed_psk/settings.
2 Using NetworkManager
NetworkManager is an alternative network manager that can be used instead of ConnMann. Both network managers cannot coexist in the same Yocto image, so enabling NetworkManager requires disabling ConnMan and rebuilding the image.
In the examples below we use NetworkManager command line tool, nmcli, to create static configurations.
2.1 Configuring wired interfaces
To create static IP configuration run
# nmcli con add type ethernet ifname con-name ip4 gw4 # nmcli con mod static-eth0 ipv4.dns «,» # nmcli con up
For example, to create configuration for eth0 run
# nmcli con add type ethernet ifname eth0 con-name static-eth0 ip4 192.168.1.100/24 gw4 192.168.1.254 # nmcli con mod static-eth0 ipv4.dns "8.8.8.8,4.4.4.4" # nmcli con up static-eth0
The configuration will be saved in /etc/NetworkManager/system-connections/static-eth0.
2.2 Configuring wireless interfaces
To check if WIFI is enabled by NetworkManager run
and check the GENERAL.STATE line. If WIFI is enabled, the state is either connected or disconnected. If WIFI is disabled the state is unavailable.
or if you need to disable it you can run
If WIFI is enabled you can get the list of available APs by running
SSID MODE CHAN RATE SIGNAL BARS SECURITY MyNetwork Infra 149 54 Mbit/s 100 **** WPA1 WPA2 OtherNetwork Infra 11 54 Mbit/s 75 *** WPA2 AnotherNetwork Infra 6 54 Mbit/s 75 *** WPA2 FourthNetwork Infra 64 54 Mbit/s 60 *** WPA2 OpenNetwork Infra 3 54 Mbit/s 37 ** --
To connect to an open WIFI network run
To connect to a protected WIFI network run
# nmcli dev wifi connect password
To check connection status run
2.2.1 Configuring static IP
By default WIFI connection will use DHCP. To switch to static IP configuration run the following commands:
# nmcli con mod ipv4.method manual ipv4.addr / ipv4.gateway ipv4.dns «,» # nmcli con down # nmcli con up
# nmcli con mod MyNetwork ipv4.method manual ipv4.addr "192.168.1.100/24" ipv4.gateway 192.168.1.254 ipv4.dns "8.8.8.8,4.4.4.4" # nmcli con down MyNetwork # nmcli con up MyNetwork
The configuration will be saved in /etc/NetworkManager/system-connections/.
3 Using /etc/network/interfaces
This is a legacy method with various limitations and we do not recommend using it, especially in combination with network managers. The configuration file /etc/network/interfaces is used by ifup and ifdown tools to perform network interface configuration. In the SystemV init setup ifup and ifdown are invoked by /etc/init.d/networking boot script. In systemd setup /etc/init.d/networking is not available and you should create your own systemd service file that invokes «ifup -a» on startup and «ifdown -a» at shutdown.
If you configure all network interfaces via /etc/network/interfaces, it is better to completely disable the network manager service.
The example below configures eth0
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.254 dns-nameservers 8.8.8.8 4.4.4.4 dns-search foo.org bar.com
The DNS settings in /etc/network/interfaces rely on the availability of /sbin/resolvconf tool to update /etc/resolv.conf configuration file. If /sbin/resolvconf is not present, rebuild Yocto image after adding the following line to conf/local.conf
IMAGE_INSTALL_append = " resolvconf"
Configuring WIFI via /etc/network/interfaces is not recommended.
3.1 Interaction with ConnMan
ConnMan will override the settings in /etc/network/interfaces unless configured to ignore relevant interfaces. For example, after configuring eth0 and eth1 in /etc/network/interfaces, you should create /etc/connman/main.conf and add the following:
[General] NetworkInterfaceBlacklist=eth0,eth1
ConnMan will also override the contents of /etc/resolv.conf as it includes its own DNS proxy. To prevent that, start ConnMan with the options «-r» or «—nodnsproxy»
3.2 Interaction with NetworkManager
NetworkManager may override the contents of /etc/resolv.conf. To prevent that, create /etc/NetworkManager/NetworkManager.conf and add the following:
How to set static IP address for wi-fi connection?
If you’re not sure what your settings are, and assuming you’re using Windows:
- Open a command prompt by clicking Start , then Run
- Type in cmd and hit Enter
- Type the line ipconfig -all and hit Enter , the relevant details should be listed there.
Just make sure you use a different number for IP address on your phone than is shown on your PC!
A great app called WiFi Static that automatically switches between static and dynamic addressing dependent on the wireless network you connect to
If you control the network, you may be able to configure your DHCP server to always assign the same IP for your phone’s MAC address. This has the advantage of working even if you (for example) do a factory reset of the phone, or otherwise revert the wifi settings.
My Linksys E2000 router supports this via a button labelled «DHCP Reservation» on the Basic setup screen, and any host-based DHCP server would allow this as well.
This is what I do, and is a better solution than setting the IP to static on your phone if you plan on connecting to more than one network. If your router doesn’t show connected devices, you can find your phone’s MAC address at Settings->About Phone->Status and then scrolling down to «Wi-Fi MAC address» to enter it manually.
Thanks, this (the MAC address — IP address link on the DHCP server) is also a a solution to my recent question: android.stackexchange.com/questions/232197/…
Assign static IP for wifi, Ubuntu 16.04
I know there are lots of similar questions, and lots of answers. I’ve tried at least a dozen things and can’t get it to work. I have a new laptop. I want to assign a static IP address over WiFi. Each time I try and then restart the network-manager, it fails to connect. Sometimes I manage to find settings that make it look like it’s connected, but isn’t. In case it’s of any use, my router is a Virgin Superhub 2. Results of ifconfig (after restarting the network-manager without attempting a static IP):
wlp2s0 Link encap:Ethernet HWaddr b8:8a:60:e0:3f:08 inet addr:192.168.0.41 Bcast:192.168.0.255 Mask:255.255.255.0
# interfaces(5) file used by ifup(8) and ifdown(8) auto wlp2s0 iface wlp2s0 inet static address 192.168.0.16 netmask 255.255.255.0 gateway 192.168.0.255
Sorry it’s a dup, but none of the answers I’ve found work. Many thanks for any help you can provide. Update:
$ sudo ifdown wlp2s0 && sudo ifup -v wlp2s0 [sudo] password for harry: ifdown: interface wlp2s0 not configured Configuring interface wlp2s0=wlp2s0 (inet) /bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/ethtool run-parts: executing /etc/network/if-pre-up.d/wireless-tools run-parts: executing /etc/network/if-pre-up.d/wpasupplicant wpa_supplicant: wpa-driver nl80211,wext (default) wpa_supplicant: /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlp2s0.pid -i wlp2s0 -D nl80211,wext -C /run/wpa_supplicant Starting /sbin/wpa_supplicant. wpa_supplicant: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlp2s0.pid wpa_supplicant: ctrl_interface socket located at /run/wpa_supplicant/wlp2s0 wpa_supplicant: configuring network block -- 0 wpa_supplicant: wpa-ssid "Tolstoy" -- OK wpa_supplicant: wpa-psk ***** -- OK wpa_supplicant: enabling network block 0 -- OK /bin/ip addr add 192.168.0.41/255.255.255.0 broadcast 192.168.0.255 dev wlp2s0 label wlp2s0 /bin/ip link set dev wlp2s0 up /bin/ip route add default via 192.168.0.1 dev wlp2s0 onlink /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d run-parts: executing /etc/network/if-up.d/000resolvconf run-parts: executing /etc/network/if-up.d/avahi-autoipd run-parts: executing /etc/network/if-up.d/avahi-daemon run-parts: executing /etc/network/if-up.d/ethtool run-parts: executing /etc/network/if-up.d/upstart run-parts: executing /etc/network/if-up.d/wpasupplicant
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:39023 errors:0 dropped:0 overruns:0 frame:0 TX packets:39023 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:2460682 (2.4 MB) TX bytes:2460682 (2.4 MB) wlp2s0 Link encap:Ethernet HWaddr b8:8a:60:e0:3f:08 inet addr:192.168.0.41 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:24074 errors:0 dropped:0 overruns:0 frame:0 TX packets:6655 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6886053 (6.8 MB) TX bytes:1333918 (1.3 MB)