mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			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'
 |