Wireless Networking

Configure Wi-Fi

Note

Before attempting to use Wi-Fi, ensure that the Wi-Fi/Bluetooth switch is set to the ON position on the board.

If the module is not loaded by default, check the /etc/modprobe.d/librem5-devkit.conf file to see if it contains this line:

blacklist rsi_sdio

If this line is present, removing it will enable Wi-Fi to be enabled automatically the next time the system is started.

You can also load the relevant module by hand:

modprobe rsi_sdio

With the module loaded you can configure the network interface.

Configure with nmtui

In a console, run nmtui to access the textual user interface to Network Manager. Choose the option to activate a connection then choose your WiFi network. The list may initially be empty because it sometimes takes 15 seconds after loading the module to populate it with available networks.

Configure with nmcli

If you know which network you want to connect to, you can just use nmcli directly:

nmcli device wifi rescan
nmcli device wifi list
nmcli device wifi connect SSID-Name password wireless-password

If you have your Ethernet cable plugged in, you should automatically get a DHCP address on eth0. Alternatively, you can bring up the wireless interface with a DHCP address using Network Manager by running the text user interface from the command line:

purism@pureos:~$ nmtui
  1. Select “Edit a Connection”. Hit enter.

  2. Arrow over to “Add”. Hit enter.

  3. Arrow down to “Wi-Fi”. Hit enter.

  4. Wifi settings:

    • Change the name if you’d like

    • Arrow down to SSID and enter your wifi network name.

    • Change the “Security” from “<none>” to the correct wifi security type (“WPA & WPA2 Personal” is most common) and enter your wifi network password on the field below.

    • Arrow down to “OK” and hit enter.

  5. Now you are on the screen with the list of your network connections where you should now see your wifi connection listed. Arrow to “Back” and hit enter.

  6. Arrow down to “Activate a Connection”. Hit enter.

  7. Select your wifi connection and then arrow over to “Activate” and hit enter. You should see a pop-up that says “Connecting” and when that pop-up goes away, your connection should be active. Arrow down to “Back” and hit enter.

  8. Arrow down to “Quit” and hit enter.

  9. Now, back at the command prompt, running ip addr should show that your wlan0 interface has a DHCP address and your packets should be able to reach the outside world.

purism@pureos:~$ ip addr
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: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:19:b8:03:1c:ce brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
5: wwan0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/none
6: wwan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0a:76:88:94:6b:e5 brd ff:ff:ff:ff:ff:ff
7: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 50:65:83:1b:16:70 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.191/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
       valid_lft 3068649028sec preferred_lft 3068649028sec
    inet6 2601:281:c601:6dff:1e66:701c:25cc:7221/64 scope global dynamic noprefixroute
       valid_lft 3068649028sec preferred_lft 3068649028sec
    inet6 fe80::7231:a831:5341:6968/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

purism@pureos:~$ ping puri.sm
PING puri.sm (138.201.183.172) 56(84) bytes of data.
64 bytes from web.puri.sm (138.201.183.172): icmp_seq=1 ttl=46 time=154 ms
64 bytes from web.puri.sm (138.201.183.172): icmp_seq=2 ttl=46 time=165 ms
64 bytes from web.puri.sm (138.201.183.172): icmp_seq=3 ttl=46 time=161 ms
^C
--- puri.sm ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 154.192/160.226/165.224/4.586 ms