Call for testing: improved WiFi via iwd

Rebooted today and the Wifi usb was “lit” and available but had zero wifi networks. Replugged in and bingo back in the game.

1 Like

Looks clear here, I had to reboot as restarting the services wasn’t enough to get it working, but once done that it looks to go well.

I also tested it when sharing my wifi connection using the same (virtual) wifi device using create_ap, and it still works as it did.

1 Like

As an update of my iwd experience, today I found that it is not working for me under all circumstances. One of the main issues is that the combination of iwd + networkmanager does not support WPA Enterprise.
Which means I cannot connect to the network as expected.

I know it is not a limitation of iwd, as I have used it in this environment before, so I assume it’s the interface between NetworkManager & iwd (as NetworkManager + wpa_supplicant does work).

But this feels like a big no-no for me as it would prevent any usage in big(er) professional network environments.

If 20.10 (beta) would have a solution for this, then I am willing to try that out on my next occasion.

I realized that I forgot to add that eduroam cannot be setup from the network manager for the same reason a manual configuration file needs to be created.

3 Likes

So far so good.
but 5G wifi will display in 2.4G 65M

On my laptop HP 8570w is problem with start of wifi with idw after suspend from sleeping of pc. hp@HP-EliteBook-8570w ~ $ lspci -knn
25:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:422b] (rev 3e)
DeviceName: WLAN
Subsystem: Intel Corporation Centrino Ultimate-N 6300 3x3 AGN [8086:1101]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi

hp@HP-EliteBook-8570w ~ $ ip a
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: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether d8:9d:67:ce:c5:a1 brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 3c:a9:f4:1a:10:7c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.66/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 86154sec preferred_lft 86154sec
inet6 fe80::5db0:1b7e:f48e:b371/64 scope link noprefixroute
valid_lft forever preferred_lft forever

hp@HP-EliteBook-8570w ~ $ systemctl status iwd
● iwd.service - Wireless service
Loaded: loaded (/lib/systemd/system/iwd.service; enabled; vendor preset: e>
Active: active (running) since Fri 2020-08-21 09:45:17 CEST; 4min 24s ago
Main PID: 1023 (iwd)
Tasks: 1 (limit: 19026)
Memory: 2.7M
CGroup: /system.slice/iwd.service
└─1023 /usr/libexec/iwd

aug 21 09:45:17 HP-EliteBook-8570w systemd[1]: Starting Wireless service…
aug 21 09:45:17 HP-EliteBook-8570w iwd[1023]: Wireless daemon version 1.5
aug 21 09:45:17 HP-EliteBook-8570w systemd[1]: Started Wireless service.
aug 21 09:45:17 HP-EliteBook-8570w iwd[1023]: netconfig: Network configuration >
aug 21 09:45:18 HP-EliteBook-8570w iwd[1023]: Wiphy: 0, Name: phy0
aug 21 09:45:18 HP-EliteBook-8570w iwd[1023]: Permanent Address: 3c:a9:>
aug 21 09:45:18 HP-EliteBook-8570w iwd[1023]: Bands: 2.4 GHz 5 GHz
aug 21 09:45:18 HP-EliteBook-8570w iwd[1023]: Ciphers: CCMP TKIP
aug 21 09:45:18 HP-EliteBook-8570w iwd[1023]: Supported iftypes: ad-hoc>

hp@HP-EliteBook-8570w ~ $ systemctl cat iwd

/lib/systemd/system/iwd.service

[Unit]
Description=Wireless service
Before=network.target
Wants=network.target

[Service]
Type=dbus
BusName=net.connman.iwd
ExecStart=/usr/libexec/iwd
NotifyAccess=main
LimitNPROC=1
Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW
PrivateTmp=true
NoNewPrivileges=true
DevicePolicy=closed
DeviceAllow=/dev/rfkill rw
ProtectHome=yes
ProtectSystem=strict
ProtectControlGroups=yes
ProtectKernelModules=yes
ConfigurationDirectory=iwd

/lib/systemd/system/iwd.service

[Unit]
Description=Wireless service
Before=network.target
Wants=network.target

[Service]
Type=dbus
BusName=net.connman.iwd
ExecStart=/usr/libexec/iwd
NotifyAccess=main
LimitNPROC=1
Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW
PrivateTmp=true
NoNewPrivileges=true
DevicePolicy=closed
DeviceAllow=/dev/rfkill rw
ProtectHome=yes
ProtectSystem=strict
ProtectControlGroups=yes
ProtectKernelModules=yes
ConfigurationDirectory=iwd
StateDirectory=iwd
StateDirectoryMode=0700

[Install]
WantedBy=multi-user.target

hp@HP-EliteBook-8570w ~ $ systemd-delta
[MASKED] /etc/systemd/system/samba-ad-dc.service → /lib/systemd/system/samba-ad-dc.service
[MASKED] /etc/systemd/system/wpa_supplicant.service → /lib/systemd/system/wpa_supplicant.service
[EXTENDED] /lib/systemd/system/rc-local.service → /lib/systemd/system/rc-local.service.d/debian.conf
[EXTENDED] /lib/systemd/system/user@.service → /lib/systemd/system/user@.service.d/timeout.conf

4 overridden configuration files found.

hp@HP-EliteBook-8570w ~ $ systemctl list-unit-files --state=enabled
UNIT FILE STATE VENDOR PRESET
acpid.path enabled enabled
cups.path enabled enabled
ntp-systemd-netif.path enabled enabled
accounts-daemon.service enabled enabled
anacron.service enabled enabled
apparmor.service enabled enabled
autovt@.service enabled enabled
avahi-daemon.service enabled enabled
binfmt-support.service enabled enabled
blk-availability.service enabled enabled
bluetooth.service enabled enabled
casper.service enabled enabled
console-setup.service enabled enabled
cron.service enabled enabled
cups-browsed.service enabled enabled
cups.service enabled enabled
dbus-org.bluez.service enabled enabled
dbus-org.freedesktop.Avahi.service enabled enabled
dbus-org.freedesktop.ModemManager1.service enabled enabled
dbus-org.freedesktop.nm-dispatcher.service enabled enabled
dbus-org.freedesktop.resolve1.service enabled enabled
dbus-org.freedesktop.thermald.service enabled enabled
dmesg.service enabled enabled
dns-clean.service enabled enabled
e2scrub_reap.service enabled enabled
finalrd.service enabled enabled
getty@.service enabled enabled
gpu-manager.service enabled enabled
grub-initrd-fallback.service enabled enabled
hddtemp.service enabled enabled
irqbalance.service enabled enabled
iwd.service enabled enabled
kerneloops.service enabled enabled
keyboard-setup.service enabled enabled
lm-sensors.service enabled enabled
lvm2-monitor.service enabled enabled
mintsystem.service enabled enabled
mintupdate-automation-cleanup.service enabled enabled
ModemManager.service enabled enabled
network-manager.service enabled enabled
networkd-dispatcher.service enabled enabled
networking.service enabled enabled
NetworkManager-dispatcher.service enabled enabled
NetworkManager-wait-online.service enabled enabled
NetworkManager.service enabled enabled
nmbd.service enabled enabled
ntp.service enabled enabled
ondemand.service enabled enabled
openvpn.service enabled enabled
osspd.service enabled enabled
pkcsslotd.service enabled enabled
postfix.service enabled enabled
pppd-dns.service enabled enabled
rsync.service enabled enabled
rsyslog.service enabled enabled
secureboot-db.service enabled enabled
setvtrgb.service enabled enabled
smbd.service enabled enabled
syslog.service enabled enabled
systemd-pstore.service enabled enabled
systemd-resolved.service enabled enabled
thermald.service enabled enabled
tpm2-abrmd.service enabled enabled
ubuntu-system-adjustments.service enabled enabled
udisks2.service enabled enabled
ufw.service enabled enabled
winbind.service enabled enabled
acpid.socket enabled enabled
avahi-daemon.socket enabled enabled
cups.socket enabled enabled
dm-event.socket enabled enabled
lvm2-lvmpolld.socket enabled enabled
pcscd.socket enabled enabled
uuidd.socket enabled enabled
remote-fs.target enabled enabled
anacron.timer enabled enabled
apt-daily-upgrade.timer enabled enabled
apt-daily.timer enabled enabled
e2scrub_all.timer enabled enabled
fstrim.timer enabled enabled
fwupd-refresh.timer enabled enabled
logrotate.timer enabled enabled
man-db.timer enabled enabled
motd-news.timer enabled enabled

My 5 GHz Wi-Fi was actually downgraded to 2.4 GHz it wasn’t just visual. Can you double-check your speeds or the actual connection via your router? I am wondering if it is just me or if other people cannot connect to 5 GHz Wi-Fi.

I have been testing iwd v1.5 in Ubuntu 20.04 using WPA PSK (a normal home Wi-Fi setup) on a Lenovo ThinkPad L480 for some time now. Establishing a Wi-Fi connection is faster and no problem after resume from suspend, but the connection was not stable, the connection disconnected and quickly reconnected itself (that’s when a shell notification showed up and disappeared quickly when the connection dropped/came up), and sometimes the connection dropped and didn’t reconnect itself and I had to manually select the Wi-Fi network again. I also have tlp installed (sudo apt install tlp), so maybe that had something to do with it.

1 Like

I have a Lynksys WUSB 6300 5GHz capable (driver rtl8812au) and a Panda PAU 08 2.4 GHz.
After installation of IWD it stopped working. In the network bar they appear but saying “device not ready”.
I’m using Ubuntu Mate 20.10

Using Ubuntu 20.04, iwd 1.5, my observations:

  • Your general experience using iwd: after installing, it just worked to connect to the WiFi :+1: .Definitely feels faster on a network with a good DHCP, otherwise - like in my office - the main delay is the DHCP server so there is no discernible difference.
  • Using WPA PSK: works well
  • Sharing your wired internet connection via a WiFi: Does not work. I have set up a “shared WiFi” through KDE network connections setting, after which trying to activate it using nmcli c u My\ Hotspot fails. If I set security to anything other than WPA/WPA 2 personal or WPA3 I get the error “device wlan0 not available because profile is not compatible with device (IWD backend only supports PSK authentication in AP mode)” while if I use WPA/WPA2/WPA3 I get the error “connection authentication type not supported by IWD backend”.
  • Picking a specific network: works great
  • Roaming between 2.4GHz access points: works great
  • Roaming between 5 GHz access points: works great
  • Roaming between 2.4GHz and 5GHz access points: works great
  • Connection stability: no problems so far.
  • Usage of system resources: not that I was ever troubled by wpa_supplicant, but iwd had used less than 1 second of CPU time since I started testing a couple of hours ago, so yay?
  • Recovery from suspend: really bad behavior: no networks were listed and nmcli d w took many seconds to complete and show the empty list. nmcli d w rescan errored: “Error: Scanning not allowed while unavailable.” After restarting iwd, networks were listing, but no connection could be established: every time I tried it would ask for credentials and then error out: “Connection activation failed: Secrets were required, but not provided”. After restarting both NetworkManager and iwd again, connections started working.
1 Like

I seem to get the same problem as others. Running Ubuntu 20.04 on two different laptops. When resuming from sleep the wifi does not automatically reconnect. I need to go to Gnome NM and manually connect, it can take a long time for it to connect.

Also, I see the “SSID” and “SSID 1” issue too, in Gnome NM.

1 Like

Installed iwd as instructed and on first reboot everything worked. After that every time I reboot my PC I had to restart iwd service, or the wifi network list will be empty and take forever to load.

3 Likes

I am seeing that one as well. I generally end up restarting network-manager service to get the list back

2 Likes

I am also seeing this with iwd on Ubuntu 20.04

1 Like

Hello,

On my side, my experience with iwd on Ubuntu 20.10 was globally positive regarding the connection to APs! Just a shame I had to copy-paste passwords to connect to known APs the first time.
After suspend, it was fine, it had time to reconnect while I was still typing my password to log-in.
After a reboot, I sometimes had to restart iwd service.

But I had to revert back to wpa_supplicant: I noticed that every ~25 or 30 seconds, the delay increased up to 1500ms for 3 to 4 seconds:

64 bytes from 192.168.178.1: icmp_seq=1 ttl=64 time=12.6 ms
64 bytes from 192.168.178.1: icmp_seq=2 ttl=64 time=2.04 ms
64 bytes from 192.168.178.1: icmp_seq=3 ttl=64 time=2.13 ms
64 bytes from 192.168.178.1: icmp_seq=4 ttl=64 time=9.10 ms
64 bytes from 192.168.178.1: icmp_seq=5 ttl=64 time=2.28 ms
64 bytes from 192.168.178.1: icmp_seq=6 ttl=64 time=68.9 ms
64 bytes from 192.168.178.1: icmp_seq=7 ttl=64 time=4.89 ms
64 bytes from 192.168.178.1: icmp_seq=8 ttl=64 time=1106 ms
64 bytes from 192.168.178.1: icmp_seq=9 ttl=64 time=1583 ms
64 bytes from 192.168.178.1: icmp_seq=10 ttl=64 time=1297 ms
64 bytes from 192.168.178.1: icmp_seq=11 ttl=64 time=362 ms
64 bytes from 192.168.178.1: icmp_seq=12 ttl=64 time=2.13 ms
64 bytes from 192.168.178.1: icmp_seq=13 ttl=64 time=2.03 ms
64 bytes from 192.168.178.1: icmp_seq=14 ttl=64 time=2.07 ms
64 bytes from 192.168.178.1: icmp_seq=15 ttl=64 time=2.10 ms
64 bytes from 192.168.178.1: icmp_seq=16 ttl=64 time=2.09 ms
64 bytes from 192.168.178.1: icmp_seq=17 ttl=64 time=3.97 ms
64 bytes from 192.168.178.1: icmp_seq=18 ttl=64 time=3.65 ms
64 bytes from 192.168.178.1: icmp_seq=19 ttl=64 time=2.09 ms
64 bytes from 192.168.178.1: icmp_seq=20 ttl=64 time=1.96 ms
64 bytes from 192.168.178.1: icmp_seq=21 ttl=64 time=2.51 ms
64 bytes from 192.168.178.1: icmp_seq=22 ttl=64 time=2.06 ms
64 bytes from 192.168.178.1: icmp_seq=23 ttl=64 time=2.40 ms
64 bytes from 192.168.178.1: icmp_seq=24 ttl=64 time=2.24 ms
64 bytes from 192.168.178.1: icmp_seq=25 ttl=64 time=2.39 ms
64 bytes from 192.168.178.1: icmp_seq=26 ttl=64 time=2.25 ms
64 bytes from 192.168.178.1: icmp_seq=27 ttl=64 time=12.9 ms
64 bytes from 192.168.178.1: icmp_seq=28 ttl=64 time=2.13 ms
64 bytes from 192.168.178.1: icmp_seq=29 ttl=64 time=2.12 ms
64 bytes from 192.168.178.1: icmp_seq=30 ttl=64 time=7.94 ms
64 bytes from 192.168.178.1: icmp_seq=31 ttl=64 time=2.46 ms
64 bytes from 192.168.178.1: icmp_seq=32 ttl=64 time=27.1 ms
64 bytes from 192.168.178.1: icmp_seq=33 ttl=64 time=208 ms
64 bytes from 192.168.178.1: icmp_seq=34 ttl=64 time=284 ms
64 bytes from 192.168.178.1: icmp_seq=35 ttl=64 time=279 ms
64 bytes from 192.168.178.1: icmp_seq=36 ttl=64 time=310 ms
64 bytes from 192.168.178.1: icmp_seq=37 ttl=64 time=203 ms
64 bytes from 192.168.178.1: icmp_seq=38 ttl=64 time=2.11 ms
64 bytes from 192.168.178.1: icmp_seq=39 ttl=64 time=2.11 ms
64 bytes from 192.168.178.1: icmp_seq=40 ttl=64 time=2.95 ms
64 bytes from 192.168.178.1: icmp_seq=41 ttl=64 time=2.01 ms
64 bytes from 192.168.178.1: icmp_seq=42 ttl=64 time=2.52 ms
64 bytes from 192.168.178.1: icmp_seq=43 ttl=64 time=2.04 ms
64 bytes from 192.168.178.1: icmp_seq=44 ttl=64 time=2.06 ms
64 bytes from 192.168.178.1: icmp_seq=45 ttl=64 time=2.10 ms
64 bytes from 192.168.178.1: icmp_seq=46 ttl=64 time=2.09 ms
64 bytes from 192.168.178.1: icmp_seq=47 ttl=64 time=2.11 ms
64 bytes from 192.168.178.1: icmp_seq=48 ttl=64 time=1.55 ms
64 bytes from 192.168.178.1: icmp_seq=49 ttl=64 time=2.06 ms
64 bytes from 192.168.178.1: icmp_seq=50 ttl=64 time=2.00 ms
64 bytes from 192.168.178.1: icmp_seq=51 ttl=64 time=2.35 ms
64 bytes from 192.168.178.1: icmp_seq=52 ttl=64 time=2.07 ms
64 bytes from 192.168.178.1: icmp_seq=53 ttl=64 time=2.20 ms
64 bytes from 192.168.178.1: icmp_seq=54 ttl=64 time=2.08 ms
64 bytes from 192.168.178.1: icmp_seq=55 ttl=64 time=2.22 ms
64 bytes from 192.168.178.1: icmp_seq=56 ttl=64 time=1.55 ms
64 bytes from 192.168.178.1: icmp_seq=57 ttl=64 time=2.10 ms
64 bytes from 192.168.178.1: icmp_seq=58 ttl=64 time=19.0 ms
64 bytes from 192.168.178.1: icmp_seq=59 ttl=64 time=221 ms
64 bytes from 192.168.178.1: icmp_seq=60 ttl=64 time=1091 ms
64 bytes from 192.168.178.1: icmp_seq=61 ttl=64 time=1100 ms
64 bytes from 192.168.178.1: icmp_seq=62 ttl=64 time=1123 ms
64 bytes from 192.168.178.1: icmp_seq=63 ttl=64 time=272 ms
64 bytes from 192.168.178.1: icmp_seq=64 ttl=64 time=2.43 ms
64 bytes from 192.168.178.1: icmp_seq=65 ttl=64 time=2.09 ms
64 bytes from 192.168.178.1: icmp_seq=66 ttl=64 time=18.4 ms
64 bytes from 192.168.178.1: icmp_seq=67 ttl=64 time=2.01 ms
64 bytes from 192.168.178.1: icmp_seq=68 ttl=64 time=2.70 ms
64 bytes from 192.168.178.1: icmp_seq=69 ttl=64 time=4.13 ms
64 bytes from 192.168.178.1: icmp_seq=70 ttl=64 time=2.26 ms
64 bytes from 192.168.178.1: icmp_seq=71 ttl=64 time=2.06 ms
64 bytes from 192.168.178.1: icmp_seq=72 ttl=64 time=2.24 ms
(...)

This is quite problematic during meetings. I reverted back to wpa_supplicant and I no longer have these big delays.
I suspect a scan is periodically done and cause these delays. I didn’t investigate why I have this with iwd only. Am I the only one with the issue? Where is the best place to report?

Cheers,
Matt

I have been running iwd on Ubuntu 20.04 for 2 weeks and so far, it’s been superb.

Oh that is interesting - I can also see that too (with iwd on Ubuntu 20.04) now that I look for it:

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.41 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.29 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.45 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=1.56 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=1.43 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=1.80 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=1.58 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=1.60 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=1.46 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=1.44 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=1.51 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=1.05 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=1.30 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=1.45 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=1.52 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=1.62 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=1.43 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=1.27 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=0.997 ms
64 bytes from 192.168.1.1: icmp_seq=21 ttl=64 time=59.9 ms
64 bytes from 192.168.1.1: icmp_seq=22 ttl=64 time=44.1 ms
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=1.40 ms
64 bytes from 192.168.1.1: icmp_seq=24 ttl=64 time=1.55 ms
64 bytes from 192.168.1.1: icmp_seq=25 ttl=64 time=1.87 ms
64 bytes from 192.168.1.1: icmp_seq=26 ttl=64 time=1.87 ms
64 bytes from 192.168.1.1: icmp_seq=27 ttl=64 time=1.36 ms
64 bytes from 192.168.1.1: icmp_seq=28 ttl=64 time=1.28 ms
64 bytes from 192.168.1.1: icmp_seq=29 ttl=64 time=1.61 ms
64 bytes from 192.168.1.1: icmp_seq=30 ttl=64 time=1.64 ms
64 bytes from 192.168.1.1: icmp_seq=31 ttl=64 time=1.52 ms
64 bytes from 192.168.1.1: icmp_seq=32 ttl=64 time=1.42 ms
64 bytes from 192.168.1.1: icmp_seq=33 ttl=64 time=1.52 ms
64 bytes from 192.168.1.1: icmp_seq=35 ttl=64 time=1.28 ms
64 bytes from 192.168.1.1: icmp_seq=36 ttl=64 time=1.46 ms
64 bytes from 192.168.1.1: icmp_seq=37 ttl=64 time=1.70 ms
64 bytes from 192.168.1.1: icmp_seq=38 ttl=64 time=1.51 ms
64 bytes from 192.168.1.1: icmp_seq=39 ttl=64 time=1.21 ms
64 bytes from 192.168.1.1: icmp_seq=40 ttl=64 time=1.53 ms
64 bytes from 192.168.1.1: icmp_seq=41 ttl=64 time=1.62 ms
64 bytes from 192.168.1.1: icmp_seq=42 ttl=64 time=1.49 ms
64 bytes from 192.168.1.1: icmp_seq=43 ttl=64 time=88.9 ms
64 bytes from 192.168.1.1: icmp_seq=45 ttl=64 time=0.931 ms
64 bytes from 192.168.1.1: icmp_seq=46 ttl=64 time=1.45 ms
64 bytes from 192.168.1.1: icmp_seq=47 ttl=64 time=1.42 ms
64 bytes from 192.168.1.1: icmp_seq=48 ttl=64 time=1.68 ms
64 bytes from 192.168.1.1: icmp_seq=49 ttl=64 time=1.45 ms
64 bytes from 192.168.1.1: icmp_seq=50 ttl=64 time=1.12 ms
64 bytes from 192.168.1.1: icmp_seq=51 ttl=64 time=1.89 ms
64 bytes from 192.168.1.1: icmp_seq=52 ttl=64 time=1.33 ms
64 bytes from 192.168.1.1: icmp_seq=53 ttl=64 time=2.52 ms
64 bytes from 192.168.1.1: icmp_seq=54 ttl=64 time=2.13 ms
64 bytes from 192.168.1.1: icmp_seq=55 ttl=64 time=1.71 ms
64 bytes from 192.168.1.1: icmp_seq=56 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=57 ttl=64 time=1.85 ms
64 bytes from 192.168.1.1: icmp_seq=58 ttl=64 time=1.51 ms
64 bytes from 192.168.1.1: icmp_seq=59 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=60 ttl=64 time=1.56 ms
64 bytes from 192.168.1.1: icmp_seq=61 ttl=64 time=1.57 ms
64 bytes from 192.168.1.1: icmp_seq=62 ttl=64 time=1.22 ms
64 bytes from 192.168.1.1: icmp_seq=63 ttl=64 time=1.20 ms
64 bytes from 192.168.1.1: icmp_seq=64 ttl=64 time=1.48 ms
64 bytes from 192.168.1.1: icmp_seq=65 ttl=64 time=1.47 ms
64 bytes from 192.168.1.1: icmp_seq=66 ttl=64 time=11.8 ms
64 bytes from 192.168.1.1: icmp_seq=67 ttl=64 time=44.8 ms
64 bytes from 192.168.1.1: icmp_seq=68 ttl=64 time=80.5 ms
64 bytes from 192.168.1.1: icmp_seq=69 ttl=64 time=117 ms
64 bytes from 192.168.1.1: icmp_seq=70 ttl=64 time=1.79 ms
64 bytes from 192.168.1.1: icmp_seq=71 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_seq=72 ttl=64 time=1.54 ms
64 bytes from 192.168.1.1: icmp_seq=73 ttl=64 time=1.33 ms
64 bytes from 192.168.1.1: icmp_seq=74 ttl=64 time=1.53 ms
64 bytes from 192.168.1.1: icmp_seq=75 ttl=64 time=1.45 ms
64 bytes from 192.168.1.1: icmp_seq=76 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=77 ttl=64 time=1.61 ms
64 bytes from 192.168.1.1: icmp_seq=78 ttl=64 time=1.34 ms
64 bytes from 192.168.1.1: icmp_seq=79 ttl=64 time=1.60 ms
64 bytes from 192.168.1.1: icmp_seq=80 ttl=64 time=1.26 ms
64 bytes from 192.168.1.1: icmp_seq=81 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_seq=82 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=83 ttl=64 time=1.47 ms
64 bytes from 192.168.1.1: icmp_seq=84 ttl=64 time=1.47 ms
64 bytes from 192.168.1.1: icmp_seq=85 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_seq=86 ttl=64 time=1.34 ms
64 bytes from 192.168.1.1: icmp_seq=87 ttl=64 time=1.62 ms
64 bytes from 192.168.1.1: icmp_seq=88 ttl=64 time=1.40 ms
64 bytes from 192.168.1.1: icmp_seq=89 ttl=64 time=1.20 ms
64 bytes from 192.168.1.1: icmp_seq=90 ttl=64 time=1.24 ms
64 bytes from 192.168.1.1: icmp_seq=91 ttl=64 time=1.39 ms
64 bytes from 192.168.1.1: icmp_seq=92 ttl=64 time=8.76 ms
64 bytes from 192.168.1.1: icmp_seq=93 ttl=64 time=1.15 ms
64 bytes from 192.168.1.1: icmp_seq=94 ttl=64 time=1.23 ms
64 bytes from 192.168.1.1: icmp_seq=95 ttl=64 time=1.58 ms
64 bytes from 192.168.1.1: icmp_seq=96 ttl=64 time=1.88 ms
64 bytes from 192.168.1.1: icmp_seq=97 ttl=64 time=1.54 ms

This should probably be reported via https://bugs.launchpad.net/ubuntu/+source/iwd/+filebug

Screenshot%20from%202020-09-01%2021-49-29

Previously this was at 54 Mb/s on two different devices and now both are 65 Mb/s
however sometimes it wont show any networks after sleep or occasionally after a reboot.

1 Like

Thank you all for examining the current NetworkManager/iwd integration!
This helps a lot in evaluating the feasibility of this new WiFi stack in many different use cases!

I’d like to write down a short summary of the results so far. But still encourage everybody to continue testing this improved WiFi setup, especially as the Ubuntu Groovy Gorilla (20.10) beta is slowly approaching and more and more people are using its updated software stack (esp. iwd 1.8 + NetworkManager 1.26). Also, I’ve added a poll to the initial post, where you can vote/submit you experience of using iwd on Ubuntu.

So far we got feedback from 35 individual testers of which 9 reported a positive experience (mostly on WPA2 personal networks), 14 reported a neutral experience and 12 reported a negative experience. A summary of the issues reported up to now, which should be investigated before making the switch to iwd, can be found here:

  • NM shows duplicate SSIDs (e.g.”SSID” & “SSID 1”) for every connection
  • NM displays 2.4GHz while real connection & iwconfig is 5GHz
  • Fails to connect to hidden networks (on old 19.04!)
  • WPA Enterprise PEAP (eduroam) needs provisioning files
  • No connections listed after some reboots/resume (iwd restart fixes it)
  • Network credentials requested twice
  • WPA3 Personal does not work
  • Prefers 2.4 GHz network over same 5GHz SSID
  • Connection not stable, disconnects and (most of the time) quickly reconnects
  • Device not detected (Linksys WUSB 6300 (rtl8812au) and a Panda PAU 08)
  • Increased delay after ~25-30 sec (ping 1500ms for 3-4 sec)

Thanks!
Lukas

4 Likes

I am running iwd for 14 days + some now without any problems. I have an Intel Wi-Fi 6 pci express Wi-Fi card and mostly run on 5Ghz (FritzBox). It seems to me connecting to the Wi-Fi is faster, especially after boot. It did not notice anything special apart from that. Thanks for running this experiment and gathering feedback.

Kernel: 5.4.0-45-generic
Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
1 Like

So what’s the next steps? Have we escalated the feedback to iwd? How can we engage with them to ensure the negatives are address and resolved?

I wonder for example, if increased delay is due to our NM configuration putting the wifi card into powersave mode, thus potentially operating the wifi card slower than possible.