- name: Disable built-in serial uart in /boot/firmware/usercfg.txt on Ubuntu < 20.10 on RPi lineinfile: path: /boot/firmware/usercfg.txt line: "enable_uart=0" state: present when: rpi_model != "none" and is_ubuntu and (ansible_distribution_version is version('20.10', '<')) #when: rpi_model != "none" and is_ubuntu and (ansible_distribution_release == "focal") # 2020-10-27 #2585: Ubuntu Desktop 20.10 has no /boot/firmware/usercfg.txt - name: Install pi-bluetooth package on Ubuntu on RPi package: name: pi-bluetooth state: present when: rpi_model != "none" and is_ubuntu - name: Install bluetooth packages package: name: - bluetooth - bluez - bluez-tools state: present - name: Create bluetooth services template: backup: no src: "{{ item.src }}" dest: "{{ item.dest }}" owner: root group: root mode: 0644 with_items: - { src: 'bt-agent.service.j2', dest: '/etc/systemd/system/bt-agent.service' } - { src: 'bt-pan.service.j2', dest: '/etc/systemd/system/bt-pan.service' } - { src: 'bt-term.service.j2', dest: '/etc/systemd/system/bt-term.service' } - { src: 'network.conf.j2', dest: '/etc/bluetooth/network.conf' } - name: Create bluetooth utility scripts template: backup: no src: "{{ item.src }}" dest: "{{ item.dest }}" owner: root group: root mode: 0755 with_items: - { src: 'iiab-bt-pan-on.j2', dest: '/usr/bin/iiab-bt-pan-on' } - { src: 'iiab-bt-pan-off.j2', dest: '/usr/bin/iiab-bt-pan-off' } - { src: 'iiab-bt-pan-discoverable-on.j2', dest: '/usr/bin/iiab-bt-pan-discoverable-on' } - { src: 'iiab-bt-term-on.j2', dest: '/usr/bin/iiab-bt-term-on' } - { src: 'iiab-bt-term-off.j2', dest: '/usr/bin/iiab-bt-term-off' } # Bluetooth service needs /usr/lib/bluetooth/bluetoothd -C --noplugin=sap # Copy and patch it - name: Copy the bluetooth service template: dest: /etc/systemd/system/bluetooth.service src: /lib/systemd/system/bluetooth.service - name: Add -C --noplugin=sap to execStart of bluetooth service lineinfile: path: /etc/systemd/system/bluetooth.service regexp: '^ExecStart=/usr/lib/bluetooth/bluetoothd' line: 'ExecStart=/usr/lib/bluetooth/bluetoothd -C --noplugin=sap' - name: Set discoverable not to timeout lineinfile: path: /etc/bluetooth/main.conf regexp: '^#DiscoverableTimeout' line: 'DiscoverableTimeout = 0' # RECORD Bluetooth AS INSTALLED - name: "Set 'bluetooth_installed: True'" set_fact: bluetooth_installed: True - name: "Add 'bluetooth_installed: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^bluetooth_installed' line: 'bluetooth_installed: True'