Do you encounter any problems? It seems iwd
won’t survive the cut for Ubuntu Kinetic Kudu.
My Kinetic systems installed iwd when I ran updates earlier this week. A day or two later it was automatically removed, but I had an issue while it was installed.
I connect them to a WPA Enterprise network eduroam, which is used by many universities worldwide. With iwd installed, I could not connect to this network. There was no (graphical) error, it just never connected and I could not re-add the network after removing it. I see on e.g. the Arch wiki that iwd does support WPA Enterprise, but by creating a config file, not through the GUI. This would be a severe regression to switch to iwd with this limitation!
have you filed a bug on launchpad ? the people that were working on trying to get iwd in are surely interested in any issues to fix them for next cycle (AIUI the plan is still to get iwd to replace wpa-supplicant before the next LTS)
I did, but I closed it when iwd was removed again. But I will reopen it now.
Hi Folks.
I just upgraded to Ubuntu 22.04 and I see that my update repos for iwd are irrelevant to the new version and switched off.
I see no repo beyond Ubuntu 21.04 here
So what is the prognosis for the repos ?
iwd service running fine since I upgraded to 22.04 (Jammy Jellyfish).
@tamjk I think you can just install iwd from the Ubuntu repos on jammy and newer.
https://ppa.launchpadcontent.net/slyon/iwd+nm/ubuntu jammy main ?
Anyone tested with netplan yet? I assume if iwd fully replaces wpa_supplicant, netplan should be able to configure WiFi network connections using iwd as the backend.
I’ve done some testing in our own environment. Here’s an overview of our setup in case someone is using a similar config:
- Netplan configuration for 802.1x wired and WiFi networks
- NetworkManager as the backend
- Machine certificates for authentication
- Test device running Ubuntu 22.04 LTS
Now onto the testing…
After switching to iwd, I tested by simply trying to bring up the authenticated WiFi network, but it failed claiming the connection is ‘Not configured’.
I checked under /var/lib/iwd
but there was no provisioning files for the connections. I removed the connections via nmcli, then ran netplan apply
to regenerate the connection, hoping the provisioning files would also be created, but they still aren’t created automatically.
Finally, I ran touch /var/lib/iwd/test.8021x
to create the provisioning file, and when I open the file, it is automatically populated with the correct settings and has the following banner:
# Auto-generated from NetworkManager connection “netplan-test”
# Changes to that connection overwrite this file when enabled by NM’s [main].iwd-config-path value
[Security]
EAP-Method=TLS
EAP-Identity=laptop.example.com
EAP-TLS-CACert=/etc/ssl/certs/ca-certificates.crt
EAP-TLS-ClientCert=/etc/puppetlabs/puppet/ssl/certs/ubu20-l-187ccedc08.example.com.pem
EAP-TLS-ClientKey=/etc/puppetlabs/puppet/ssl/private_keys/ubu20-l-187ccedc08.example.com.pem
EAP-TLS-ClientKeyPassphrase=null
Now when I bring up the WiFi network, I get the following error from nmcli:
Error: Connection activation failed: 802.1X supplicant failed
Hint: use ‘journalctl -xe NM_CONNECTION=980b8faf-f10b-3956-8d29-a77739cd7343 + NM_DEVICE=wlan0’ to get more details.
journalct shows:
Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <info> [1667207258.8883] device (wlan0): Activation: starting connection 'netplan-test' (980b8faf-f10b-3956-8d29-a77739cd7343) Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <info> [1667207258.8952] device (wlan0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed') Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <info> [1667207258.8999] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed') Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <error> [1667207258.9223] device (wlan0): Activation: (wifi) Network.Connect failed: GDBus.Error:net.connman.iwd.NotConfigured: Not con> Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <info> [1667207258.9228] device (wlan0): state change: config -> failed (reason 'supplicant-failed', sys-iface-state: 'managed') Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <warn> [1667207258.9236] device (wlan0): Activation: failed for connection 'netplan-test' Oct 31 09:07:38 ubu20-l-187ccedc08 NetworkManager[106442]: <info> [1667207258.9242] device (wlan0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
If I try the same from iwctl I get:
# station wlan0 connect test
Not configured
I haven’t tested manually re-creating the authenticated connection with NM yet, but it looks like iwd is not a drop-in replacement for my environment, and I haven’t been able to get my connections working at all so far.
So if you’re using netplan to configure 802.1x connections, you may have problems right now. If anyone else is doing something similar and has had better luck, would love to hear about it.
Had some time to revisit this and found some new nuggets of information.
I managed to get my test device to connect to our corporate network. In our case the problem was the EAP-TLS-CACert
which we had chosen. We originally tested using /etc/ssl/certs/ca-certificates.crt
, which worked fine with wpa_supplicant, however, iwd didn’t like that.
Switching to the exact CA certificate we needed fixed the issue and we were able to connect.
This was difficult to track down, but eventually we found a vague line in the iwd debug output which simply stated: TLS: Tunnel has disconnected with alert: bad_certificate
Regarding the use of netplan, it seems I still can’t get everything configured using only netplan. I have to touch
the provisioning file for it to be ‘automatically’ generated by NetworkManager. Ideally, I would configure everything from netplan rather than pushing a separate file to /var/lib/iwd
Yes.
But the problem is with the updates.
sudo apt update always shows an error when hitting on the iwd repo site as it does not have a version identifier like …/ubuntu jammy main
The testing PPA does not support Jammy. Please make use of the official iwd packages provided in the Ubuntu archive for Jammy and above, which are at a newer version than what is being provided via the PPA anyway.
Please remove the PPA when you’re running Jammy or above:
$ sudo rm /etc/apt/sources.list.d/slyon-ubuntu-iwd_nm-*.list
$ sudo apt update
Done.
Error removed at update.
Any chance of getting the latest iwd 2.3, which is in Debian Bookworm, into Lunar? Aside from fixing numerous problems, they’ve made big strides in supporting enterprise wifi.
The feature freeze exception to update to 2.3 has been granted and the package has been uploaded to Lunar now
Is it now sufficient to install iwd 2.3 to have it working or are there some commands to run?
Nice! Just in the nick of time. Thanks!
I wish I would have asked for 2.4, now that they shipped it two days ago.
I have hit this bug yesterday, trying 2.3.1 in Lunar.
And some UI oddities trying to set my home wifi to WPA3.
Quite Buggy currently, In Lubuntu 22.04.2, i had to turn on/off my wifi everytime to be able to connect to network, wont automatically connect to known networks at every first login one need to disable and enable networking to use wifi, switched back to wpa and experiencing peace of mind
Have you checked your configuration with the documentation for the current version?