Ubuntu Linux Network Configuration
From MobileRobots Research and Academic Customer Support
Note: This article describes a default robot installation. If you have reinstalled Linux, they may not work in every case. See OS-specific help here, elsewhere on the internet, or contact support.
Consult your network administrator for details on what the settings should be for your network. The key settings are wireless network ESSID and key (for the wireless interface), and DHCP (dynamic) or static address, and if static, then the IP address, gateway and network. You can also switch between managed (access point) mode and ad-hoc (peer-to-peer) mode.
Default Factory Configuration
The default configuration for new robots is as follows:
- external wired ethernet: Static IP address 10.0.125.32.
- internal wired ethernet: Static IP address 192.168.0.32.
- wireless ethernet: Managed (not ad-hoc) with access point ESSID "Wireless Network", Static IP address 10.0.126.32.
- The interfaces have "static" (manually assigned) information -- DHCP (automatic assignment) is not enabled for any interface.
If you also purchased a wireless access point from MobileRobots, then these default settings will work with that access point.
If you are planning on using the robot on existing network(s), you will need to change these settings.
It is recommended that you keep the internal wired ethernet address set to 192.168.0.32, since this subnet is required to communicate with ethernet devices such as ethernet cameras, laser rangefinders, etc. You may need to change some settings for wireless networking if you are using your own wifi access point, but a static IP address is recommended so that the onboard computer is easier to access remotely later via ssh, Remote Desktop, MobileEyes, etc. You may wish to change the external ("maintainence") wired interface to DHCP to make it easier to connect to the internet for software upgrades and installation, or use a static address if you wish to easily access it remotely as well.
Official Ubuntu documentation about networking on Ubuntu 12.04 is available at http://help.ubuntu.com/12.04/ubuntu-help.
Official Ubuntu documentation about networking on Ubuntu 16.04 is available at http://help.ubuntu.com/16.04/ubuntu-help.-
Ubuntu uses a system called Network Manager to manage network settings.
If you connect a monitor, keyboard and mouse to the robot, you can use the Ubuntu GUI to configure Network Manager. Network state is indicated by an icon on the right side of the menu bar at the top of the screen. (It will show a wifi icon if connected to a wireless network, or two arrows if connected to a wired lan).
To connect to a wireless network, click on the wifi icon and select your wifi network from the menu.
To adjust settings of the wireless and wired connections, such as IP address, choose "Edit Connections..." from the menu. Select the wired interface or wireless network to configure and click the "Edit..." button. To set a manual IP address and other settings, or to enable automatic configuration using DHCP, select the "IPV4 Settings" tab.
Wired connections in Ubuntu 16.04 installations made on onboard computers by MobileRobots have been given custom names indicating which robot port they correspond to. If you have reinstalled Ubuntu, they will be named "Wired connection 1" or "Wired connection 2" or "Ethernet connection 1" or similar. On Ubuntu 12.04 installations, the wired ethernet connections will be named "Wired connection 1" (eth0) and "Wired connection 2" (eth1).
If an network connection entry for one of the computer's ethernet interfaces is missing from Network Manager choose "Edit Connections...", add it, and select the appropriate interface device name (see below).
Network Manager has a command-line tool called nmcli that can be used to perform some of the same configuration actions as the GUI tool. Network Manager can also be configured from custom scripts and programs via DBUS as well. See man nmcli, nmcli online documentation, and nmcli-examples for details.
The ifconfig, ip, ethtool and iwconfig (or /sbin/ifconfig and /sbin/iwconfig) commands can be used to check the current status of the interfaces, and to temporarily change settings. For more information about these commands, consult their manual pages:
man ifconfig man iwconfig man ip man ethtool
The /etc/network/interfaces file is not normally used on Ubuntu when using Network Manager. If an entry is added to /etc/network/interfaces then it will override Network Manager and the Network Manager tools described above can't be used to manage that interface.
Network Interface Device Names
Each networking interface has a device name assigned by Linux, used internally by Linux and by command line tools such as ifconfig, iwconfig, etc.
Ubuntu 12.04: Prior to Ubuntu 15.10, the first Ethernet interface (external ports on most robots, "User LAN" on the Pioneer LX) is called eth0. The computer's second ethernet interface (External "Maint. LAN" on Pioneer LX) that interface will be called eth1. The 802.11 wireless connection is called wlan0.
Ubuntu 16.04: After Ubuntu 15.10, systemd and udev assign "predictible" network interface names based on the specific Ethernet device, its driver, and how it's connected to the computer. On a Corvalent Q87IX Onboard Computer running Ubuntu 16.04, the first ethernet device (external port) will be eno1 and the secondary port (internal accessory device port) will be enp3s0. The wifi interface will be wlp2s0. On the Pioneer LX Embedded Computer running Ubuntu 16.04, the "User LAN" port will be named ??? TBD and the "Maint LAN" port will be named ??? TBD. The wifi interface on Pioneer LX will be ?? TBD. On other computers, the ports will be named differently. If you wish to assign different names, you can add network link configuration files to systemd.
Bridging LAN to Wifi
It is possible to bridge the computer's LAN connections to other computers through its wifi interface, allowing computers to access the additional computers through wifi. See Bridging LAN to Wifi on Linux