DEV Community

Joe Neville
Joe Neville

Posted on • Updated on

Configure Ubuntu WiFi Adapter with Netplan

๐Ÿ‘‰ Here's a short explanation of how to configure an Ubuntu machine to join a wireless network, with Netplan.
๐Ÿ‘‰ This is for a wireless network with WPA2 Personal authentication (you need a password).
๐Ÿ‘‰ My test machine is running Ubuntu desktop 21.04.

1. Gather Required Details

  1. Get the wireless network details.
    This is WPA2 Personal, you're going to need the usual details:

    • SSID
    • Wireless network password
  2. Get your Ubuntu machine's wireless adapter name.
    You can use ip link or ip add for this.

    joe@ub1:~$ ip add
    ...
    3: wlx18d6c7116805: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    

In this example, my adapter is wlx18d6c7116805.

2. Compose the Netplan file

  1. Create a netplan yaml file in the /etc/netplan directory.
  • In this example my file is called mynet1.yaml.
  • Configure the wireless adapter details under wifis.
  • The SSID for your wireless network (the name of the network) is configured under access-points.
  • Record the wireless network password under the SSID.
  • Make sure to configure any other networking adapters that you require as well, see my previous blog for examples of wired networks here.

Example

network:
  ethernets:
    eno1:
      addresses:
        - 10.150.15.25/24
  wifis:
    wlx18d6c7116805:
      dhcp4: yes
      dhcp6: yes
      access-points:
        "IDontLikeSand15":
          password: "Supersecure123"
  version: 2
  renderer: NetworkManager
Enter fullscreen mode Exit fullscreen mode

Example notes

  • The wired ethernet adapter eno1 is configured with a static IPv4 address.
  • The wireless adapter wlx18d6c7116805 is configured for DHCPv4 and DHCPv6 address allocation.
  • The SSID is IDontLikeSand15 with a password of Supersecure123.

3. Apply the Netplan file

Run the command netplan apply <your-netplan-file-name>.

4. Verify

  • Use the command iwconfig to check the wireless adapter state.
  • Use ip add to view all your network adapter.
$ iwconfig
lo        no wireless extensions.

eno1      no wireless extensions.

wlx18d6c7116805  IEEE 802.11bgn  ESSID:"IDontLikeSand15"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.412 GHz  Access Point: 24:F2:7F:D1:89:81
          Bit Rate:72.2 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=100/100  Signal level=100/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

$ ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:65:f3:2f:c9:a1 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 10.150.15.25/24 brd 10.150.15.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 2001:db8:15:0:5265:f3ff:fe2f:c9a1/64 scope global dynamic mngtmpaddr
       valid_lft 2591913sec preferred_lft 604713sec
    inet6 fe80::5265:f3ff:fe2f:c9a1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: wlx18d6c7116805: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 18:d6:c7:11:68:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.15.74/24 brd 192.168.15.255 scope link noprefixroute wlx18d6c7116805
       valid_lft forever preferred_lft forever
    inet6 2001:db8:15:0:a402:f49a:d7be:5049/64 scope global temporary dynamic
       valid_lft 599939sec preferred_lft 81131sec
    inet6 2001:db8:15:0:1ad6:c7ff:fe11:6805/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 2591914sec preferred_lft 604714sec
    inet6 fe80::1ad6:c7ff:fe11:6805/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
Enter fullscreen mode Exit fullscreen mode

Discussion (0)