iwd

pacman -S iwd
  • edit configuration in /etc/iwd/main.conf to enable DHCP management
[General]
EnableNetworkConfiguration=true
  • add DNS with openresolv (see DNS)
[Network]
NameResolvingService=resolvconf
  • start systemd service
systemctl enable iwd
systemctl start  iwd
  • enter prompt
iwctl
  • helpful commands in prompt
[iwd]# help
[iwd]# station list
[iwd]# station wlan0 connect WIFI_NAME
[iwd]# station list
  • still need DNS, can only use systemd-resolved / resolvconf
  • it seems iwd can do its own DNS (or DHCP does DNS?)
  • DNS is provided by (g)libc, see arch wiki - domain name resolution

eduroam

  • generate password hash
iconv -t utf16le | openssl md4 -provider legacy
  • EOF to end (don't press enter, sends '\n'): press ctrl-D twice
  • edit /var/lib/iwd/essid.8021x, for eduroam /var/lib/iwd/eduroam.8021x:
[Security]
EAP-Method=PEAP
EAP-Identity=anonymous@gatech.edu
# EAP-PEAP-CACert=/path/to/root.crt
# EAP-PEAP-ServerDomainMask=lawn.gatech.edu
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=username@gatech.edu
EAP-PEAP-Phase2-Password-Hash=passwordhash

[Settings]
AutoConnect=true
  • can't put EAP-PEAP-CACert in home directory

ead

  • ethernet authentication daemon
systemctl start ead.service