1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

WIP: RPi WiFi firmware cleanup/options, espec for 3B+ & 4

This commit is contained in:
root 2022-01-07 01:59:21 -05:00
parent 32d54c35ee
commit 64efea041d
8 changed files with 207 additions and 70 deletions

View file

@ -1,22 +1,27 @@
- name: Back up original e.g. OS-provided firmware (for RPi internal WiFi)
- name: Back up 4 OS-provided firmware files to .orig (for RPi internal WiFi)
copy:
src: "/lib/firmware/brcm/{{ item }}"
dest: "/lib/firmware/brcm/{{ item }}.orig"
src: /lib/firmware/brcm/{{ item }}
dest: /lib/firmware/brcm/{{ item }}.orig
with_items:
- brcmfmac43430-sdio.bin
- brcmfmac43430-sdio.clm_blob
- brcmfmac43455-sdio.bin
- brcmfmac43455-sdio.clm_blob
ignore_errors: yes
- name: Download high-capacity older firmware (for RPi internal WiFi, per https://github.com/iiab/iiab/issues/823#issuecomment-662285202)
- name: Download high-capacity firmware (for RPi internal WiFi, per https://github.com/iiab/iiab/issues/823#issuecomment-662285202)
get_url:
url: "{{ item.url }}"
dest: "{{ item.dest }}"
url: "{{ item }}"
dest: /lib/firmware/brcm/
timeout: "{{ download_timeout }}"
with_items:
- { url: 'http://d.iiab.io/packages/brcmfmac43430-sdio.bin_2018-09-11_7.45.98.65', dest: '/lib/firmware/brcm/brcmfmac43430-sdio.bin.iiab' }
- { url: 'http://d.iiab.io/packages/brcmfmac43430-sdio.clm_blob_2018-09-11_7.45.98.65', dest: '/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.iiab' }
- { url: 'http://d.iiab.io/packages/brcmfmac43455-sdio.bin_2015-03-01_7.45.18.0_ub19.10.1', dest: '/lib/firmware/brcm/brcmfmac43455-sdio.bin.iiab' }
- { url: 'http://d.iiab.io/packages/brcmfmac43455-sdio.clm_blob_2018-02-26_rpi', dest: '/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.iiab' }
- http://d.iiab.io/packages/brcmfmac43455-sdio.bin_2021-11-30_minimal # 19 -- from https://github.com/RPi-Distro/firmware-nonfree/blob/feeeda21e930c2e182484e8e1269b61cca2a8451/debian/config/brcm80211/cypress/cyfmac43455-sdio-minimal.bin
- http://d.iiab.io/packages/brcmfmac43455-sdio.bin_2021-10-05_3rd-trial-minimal # 24
- http://d.iiab.io/packages/brcmfmac43455-sdio.clm_blob_2021-11-17_rpi # Works w/ both above -- from https://github.com/RPi-Distro/firmware-nonfree/blob/dc406650e840705957f8403efeacf71d2d7543b3/debian/config/brcm80211/cypress/cyfmac43455-sdio.clm_blob
- http://d.iiab.io/packages/brcmfmac43455-sdio.bin_2015-03-01_7.45.18.0_ub19.10.1 # 32
- http://d.iiab.io/packages/brcmfmac43455-sdio.clm_blob_2018-02-26_rpi
- http://d.iiab.io/packages/brcmfmac43430-sdio.bin_2018-09-11_7.45.98.65 # 30
- http://d.iiab.io/packages/brcmfmac43430-sdio.clm_blob_2018-09-11_7.45.98.65
# RECORD firmware AS DOWNLOADED

View file

@ -2,6 +2,67 @@
include_tasks: download.yml
when: firmware_downloaded is undefined # SEE ALSO firmware_installed below
# Set 2 symlinks for RPi 3 B+ and 4
- name: Populate rpi3bplus_rpi4_wifi_firmwares dictionary (lookup table for 43455 .bin and .clm_blob files in /lib/firmware/brcm)
set_fact:
rpi3bplus_rpi4_wifi_firmwares: # Dictionary keys (left side) are always strings, e.g. "19"
os:
- brcmfmac43455-sdio.bin.orig
- brcmfmac43455-sdio.clm_blob.orig
19:
- brcmfmac43455-sdio.bin_2021-11-30_minimal
- brcmfmac43455-sdio.clm_blob_2021-11-17_rpi
24:
- brcmfmac43455-sdio.bin_2021-10-05_3rd-trial-minimal
- brcmfmac43455-sdio.clm_blob_2021-11-17_rpi
32:
- brcmfmac43455-sdio.bin_2015-03-01_7.45.18.0_ub19.10.1
- brcmfmac43455-sdio.clm_blob_2018-02-26_rpi
- name: Symlink brcmfmac43455-sdio.bin.iiab -> {{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][0] }} (as rpi3bplus_rpi4_wifi_firmware is "{{ rpi3bplus_rpi4_wifi_firmware }}")
file:
src: "{{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][0] }}"
path: /lib/firmware/brcm/brcmfmac43455-sdio.bin.iiab
state: link
force: yes
- name: Symlink brcmfmac43455-sdio.clm_blob.iiab -> {{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][1] }} (as rpi3bplus_rpi4_wifi_firmware is "{{ rpi3bplus_rpi4_wifi_firmware }}")
file:
src: "{{ rpi3bplus_rpi4_wifi_firmwares[rpi3bplus_rpi4_wifi_firmware][1] }}"
path: /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.iiab
state: link
force: yes
# Set 2 symlinks for RPi Zero W and 3
- name: Populate rpizerow_rpi3_wifi_firmwares dictionary (lookup table for 43430 .bin and .clm_blob files in /lib/firmware/brcm)
set_fact:
rpizerow_rpi3_wifi_firmwares:
os:
- brcmfmac43430-sdio.bin.orig
- brcmfmac43430-sdio.clm_blob.orig
30:
- brcmfmac43430-sdio.bin_2018-09-11_7.45.98.65
- brcmfmac43430-sdio.clm_blob_2018-09-11_7.45.98.65
- name: Symlink brcmfmac43430-sdio.bin.iiab -> {{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][0] }} (as rpizerow_rpi3_wifi_firmware is "{{ rpizerow_rpi3_wifi_firmware }}")
file:
src: "{{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][0] }}"
path: /lib/firmware/brcm/brcmfmac43430-sdio.bin.iiab
state: link
force: yes
- name: Symlink brcmfmac43430-sdio.clm_blob.iiab -> {{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][1] }} (as rpizerow_rpi3_wifi_firmware is "{{ rpizerow_rpi3_wifi_firmware }}")
file:
src: "{{ rpizerow_rpi3_wifi_firmwares[rpizerow_rpi3_wifi_firmware][1] }}"
path: /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.iiab
state: link
force: yes
- name: 'Install from template: /usr/bin/iiab-check-firmware, /etc/systemd/system/iiab-check-firmware.service & /etc/profile.d/iiab-firmware-warn.sh'
template:
src: "{{ item.src }}"