From 49871b37ab0c7ff1bca2709b6d22fa927a98f43e Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Sun, 2 Jun 2019 10:55:15 -0400 Subject: [PATCH 01/10] Bluetooth PAN and Terminal servers --- roles/bluetooth/README.rst | 9 ++ roles/bluetooth/defaults/main.yml | 3 + roles/bluetooth/tasks/main.yml | 4 + roles/bluetooth/tasks/rpi_install.yml | 93 +++++++++++++++++++ roles/bluetooth/templates/bt-agent.service.j2 | 10 ++ roles/bluetooth/templates/bt-pan.service.j2 | 11 +++ roles/bluetooth/templates/bt-term.service.j2 | 13 +++ roles/bluetooth/templates/iiab-bt-pan-off.j2 | 7 ++ roles/bluetooth/templates/iiab-bt-pan-on.j2 | 7 ++ roles/bluetooth/templates/iiab-bt-term-off.j2 | 4 + roles/bluetooth/templates/iiab-bt-term-on.j2 | 4 + 11 files changed, 165 insertions(+) create mode 100644 roles/bluetooth/README.rst create mode 100644 roles/bluetooth/defaults/main.yml create mode 100644 roles/bluetooth/tasks/main.yml create mode 100644 roles/bluetooth/tasks/rpi_install.yml create mode 100644 roles/bluetooth/templates/bt-agent.service.j2 create mode 100644 roles/bluetooth/templates/bt-pan.service.j2 create mode 100644 roles/bluetooth/templates/bt-term.service.j2 create mode 100644 roles/bluetooth/templates/iiab-bt-pan-off.j2 create mode 100644 roles/bluetooth/templates/iiab-bt-pan-on.j2 create mode 100644 roles/bluetooth/templates/iiab-bt-term-off.j2 create mode 100644 roles/bluetooth/templates/iiab-bt-term-on.j2 diff --git a/roles/bluetooth/README.rst b/roles/bluetooth/README.rst new file mode 100644 index 000000000..5b4f460a5 --- /dev/null +++ b/roles/bluetooth/README.rst @@ -0,0 +1,9 @@ +================ +Bluetooth README +================ + +This role provides two services, pan or Personal Area Network, and term, terminal emulation. + +They may be turned on or off with iiab-bt-pan-on(off) and iiab-bt-term-on(off), respectively. + +The role is only available for the Raspberry Pi. diff --git a/roles/bluetooth/defaults/main.yml b/roles/bluetooth/defaults/main.yml new file mode 100644 index 000000000..28fa4359c --- /dev/null +++ b/roles/bluetooth/defaults/main.yml @@ -0,0 +1,3 @@ +bluetooth_install: False +bluetooth_enabled: False +bluetooth_term_enabled: False diff --git a/roles/bluetooth/tasks/main.yml b/roles/bluetooth/tasks/main.yml new file mode 100644 index 000000000..48de6a784 --- /dev/null +++ b/roles/bluetooth/tasks/main.yml @@ -0,0 +1,4 @@ +# This is rpi only + +- include_tasks: rpi_bluetooth_install.yml + when: is_rpi | bool diff --git a/roles/bluetooth/tasks/rpi_install.yml b/roles/bluetooth/tasks/rpi_install.yml new file mode 100644 index 000000000..8ebe3881b --- /dev/null +++ b/roles/bluetooth/tasks/rpi_install.yml @@ -0,0 +1,93 @@ +# 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: '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-term-on.j2', dest: '/usr/bin/iiab-bt-term-on' } + - { src: 'iiab-bt-term-off.j2', dest: '/usr/bin/iiab-bt-term-off' } + +# 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 }}" diff --git a/roles/bluetooth/templates/bt-agent.service.j2 b/roles/bluetooth/templates/bt-agent.service.j2 new file mode 100644 index 000000000..ba3537e0b --- /dev/null +++ b/roles/bluetooth/templates/bt-agent.service.j2 @@ -0,0 +1,10 @@ +[Unit] +Description=Bluetooth Auth Agent + +[Service] +ExecStart=/usr/bin/bt-agent -c NoInputNoOutput +Type=simple + +[Install] +WantedBy=multi-user.target + diff --git a/roles/bluetooth/templates/bt-pan.service.j2 b/roles/bluetooth/templates/bt-pan.service.j2 new file mode 100644 index 000000000..56a1a6bdf --- /dev/null +++ b/roles/bluetooth/templates/bt-pan.service.j2 @@ -0,0 +1,11 @@ +[Unit] +Description=Bluetooth NEP PAN +After=br0.network + +[Service] +ExecStart=/usr/bin/bt-network -s nap br0 +Type=simple + +[Install] +WantedBy=multi-user.target + diff --git a/roles/bluetooth/templates/bt-term.service.j2 b/roles/bluetooth/templates/bt-term.service.j2 new file mode 100644 index 000000000..66f9377dc --- /dev/null +++ b/roles/bluetooth/templates/bt-term.service.j2 @@ -0,0 +1,13 @@ +[Unit] +Description=RFCOMM service +After=bluetooth.service +Requires=bluetooth.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/sdptool add SP +ExecStartPost=/bin/hciconfig hci0 piscan +ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 + +[Install] +WantedBy=multi-user.target diff --git a/roles/bluetooth/templates/iiab-bt-pan-off.j2 b/roles/bluetooth/templates/iiab-bt-pan-off.j2 new file mode 100644 index 000000000..155becbd5 --- /dev/null +++ b/roles/bluetooth/templates/iiab-bt-pan-off.j2 @@ -0,0 +1,7 @@ +#!/bin/bash + +systemctl disable bt-agent +systemctl stop bt-agent + +systemctl disable bt-pan +systemctl stop bt-pan diff --git a/roles/bluetooth/templates/iiab-bt-pan-on.j2 b/roles/bluetooth/templates/iiab-bt-pan-on.j2 new file mode 100644 index 000000000..71d644d98 --- /dev/null +++ b/roles/bluetooth/templates/iiab-bt-pan-on.j2 @@ -0,0 +1,7 @@ +#!/bin/bash + +systemctl enable bt-agent +systemctl start bt-agent + +systemctl enable bt-pan +systemctl start bt-pan diff --git a/roles/bluetooth/templates/iiab-bt-term-off.j2 b/roles/bluetooth/templates/iiab-bt-term-off.j2 new file mode 100644 index 000000000..f1664450d --- /dev/null +++ b/roles/bluetooth/templates/iiab-bt-term-off.j2 @@ -0,0 +1,4 @@ +#!/bin/bash + +systemctl disable bt-term +systemctl stop bt-term diff --git a/roles/bluetooth/templates/iiab-bt-term-on.j2 b/roles/bluetooth/templates/iiab-bt-term-on.j2 new file mode 100644 index 000000000..dc13df2ad --- /dev/null +++ b/roles/bluetooth/templates/iiab-bt-term-on.j2 @@ -0,0 +1,4 @@ +#!/bin/bash + +systemctl enable bt-term +systemctl start bt-term From 79145916ae794d5969864fd0450d46c16cc478c1 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Sun, 2 Jun 2019 15:50:50 -0400 Subject: [PATCH 02/10] round 1 debug --- roles/bluetooth/README.rst | 2 ++ roles/bluetooth/tasks/main.yml | 4 ++-- roles/bluetooth/tasks/rpi_install.yml | 7 +++++++ roles/bluetooth/templates/bt-term.service.j2 | 5 ++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/roles/bluetooth/README.rst b/roles/bluetooth/README.rst index 5b4f460a5..357e0ee4c 100644 --- a/roles/bluetooth/README.rst +++ b/roles/bluetooth/README.rst @@ -4,6 +4,8 @@ Bluetooth README This role provides two services, pan or Personal Area Network, and term, terminal emulation. +The terminal operates at 115200 bps. + They may be turned on or off with iiab-bt-pan-on(off) and iiab-bt-term-on(off), respectively. The role is only available for the Raspberry Pi. diff --git a/roles/bluetooth/tasks/main.yml b/roles/bluetooth/tasks/main.yml index 48de6a784..421b9c63e 100644 --- a/roles/bluetooth/tasks/main.yml +++ b/roles/bluetooth/tasks/main.yml @@ -1,4 +1,4 @@ # This is rpi only -- include_tasks: rpi_bluetooth_install.yml - when: is_rpi | bool +- include_tasks: rpi_install.yml + when: is_rpi and bluetooth_install diff --git a/roles/bluetooth/tasks/rpi_install.yml b/roles/bluetooth/tasks/rpi_install.yml index 8ebe3881b..4590e4549 100644 --- a/roles/bluetooth/tasks/rpi_install.yml +++ b/roles/bluetooth/tasks/rpi_install.yml @@ -25,6 +25,13 @@ - { 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 +- name: Add -C --noplugin=sap to execStart of bluetooth service + lineinfile: + path: /lib/systemd/system/bluetooth.service + regexp: '^ExecStart=/usr/lib/bluetooth/bluetoothd' + line: 'ExecStart=/usr/lib/bluetooth/bluetoothd -C --noplugin=sap' + # enable or disable bt-agent - name: Enable & Restart 'bt-agent' service systemd: diff --git a/roles/bluetooth/templates/bt-term.service.j2 b/roles/bluetooth/templates/bt-term.service.j2 index 66f9377dc..a0efc270d 100644 --- a/roles/bluetooth/templates/bt-term.service.j2 +++ b/roles/bluetooth/templates/bt-term.service.j2 @@ -4,9 +4,8 @@ After=bluetooth.service Requires=bluetooth.service [Service] -Type=oneshot -ExecStart=/usr/bin/sdptool add SP -ExecStartPost=/bin/hciconfig hci0 piscan +ExecStartPre=/usr/bin/sdptool add SP +ExecStartPre=/bin/hciconfig hci0 piscan ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 [Install] From c8e14945fb2cb3d69eefd19bdba856947c3fc70a Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Mon, 3 Jun 2019 11:51:40 -0400 Subject: [PATCH 03/10] various fixes --- roles/bluetooth/tasks/rpi_install.yml | 24 ++++++++++++++++++++ roles/bluetooth/templates/iiab-bt-pan-off.j2 | 7 +++++- roles/bluetooth/templates/iiab-bt-pan-on.j2 | 4 ++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/roles/bluetooth/tasks/rpi_install.yml b/roles/bluetooth/tasks/rpi_install.yml index 4590e4549..1aad8b06a 100644 --- a/roles/bluetooth/tasks/rpi_install.yml +++ b/roles/bluetooth/tasks/rpi_install.yml @@ -20,6 +20,17 @@ - { 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-term-on.j2', dest: '/usr/bin/iiab-bt-term-on' } @@ -32,6 +43,19 @@ 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: diff --git a/roles/bluetooth/templates/iiab-bt-pan-off.j2 b/roles/bluetooth/templates/iiab-bt-pan-off.j2 index 155becbd5..703ecedf2 100644 --- a/roles/bluetooth/templates/iiab-bt-pan-off.j2 +++ b/roles/bluetooth/templates/iiab-bt-pan-off.j2 @@ -1,7 +1,12 @@ #!/bin/bash systemctl disable bt-agent -systemctl stop bt-agent +# for some reason this service is really slow to stop and can't do anything without bt-pan +#systemctl stop bt-agent systemctl disable bt-pan systemctl stop bt-pan + +bluetoothctl < Date: Mon, 3 Jun 2019 11:52:04 -0400 Subject: [PATCH 04/10] forgot to add --- roles/bluetooth/templates/network.conf.j2 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 roles/bluetooth/templates/network.conf.j2 diff --git a/roles/bluetooth/templates/network.conf.j2 b/roles/bluetooth/templates/network.conf.j2 new file mode 100644 index 000000000..a29bc7521 --- /dev/null +++ b/roles/bluetooth/templates/network.conf.j2 @@ -0,0 +1,9 @@ +# Configuration file for the network service + +[General] + +# Disable link encryption: default=false +#DisableSecurity=true + +[NAP Role] +Interface=br0 From c94368928f48b220c5e250f7a9e1b75d3a908c82 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Mon, 3 Jun 2019 11:54:43 -0400 Subject: [PATCH 05/10] update README.rst --- roles/bluetooth/README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/bluetooth/README.rst b/roles/bluetooth/README.rst index 357e0ee4c..5f1104ff1 100644 --- a/roles/bluetooth/README.rst +++ b/roles/bluetooth/README.rst @@ -4,8 +4,8 @@ Bluetooth README This role provides two services, pan or Personal Area Network, and term, terminal emulation. -The terminal operates at 115200 bps. - They may be turned on or off with iiab-bt-pan-on(off) and iiab-bt-term-on(off), respectively. -The role is only available for the Raspberry Pi. +The terminal emulates a vt100 and operates at 115200 bps, but does not always connect reliably. + +This role is only available for the Raspberry Pi. From b8436c1e3c6e021269d377e722c83b6beea5aba2 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Mon, 3 Jun 2019 11:56:44 -0400 Subject: [PATCH 06/10] turn on install and off the services by default --- vars/default_vars.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 0bd29da24..be95dff3c 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -88,6 +88,11 @@ reboot_to_AP: False # For those installing IIAB over WiFi: "reboot_to_AP: True" overrides the above # detection of WiFi-as-gateway, forcing "hostapd_enabled: True" regardless. +# Bluetooth PAN access to server +bluetooth_install: True +bluetooth_enabled: False +bluetooth_term_enabled: False + # Gateway mode iiab_lan_enabled: True iiab_wan_enabled: True From 0788563287ecc9b41768b3e1c507d863c946ccb9 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Sat, 15 Jun 2019 14:24:20 -0400 Subject: [PATCH 07/10] move discoverable inside service --- roles/bluetooth/templates/bt-pan.service.j2 | 6 +++++- roles/bluetooth/templates/iiab-bt-pan-discoverable-on.j2 | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 roles/bluetooth/templates/iiab-bt-pan-discoverable-on.j2 diff --git a/roles/bluetooth/templates/bt-pan.service.j2 b/roles/bluetooth/templates/bt-pan.service.j2 index 56a1a6bdf..8512bec1b 100644 --- a/roles/bluetooth/templates/bt-pan.service.j2 +++ b/roles/bluetooth/templates/bt-pan.service.j2 @@ -1,9 +1,13 @@ [Unit] Description=Bluetooth NEP PAN -After=br0.network +#After=br0.network +Before=network.target +After=network-pre.target +Requires=network-pre.target [Service] ExecStart=/usr/bin/bt-network -s nap br0 +ExecStartPost=/usr/local/bin/iiab-bt-pan-discoverable-on Type=simple [Install] diff --git a/roles/bluetooth/templates/iiab-bt-pan-discoverable-on.j2 b/roles/bluetooth/templates/iiab-bt-pan-discoverable-on.j2 new file mode 100644 index 000000000..fc6030e7c --- /dev/null +++ b/roles/bluetooth/templates/iiab-bt-pan-discoverable-on.j2 @@ -0,0 +1,5 @@ +#!/bin/bash + +bluetoothctl < Date: Sat, 15 Jun 2019 15:13:59 -0400 Subject: [PATCH 08/10] various fixes --- roles/bluetooth/tasks/rpi_install.yml | 10 +++++++++- roles/bluetooth/templates/bt-pan.service.j2 | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/roles/bluetooth/tasks/rpi_install.yml b/roles/bluetooth/tasks/rpi_install.yml index 1aad8b06a..3cf82c49b 100644 --- a/roles/bluetooth/tasks/rpi_install.yml +++ b/roles/bluetooth/tasks/rpi_install.yml @@ -33,13 +33,21 @@ 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: '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: /lib/systemd/system/bluetooth.service + path: /etc/systemd/system/bluetooth.service regexp: '^ExecStart=/usr/lib/bluetooth/bluetoothd' line: 'ExecStart=/usr/lib/bluetooth/bluetoothd -C --noplugin=sap' diff --git a/roles/bluetooth/templates/bt-pan.service.j2 b/roles/bluetooth/templates/bt-pan.service.j2 index 8512bec1b..eb913841d 100644 --- a/roles/bluetooth/templates/bt-pan.service.j2 +++ b/roles/bluetooth/templates/bt-pan.service.j2 @@ -7,7 +7,7 @@ Requires=network-pre.target [Service] ExecStart=/usr/bin/bt-network -s nap br0 -ExecStartPost=/usr/local/bin/iiab-bt-pan-discoverable-on +ExecStartPost=/usr/bin/iiab-bt-pan-discoverable-on Type=simple [Install] From 715be6a62b1eaf2862a61f5444a8a5c7d888d208 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Sat, 15 Jun 2019 15:16:56 -0400 Subject: [PATCH 09/10] remove systemctl restart networking --- roles/network/templates/network/iiab-hotspot-off | 2 +- roles/network/templates/network/iiab-hotspot-on | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/network/templates/network/iiab-hotspot-off b/roles/network/templates/network/iiab-hotspot-off index ceaae55b1..2341c6f5b 100755 --- a/roles/network/templates/network/iiab-hotspot-off +++ b/roles/network/templates/network/iiab-hotspot-off @@ -6,7 +6,7 @@ systemctl stop hostapd #systemctl stop dnsmasq systemctl daemon-reload systemctl restart dhcpcd -systemctl restart networking +#systemctl restart networking 6/15/2019 TFM removed # Temporary promiscuous-mode workaround for RPi's WiFi "10SEC disease" # Set wlan0 to promiscuous when AP's OFF (for possible WiFi gateway) diff --git a/roles/network/templates/network/iiab-hotspot-on b/roles/network/templates/network/iiab-hotspot-on index aa9d62500..9b57c579a 100755 --- a/roles/network/templates/network/iiab-hotspot-on +++ b/roles/network/templates/network/iiab-hotspot-on @@ -7,7 +7,7 @@ systemctl enable hostapd #systemctl enable dnsmasq systemctl daemon-reload systemctl restart dhcpcd -systemctl restart networking +#systemctl restart networking 6/15/2019 TFM removed systemctl start hostapd systemctl start dnsmasq From ff70422df7a6155020eea5bffcfffff243e79041 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Sat, 15 Jun 2019 15:22:16 -0400 Subject: [PATCH 10/10] put in 4 --- roles/4-server-options/tasks/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/4-server-options/tasks/main.yml b/roles/4-server-options/tasks/main.yml index eca44a6fb..2a908b772 100644 --- a/roles/4-server-options/tasks/main.yml +++ b/roles/4-server-options/tasks/main.yml @@ -28,6 +28,12 @@ when: squid_install | bool tags: base, squid, network, domain +- name: Install Bluetooth - only on Raspberry Pi + include_role: + name: bluetooth + when: is_rpi | bool and bluetooth_install | bool + tags: bluetooth + # NETWORK moved to the very end, after Stage 9 (9-LOCAL-ADDONS) # It can also be run manually using: cd /opt/iiab/iiab; ./iiab-network #