## Make sure to use an initrd providing firmware: ## wget https://cdimage.debian.org/cdimage/firmware/testing/current/firmware.cpio.gz ## cat initrd.gz firmware.cpio.gz > initrd-fw.gz --- - name: Install iwd ansible.builtin.apt: name: - iwd - systemd-resolved state: latest - name: Disable wpa-supplicant ansible.builtin.systemd: name: wpa_supplicant.service enabled: False - name: Enable iwd ansible.builtin.systemd: name: iwd.service enabled: True - name: Prepare directory for iwd file: path: /var/lib/iwd/ state: directory - name: Configure iwd for wifi device ansible.builtin.copy: dest: /var/lib/iwd/{{ ssid }}.psk content: | [Security] Passphrase={{ wifipasswd }} # - name: Use iwd but ignore wlan interfaces in NetworkManager # blockinfile: # dest: /etc/NetworkManager/NetworkManager.conf # block: | # [device] # wifi.backend=iwd # match-device=interface-name:wl* # managed=0 # # - name: Configure systemd-networkd # ansible.builtin.copy: # dest: /etc/systemd/network/80-wlan-dhcp.network # content: | # [Match] # Name=wl* # [Network] # DHCP=yes # [DHCPv4] # UseDomains=true # - name: Enable systemd-networkd ansible.builtin.systemd: name: systemd-networkd.service enabled: True