mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
Clarify RPi WiFi firmware capacity options
This commit is contained in:
parent
64efea041d
commit
81790ba305
4 changed files with 53 additions and 71 deletions
|
@ -3,9 +3,9 @@
|
|||
when: firmware_downloaded is undefined # SEE ALSO firmware_installed below
|
||||
|
||||
|
||||
# Set 2 symlinks for RPi 3 B+ and 4
|
||||
# Set 2 symlinks for RPi 3 B+ and 4 (43455)
|
||||
|
||||
- name: Populate rpi3bplus_rpi4_wifi_firmwares dictionary (lookup table for 43455 .bin and .clm_blob files in /lib/firmware/brcm)
|
||||
- name: Populate rpi3bplus_rpi4_wifi_firmwares dictionary (lookup table for operator-chosen .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:
|
||||
|
@ -21,14 +21,14 @@
|
|||
- 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 }}")
|
||||
- name: Symlink /lib/firmware/brcm/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 }}")
|
||||
- name: Symlink /lib/firmware/brcm/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
|
||||
|
@ -36,9 +36,9 @@
|
|||
force: yes
|
||||
|
||||
|
||||
# Set 2 symlinks for RPi Zero W and 3
|
||||
# Set 2 symlinks for RPi Zero W and 3 (43430)
|
||||
|
||||
- name: Populate rpizerow_rpi3_wifi_firmwares dictionary (lookup table for 43430 .bin and .clm_blob files in /lib/firmware/brcm)
|
||||
- name: Populate rpizerow_rpi3_wifi_firmwares dictionary (lookup table for operator-chosen .bin and .clm_blob files in /lib/firmware/brcm)
|
||||
set_fact:
|
||||
rpizerow_rpi3_wifi_firmwares:
|
||||
os:
|
||||
|
@ -48,14 +48,14 @@
|
|||
- 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 }}")
|
||||
- name: Symlink /lib/firmware/brcm/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 }}")
|
||||
- name: Symlink /lib/firmware/brcm/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
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
# Please set 'wifi_hotspot_capacity_rpi_fix: True' in /etc/iiab/local_vars.yml
|
||||
# to restore support for 30-32 WiFi client devices on most Raspberry Pis that
|
||||
# have internal WiFi. This installs firmware 7.45.98.65 for Zero W and RPi 3
|
||||
# and firmware 7.45.18.0 for RPi 3 B+ and RPi 4. Capacity testing writeup:
|
||||
# https://github.com/iiab/iiab/issues/823#issuecomment-662285202
|
||||
# Please set 'rpi3bplus_rpi4_wifi_firmware' and 'rpizerow_rpi3_wifi_firmware' in
|
||||
# /etc/iiab/local_vars.yml to increase (or modify) the number of student WiFi
|
||||
# client devices that can access your Raspberry Pi's internal WiFi hotspot.
|
||||
|
||||
# If IIAB's already installed, you should then run 'cd /opt/iiab/iiab'
|
||||
# followed by 'sudo ./runrole firmware'
|
||||
|
||||
# Background: https://github.com/iiab/iiab/issues/823#issuecomment-662285202
|
||||
|
||||
- name: Install firmware (for RPi internal WiFi)
|
||||
include_tasks: install.yml
|
||||
#when: firmware_installed is undefined
|
||||
|
||||
# Two variable are placed in /etc/iiab/iiab_state.yml:
|
||||
# Two variables are placed in /etc/iiab/iiab_state.yml:
|
||||
#
|
||||
# - firmware_downloaded (set in download.yml) is used in install.yml
|
||||
#
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
WARN=false
|
||||
DATE=$(date +%F-%T)
|
||||
|
||||
# 2021-08-18: bash scripts using default_vars.yml &/or local_vars.yml
|
||||
|
@ -10,53 +9,36 @@ DATE=$(date +%F-%T)
|
|||
# https://github.com/iiab/maps/blob/master/osm-source/pages/viewer/scripts/iiab-install-map-region#L25-L34
|
||||
# https://github.com/iiab/iiab/blob/master/roles/openvpn/templates/iiab-support READS AND WRITES, INCL NON-BOOLEAN
|
||||
|
||||
if grep -q '^wifi_hotspot_capacity_rpi_fix:\s\+[fF]alse\b' /etc/iiab/local_vars.yml ; then
|
||||
echo "'wifi_hotspot_capacity_rpi_fix: False' found in /etc/iiab/local_vars.yml"
|
||||
echo "...so WiFi firmware will NOT be checked or replaced."
|
||||
exit 0
|
||||
fi
|
||||
if ! grep -q '^rpi3bplus_rpi4_wifi_firmware:\s\+os\b' /etc/iiab/local_vars.yml ; then
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43455-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43455-sdio.bin ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43455-sdio.bin /lib/firmware/brcm/brcmfmac43455-sdio.bin.$DATE
|
||||
ln -sf brcmfmac43455-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43455-sdio.bin
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43455-sdio.bin"
|
||||
touch /tmp/.fw_replaced
|
||||
fi
|
||||
|
||||
echo -e "'wifi_hotspot_capacity_rpi_fix: True' presumed..."
|
||||
echo -e "...in /etc/iiab/local_vars.yml (or /opt/iiab/iiab/vars/default_vars.yml ?)\n"
|
||||
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43455-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43455-sdio.bin ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43455-sdio.bin /lib/firmware/brcm/brcmfmac43455-sdio.bin.$DATE
|
||||
ln -sf brcmfmac43455-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43455-sdio.bin
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43455-sdio.bin"
|
||||
WARN=true
|
||||
fi
|
||||
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.$DATE
|
||||
ln -sf brcmfmac43455-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob"
|
||||
WARN=true
|
||||
fi
|
||||
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43430-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43430-sdio.bin ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43430-sdio.bin /lib/firmware/brcm/brcmfmac43430-sdio.bin.$DATE
|
||||
ln -sf brcmfmac43430-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43430-sdio.bin
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43430-sdio.bin"
|
||||
WARN=true
|
||||
fi
|
||||
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.$DATE
|
||||
ln -sf brcmfmac43430-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob"
|
||||
WARN=true
|
||||
fi
|
||||
|
||||
if $($WARN); then
|
||||
echo -e "\n \e[41;1mWiFi Firmware has been replaced, per iiab/iiab#823.\e[0m"
|
||||
echo -e " \e[41;1mReboot is required to activate.\e[0m\n"
|
||||
touch /.fw_replaced
|
||||
#echo "rebooting..."
|
||||
#reboot
|
||||
else
|
||||
echo -e " WiFi Firmware check \e[42;1mPASSED\e[0m, per iiab/iiab#823." # Or \e[92m for green on black
|
||||
echo -e " (Assuming you've rebooted since it was replaced!)\n"
|
||||
if [ -f /.fw_replaced ]; then
|
||||
rm /.fw_replaced
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.$DATE
|
||||
ln -sf brcmfmac43455-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob"
|
||||
touch /tmp/.fw_replaced
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! grep -q '^rpizerow_rpi3_wifi_firmware:\s\+os\b' /etc/iiab/local_vars.yml ; then
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43430-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43430-sdio.bin ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43430-sdio.bin /lib/firmware/brcm/brcmfmac43430-sdio.bin.$DATE
|
||||
ln -sf brcmfmac43430-sdio.bin.iiab /lib/firmware/brcm/brcmfmac43430-sdio.bin
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43430-sdio.bin"
|
||||
touch /tmp/.fw_replaced
|
||||
fi
|
||||
|
||||
if ! cmp -s /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob ; then
|
||||
mv /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob.$DATE
|
||||
ln -sf brcmfmac43430-sdio.clm_blob.iiab /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
||||
echo "Replaced /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob"
|
||||
touch /tmp/.fw_replaced
|
||||
fi
|
||||
fi
|
||||
|
||||
bash < /etc/profile.d/iiab-firmware-warn.sh
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -f /.fw_replaced ]; then
|
||||
echo -e "\n \e[41;1mWiFi Firmware has been replaced, per iiab/iiab#823.\e[0m"
|
||||
if grep -q '^wifi_hotspot_capacity_rpi_fix:\s\+[fF]alse\b' /etc/iiab/local_vars.yml ; then
|
||||
echo -e " \e[100;1mIf you want these warnings to stop, run:\e[0m"
|
||||
echo
|
||||
echo -e " \e[100;1msudo rm /.fw_replaced\e[0m\n"
|
||||
else
|
||||
echo -e " \e[41;1mReboot is required to activate.\e[0m\n"
|
||||
fi
|
||||
if [ -f /tmp/.fw_replaced ]; then
|
||||
echo -e "\n\e[41;1mWiFi Firmware has been replaced, per iiab/iiab#823.\e[0m"
|
||||
echo -e "\e[41;1mReboot is required to activate.\e[0m"
|
||||
echo
|
||||
echo -e "\e[100;1mIf you want these warnings to stop, run:\e[0m"
|
||||
echo -e "\e[100;1msudo rm /tmp/.fw_replaced\e[0m\n"
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue