Nowadays everything and anything are connected using Internet Protocols: TCP, UDP, RTP, ARP, IGMP... the list goes on and on. However, embedded systems are frequently island systems, that are not connected to the usual support services such as DHCP and DNS. IP addresses are static and there are no gateways to other nets.
In order to communicate on a net, your machine needs at least two things to be configured: IP Address and Subnet Mask, but before you can set it, you first have to disable the NetworkManager auto-configuration utility, since in an embedded system, it is more of a hindrance than a help.
Each time you unplug a cable or power down the device your laptop computer is connected to, Network Manager tends to forget the IP settings and when you replug it, you got to set everything up all over again. This gets annoying super quick.
# service NetworkManager stop
or
# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service
or
# killall NetworkManager
There Is More Than One Way To Do It (TIMTOWDI).
Island Networks
When you plug an office laptop computer into a typical embedded net, nothing happens, your machine remains unconfigured and you cannot access anything. Testing and debugging a modern system therefore requires a little bit of advanced networking knowledge.In order to communicate on a net, your machine needs at least two things to be configured: IP Address and Subnet Mask, but before you can set it, you first have to disable the NetworkManager auto-configuration utility, since in an embedded system, it is more of a hindrance than a help.
Each time you unplug a cable or power down the device your laptop computer is connected to, Network Manager tends to forget the IP settings and when you replug it, you got to set everything up all over again. This gets annoying super quick.
Network Manager
To save your sanity, disable NetworkManager with one of these commands:# service NetworkManager stop
or
# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service
or
# killall NetworkManager
Network Settings
Once NetworkManager is truly dead, see what the available network devices are:
# ifconfig
or
# ip link show
Now you can set a static address and be assured that it will stick:
# ifconfig em1 192.168.111.1 netmask 255.255.255.0 up
or
# ip addr add 192.168.111.1/24 dev em1
# ip link set em1 up
There Is More Than One Way To Do It (TIMTOWDI).
Going back to Normal
When you need to check you email or do a search for information and you need to plug the machine back into a wall socket, you got to restart the network, or just restart Network Manager.
# systemctl restart network.service
or
# systemctl restart NetworkManager.service
Happy debugging!
Comments
Post a Comment
On topic comments are welcome. Junk will be deleted.