1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 03:32:12 +00:00
iiab/roles/bluetooth/tasks/install.yml

84 lines
2.7 KiB
YAML

- 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'