# rpi_debian.yml # Start out making simplifying assumptions # 1. we are dealing with a rpi3 # 2. Gui inputs define the config -- auto config is more difficult # a. gui_desired_network_role # b. hostapd_enabled # c. gui_static_wan_ip # 3. In appliance mode: wan is either wired dhcp/static or wlan0 and hostapd off # 4. In lan_controller: wan is off, eth0 and wlan0 under br0 # 5. In gateway: user gateway is wan, and wlan0 under br0 if not acting as # the gateway - name: Supply resolvconf.conf template: dest: /etc/resolvconf.conf src: network/resolvconf.j2 - name: Supply dhcpcd.conf template: dest: /etc/dhcpcd.conf src: network/dhcpcd.conf.j2 - name: New Raspbian requires country code -- check for it shell: grep country /etc/wpa_supplicant/wpa_supplicant.conf register: country_code ignore_errors: True - name: Put country code ({{ host_country_code }}) in /etc/wpa_supplicant/wpa_supplicant.conf if nec lineinfile: path: /etc/wpa_supplicant/wpa_supplicant.conf regexp: "^country.*" line: country={{ host_country_code }} when: country_code is defined and country_code.stdout == "" - name: Enable the WiFi with rfkill shell: rfkill unblock 0 ignore_errors: True - name: Copy the bridge script for RPi template: dest: /etc/network/interfaces.d/iiab src: network/rpi.j2 #src: network/iiab.j2 2019-02-05: caused ./iiab-network to fail repeatedly in recent days on one particular RPi 3, even after reboot ("Unable to start service networking: Job for networking.service failed..." at "Restart the networking service if appropriate") ...leaving dnsmasq off (#1452) when: iiab_wired_lan_iface is defined - name: Use bind-dynamic for dnsmasq template: dest: /etc/dnsmasq.d/dnsmasq-iiab src: network/dnsmasq-iiab when: iiab_lan_iface == "br0" - name: Stopping services include_tasks: down-debian.yml - name: Reload systemd systemd: daemon_reload: yes - name: Clone wifi if needed systemd: name: clone-wifi state: started - name: Restart the networking service if appropriate systemd: name: networking enabled: yes state: restarted when: iiab_wired_lan_iface is defined - name: Restart hostapd when WiFi is present but not when using WiFi as gateway with wifi_up_down False systemd: name: hostapd state: restarted when: hostapd_enabled and (wifi_up_down or not no_net_restart) #- name: Stop wpa_supplicant on Raspbian # shell: killall wpa_supplicant # now pick up denyinterfaces and respawn wpa_supplicant - name: Restart dhcpcd on Raspbian systemd: name: dhcpcd state: restarted