WiFi on HPE Edgeline EL300 with Ubuntu 18.04

WiFi on HPE Edgeline EL300 with Ubuntu 18.04

This is the first of two posts discussing the use of wireless technologies with HPE’s Edgeline EL300 Converged Edge System. This post is less EL300-specific and more about enabling wireless in Ubuntu server, while the second post is more specific to the EL300 yet general enough to apply to many WWAN-enabled systems.

  • WiFi on HPE EL300 with Ubuntu 18.04
  • WWAN (LTE) on HPE EL300 with Ubuntu 18.04 and Sierra Wireless EM7565

Late last year, HPE came to market with new technology for the digital transformation of Operational Technology (OT) environments. Part of this release includes a new alternative form factor for an edge compute node, namely the EL300. This device is a ruggedized, fanless system for adverse condition environments, and is capable of employing a number of unique features with respect to traditional systems like:

  • 4G/5G Connectivity
  • Bluetooth Connectivity
  • Modules for:
    • CANbus
    • MODBUS
    • Time-Sensitive Networking (TSN)
    • General Purpose I/O (GPIO)

There are a couple of links to EL300 information in the references section at the bottom of the page for more information.

We employed the EL300 for use in one of our customer’s OT environments to do video inferencing at the edge. The software stack that I needed to run on this box was best supported by running Ubuntu 18.04 Server, which HPE doesn’t officially support, so this activity was a bit of off-roading. But being Ubuntu, this post should apply to many systems.

WiFi configuration

Something I didn’t expect to have an issue with when starting this project was WiFi configuration. As it turns out, Ubuntu 18.04 utilizes netplan for network configuration, which doesn’t do well with wireless technologies, for which NetworkManager is the better solution. That sounds pretty easy, replace netplan with NetworkManager. But the actual solution is to have both network configuration technologies installed side-by-side and divvy up the interfaces so that netplan controls the wired interfaces and NetworkManager controls the wireless ones.

Let’s jump in…

First, let’s cover how Ubuntu splits the wireless technologies between netplan a NetworkManager. The file /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf is used to give up NetworkManager’s control of interfaces.

[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan

You’ll notice that by default all devices are unmanaged, except for wifi and wwan, which makes some sense for a server operating system since wireless technologies are less used in datacenters.

Now, to config, we need to install and start NetworkManager, since it’s not installed by default:

# sudo apt-get install network-manager
# sudo systemctl start NetworkManager.service
# sudo systemctl status NetworkManager.service

Next, let’s poke around NetworkManager with the cli tools:

# sudo nmcli general
STATE         CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
disconnected  unknown       enabled  enabled  enabled  enabled

# sudo nmcli radio
WIFI-HW  WIFI     WWAN-HW  WWAN
enabled  enabled  enabled  enabled

# sudo nmcli device show
GENERAL.DEVICE:                         wlp6s0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         D4:3B:04:D8:53:EC
GENERAL.MTU:                            1500
GENERAL.STATE:                          30 (disconnected)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
...

From that last command, you should be able to determine your WiFi device name from the entry that has a GENERAL.TYPE of “wifi”. Mine turned out to be wlp6s0, so replace it in the following commands as necessary. Now let’s create a configuration for that device:

# sudo nmcli con add con-name <config name> ifname wlp6s0 type wifi ssid <ssid>
# sudo nmcli con mod <config name> wifi-sec.key-mgmt wpa-psk
# sudo nmcli con mod <config name> wifi-sec.psk <password>
# sudo nmcli con mod <config name> ipv4.method manual ipv4.address <address>/<mask> [ipv4.dns <server1>,<server2>] ipv4.gateway <gateway>
# sudo nmcli con mod <config name> wifi.powersave disable
# sudo nmcli con sho
NAME          UUID                                  TYPE  DEVICE
<config name> 523ee645-1872-43c6-8830-f34c1a35ef01  wifi  --

All that configuration information winds up in /etc/NetworkManager/system-connections/<config name>.

To bring the connection up:

# sudo nmcli connection up <config name>
# sudo nmcli device wifi
IN-USE  SSID                             MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
*       <ssid>                           Infra  11    195 Mbit/s  68      ▂▄▆_  WPA2

# sudo nmcli con sho
NAME          UUID                                  TYPE  DEVICE
<config name> 523ee645-1872-43c6-8830-f34c1a35ef01  wifi  wlp6s0

For more info, take a look at the nmcli man page linked below.

And that’s about all there is to it. Interested in WWAN connections? If so, check back soon for my next post.

If you have any questions or feedback, I’d love to hear from you. Just jump into Discourse via the link below and let me know your thoughts.

Until next time, cheers!

References:

WiFi on HPE EL300, CB Technologies, CBT, CTO, Steve Jordahl, Ubuntu

Let's Innovate Together

Just ask us how we can make a difference for you today.