2020-09-22 17:17:34 +00:00
|
|
|
- name: Back up originals then download firmware (for RPi internal WiFi)
|
|
|
|
include_tasks: download.yml
|
|
|
|
when: firmware_downloaded is undefined # SEE ALSO firmware_installed below
|
2020-08-02 18:36:56 +00:00
|
|
|
|
2022-01-07 06:59:21 +00:00
|
|
|
|
2022-01-07 08:47:39 +00:00
|
|
|
# Set 2 symlinks for RPi 3 B+ and 4 (43455)
|
2023-02-25 08:42:23 +00:00
|
|
|
# COMPARE: update-alternatives --display cyfmac43455-sdio.bin
|
|
|
|
# https://github.com/moodlebox/moodlebox/blob/main/roles/accesspoint/tasks/main.yml#L3-L6
|
2022-01-07 06:59:21 +00:00
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Populate rpi3bplus_rpi4_wifi_firmwares dictionary (lookup table for operator-chosen .bin and .clm_blob files in /lib/firmware/cypress)
|
2022-01-07 06:59:21 +00:00
|
|
|
set_fact:
|
|
|
|
rpi3bplus_rpi4_wifi_firmwares: # Dictionary keys (left side) are always strings, e.g. "19"
|
|
|
|
os:
|
2023-02-25 08:42:23 +00:00
|
|
|
- cyfmac43455-sdio.bin.orig # 2023-02-25: 7.45.241 from 2021-11-01 on Ubuntu 22.04.2 too (cyfmac43455-sdio-standard.bin)
|
|
|
|
- cyfmac43455-sdio.clm_blob.orig # On Ubuntu 22.04.2 too (brcmfmac43455-sdio.clm_blob_2021-11-17_rpi)
|
|
|
|
ub:
|
|
|
|
- cyfmac43455-sdio.bin.distrib # 2023-02-25: STALE 7.45.234 from 2021-04-15; on Ubuntu 22.04.2 NOT RasPiOS
|
|
|
|
- cyfmac43455-sdio.clm_blob.distrib # 4.7K instead of 2.7K w/ above "os"
|
2022-01-07 06:59:21 +00:00
|
|
|
19:
|
2023-02-25 08:42:23 +00:00
|
|
|
- brcmfmac43455-sdio.bin_2021-11-30_minimal # On Ubuntu 22.04.2 too (cyfmac43455-sdio-minimal.bin)
|
|
|
|
- brcmfmac43455-sdio.clm_blob_2021-11-17_rpi # On Ubuntu 22.04.2 too (cyfmac43455-sdio.clm_blob)
|
2022-01-07 06:59:21 +00:00
|
|
|
24:
|
|
|
|
- brcmfmac43455-sdio.bin_2021-10-05_3rd-trial-minimal
|
2023-02-25 08:42:23 +00:00
|
|
|
- brcmfmac43455-sdio.clm_blob_2021-11-17_rpi # On Ubuntu 22.04.2 too (cyfmac43455-sdio.clm_blob)
|
2022-01-07 06:59:21 +00:00
|
|
|
32:
|
|
|
|
- brcmfmac43455-sdio.bin_2015-03-01_7.45.18.0_ub19.10.1
|
2023-02-25 08:42:23 +00:00
|
|
|
- brcmfmac43455-sdio.clm_blob_2018-02-26_rpi # 14K instead of 2.7K w/ above "os"
|
2022-01-07 06:59:21 +00:00
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Symlink /lib/firmware/cypress/cyfmac43455-sdio.bin.iiab -> {{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][0] }} (as rpi3bplus_rpi4_wifi_firmware is "{{ rpi3bplus_rpi4_wifi_firmware }}")
|
2022-01-07 06:59:21 +00:00
|
|
|
file:
|
|
|
|
src: "{{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][0] }}"
|
2023-02-25 08:42:23 +00:00
|
|
|
path: /lib/firmware/cypress/cyfmac43455-sdio.bin.iiab
|
2022-01-07 06:59:21 +00:00
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Symlink /lib/firmware/cypress/cyfmac43455-sdio.clm_blob.iiab -> {{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][1] }} (as rpi3bplus_rpi4_wifi_firmware is "{{ rpi3bplus_rpi4_wifi_firmware }}")
|
2022-01-07 06:59:21 +00:00
|
|
|
file:
|
|
|
|
src: "{{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][1] }}"
|
2023-02-25 08:42:23 +00:00
|
|
|
path: /lib/firmware/cypress/cyfmac43455-sdio.clm_blob.iiab
|
2022-01-07 06:59:21 +00:00
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
|
|
|
|
|
2022-01-07 08:47:39 +00:00
|
|
|
# Set 2 symlinks for RPi Zero W and 3 (43430)
|
2022-01-07 06:59:21 +00:00
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Populate rpizerow_rpi3_wifi_firmwares dictionary (lookup table for operator-chosen .bin and .clm_blob files in /lib/firmware/cypress)
|
2022-01-07 06:59:21 +00:00
|
|
|
set_fact:
|
|
|
|
rpizerow_rpi3_wifi_firmwares:
|
|
|
|
os:
|
2023-02-25 08:42:23 +00:00
|
|
|
- cyfmac43430-sdio.bin.orig # 2023-02-25: 7.45.98 from 2021-07-19 on Ubuntu 22.04.2 too
|
|
|
|
- cyfmac43430-sdio.clm_blob.orig # On Ubuntu 22.04.2 too
|
|
|
|
ub:
|
|
|
|
- cyfmac43430-sdio.bin.distrib # 2023-02-25: STALE 7.45.98.118 from 2021-03-30; on Ubuntu 22.04.2 NOT RasPiOS
|
|
|
|
- cyfmac43430-sdio.clm_blob.distrib # Identical to above 4.7K cyfmac43430-sdio.clm_blob
|
2022-01-07 06:59:21 +00:00
|
|
|
30:
|
|
|
|
- brcmfmac43430-sdio.bin_2018-09-11_7.45.98.65
|
2023-02-25 08:42:23 +00:00
|
|
|
- brcmfmac43430-sdio.clm_blob_2018-09-11_7.45.98.65 # 14K instead of 4.7K w/ above "os" & "ub"
|
2022-01-07 06:59:21 +00:00
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Symlink /lib/firmware/cypress/cyfmac43430-sdio.bin.iiab -> {{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][0] }} (as rpizerow_rpi3_wifi_firmware is "{{ rpizerow_rpi3_wifi_firmware }}")
|
2022-01-07 06:59:21 +00:00
|
|
|
file:
|
|
|
|
src: "{{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][0] }}"
|
2023-02-25 08:42:23 +00:00
|
|
|
path: /lib/firmware/cypress/cyfmac43430-sdio.bin.iiab
|
2022-01-07 06:59:21 +00:00
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
|
2023-02-25 08:42:23 +00:00
|
|
|
- name: Symlink /lib/firmware/cypress/cyfmac43430-sdio.clm_blob.iiab -> {{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][1] }} (as rpizerow_rpi3_wifi_firmware is "{{ rpizerow_rpi3_wifi_firmware }}")
|
2022-01-07 06:59:21 +00:00
|
|
|
file:
|
|
|
|
src: "{{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][1] }}"
|
2023-02-25 08:42:23 +00:00
|
|
|
path: /lib/firmware/cypress/cyfmac43430-sdio.clm_blob.iiab
|
2022-01-07 06:59:21 +00:00
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
|
|
|
|
|
2021-07-28 02:44:52 +00:00
|
|
|
- name: 'Install from template: /usr/bin/iiab-check-firmware, /etc/systemd/system/iiab-check-firmware.service & /etc/profile.d/iiab-firmware-warn.sh'
|
2020-09-22 17:17:34 +00:00
|
|
|
template:
|
|
|
|
src: "{{ item.src }}"
|
2020-08-02 18:36:56 +00:00
|
|
|
dest: "{{ item.dest }}"
|
2020-09-22 17:17:34 +00:00
|
|
|
mode: "{{ item.mode }}"
|
2020-08-02 18:36:56 +00:00
|
|
|
with_items:
|
2021-07-28 02:36:07 +00:00
|
|
|
- { src: 'iiab-check-firmware', dest: '/usr/bin/', mode: '0755' }
|
|
|
|
- { src: 'iiab-check-firmware.service', dest: '/etc/systemd/system/', mode: '0644' }
|
|
|
|
- { src: 'iiab-firmware-warn.sh', dest: '/etc/profile.d/', mode: '0644' }
|
2020-09-22 17:17:34 +00:00
|
|
|
|
2023-02-26 02:16:17 +00:00
|
|
|
- name: Enable & (Re)Start iiab-check-firmware.service (also runs on each boot) -- finalizing 2-or-4 symlink chains e.g. /lib/firmware/cypress/X.{bin|blob} -> /lib/firmware/cypress/X.{bin|blob}.iiab -> CHOSEN-FIRMWARE-FILE-OR-LINK
|
2020-09-22 17:17:34 +00:00
|
|
|
systemd:
|
2021-07-28 02:36:07 +00:00
|
|
|
name: iiab-check-firmware.service
|
2020-09-22 17:17:34 +00:00
|
|
|
daemon_reload: yes
|
|
|
|
state: restarted
|
|
|
|
enabled: yes
|
2020-08-02 18:36:56 +00:00
|
|
|
|
2020-08-09 13:21:29 +00:00
|
|
|
|
2020-09-22 17:17:34 +00:00
|
|
|
# RECORD firmware AS INSTALLED
|
2020-08-09 13:21:29 +00:00
|
|
|
|
2020-09-22 17:17:34 +00:00
|
|
|
- name: "Set 'firmware_installed: True'"
|
2020-08-09 13:21:29 +00:00
|
|
|
set_fact:
|
2020-09-22 17:17:34 +00:00
|
|
|
firmware_installed: True
|
2020-08-09 13:21:29 +00:00
|
|
|
|
2020-09-22 17:17:34 +00:00
|
|
|
- name: "Add 'firmware_installed: True' to {{ iiab_state_file }}"
|
2020-08-02 18:36:56 +00:00
|
|
|
lineinfile:
|
|
|
|
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
|
2020-09-22 17:17:34 +00:00
|
|
|
regexp: '^firmware_installed'
|
|
|
|
line: 'firmware_installed: True'
|
|
|
|
|
|
|
|
# SEE ALSO firmware_downloaded above & in download.yml
|