1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 19:52:06 +00:00
iiab/roles/bluetooth/tasks/rpi_install.yml
2019-06-19 09:12:05 -04:00

132 lines
3.5 KiB
YAML

# This is rpi only
- name: "Install rpi 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'
- name: Enable & Restart 'bt-agent' service
systemd:
daemon_reload: yes
name: bluetooth
enabled: yes
state: restarted
# enable or disable bt-agent
- name: Enable & Restart 'bt-agent' service
systemd:
daemon_reload: yes
name: bt-agent
enabled: yes
state: restarted
when: bluetooth_enabled or bluetooth_term_enabled
- name: Disable 'bt-agent' service
systemd:
daemon_reload: yes
name: bt-agent
enabled: no
state: stopped
when: not bluetooth_enabled and not bluetooth_term_enabled
# enable or disable bt-pan
- name: Enable & Restart 'bt-pan' service
systemd:
daemon_reload: yes
name: bt-pan
enabled: yes
state: restarted
when: bluetooth_enabled | bool
- name: Disable 'bt-pan' service
systemd:
daemon_reload: yes
name: bt-pan
enabled: no
state: stopped
when: not bluetooth_enabled | bool
# enable or disable bt-term
- name: Enable & Restart 'bt-term' service
systemd:
daemon_reload: yes
name: bt-term
enabled: yes
state: restarted
when: bluetooth_term_enabled | bool
- name: Disable 'bt-term' service
systemd:
daemon_reload: yes
name: bt-term
enabled: no
state: stopped
when: not bluetooth_term_enabled | bool
- name: Add 'bluetooth' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}"
section: bluetooth
option: "{{ item.option }}"
value: "{{ item.value }}"
with_items:
- option: name
value: Bluetooth
- option: description
value: '"Bluetooth services for pan and terminal."'
- option: bluetooth_enabled
value: "{{ bluetooth_enabled }}"
- option: bluetooth_term_enabled
value: "{{ bluetooth_term_enabled }}"