linux-firmware: Update brcmfmac43430 to 7.45.41.46

The version of this firmware provided by linux-firmware is 7.45.41.26. This
version seems to have connectivity issues when bonding interfaces. Raspbian
included an updated version (7.45.41.46) which tested, proved to fix this
problem (see https://github.com/resin-os/meta-resin/issues/812).

The version Raspbian is providing is not yet in linux-firmware as they have it
directly from Cypress (see https://github.com/RPi-Distro/repo/issues/88).
Besides the issue described above, it fixes various other issues including a
broadpwn fix.

Hopefully this version, or a newer one, will end up in upstream soon. In order
to catch when that happens and stop overwriting this firmware, a check is added
in the racipe based on the md5sum of the current shipped firmware.

In terms of ditribution license, we got an informal one in the github thread
mentioned above.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This commit is contained in:
Andrei Gherzan 2017-09-14 11:53:44 +01:00
parent f2896b0e5c
commit acd5869235
3 changed files with 27 additions and 20 deletions

View File

@ -1,19 +1,20 @@
# NVRAM file for BCM943430WLPTH # NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode # 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated. # The following parameter values are just placeholders, need to be updated.
manfid=0x2d0 manfid=0x2d0
prodid=0x0727 prodid=0x0726
vendid=0x14e4 vendid=0x14e4
devid=0x43e2 devid=0x43e2
boardtype=0x0727 boardtype=0x0726
boardrev=0x1101 boardrev=0x1202
boardnum=22 boardnum=22
macaddr=00:90:4c:c5:12:38 macaddr=00:90:4c:c5:12:38
sromrev=11 sromrev=11
boardflags=0x00404201 boardflags=0x00404201
boardflags3=0x08000000 boardflags3=0x08000000
xtalfreq=37400 xtalfreq=37400
#xtalfreq=19200
nocrc=1 nocrc=1
ag0=255 ag0=255
aa2g=1 aa2g=1
@ -21,6 +22,7 @@ ccode=ALL
pa0itssit=0x20 pa0itssit=0x20
extpagain2g=0 extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT #PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820 pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8 AvVmid_c0=0x0,0xc8
@ -40,15 +42,9 @@ ofdmdigfilttypebe=18
# PAPD mode: # PAPD mode:
papdmode=1 papdmode=1
papdvalidtest=1 papdvalidtest=1
pacalidx2g=42 pacalidx2g=32
papdepsoffset=-22 papdepsoffset=-36
papdendidx=58 papdendidx=61
# LTECX flags
ltecxmux=0
ltecxpadnum=0x0102
ltecxfnsel=0x44
ltecxgcigpio=0x01
il0macaddr=00:90:4c:c5:12:38 il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b wl0id=0x431b
@ -61,6 +57,3 @@ muxenab=0x1
#VCO freq 326.4MHz #VCO freq 326.4MHz
spurconfig=0x3 spurconfig=0x3
edonthd20l=-75
edoffthd20ul=-80

View File

@ -1,12 +1,26 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://brcmfmac43430-sdio.txt" SRC_URI += " \
file://brcmfmac43430-sdio.bin \
file://brcmfmac43430-sdio.txt \
"
do_install_append() { do_install_append() {
install -D -m 0644 ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm/brcmfmac43430-sdio.txt # Overwrite v7.45.41.26 by the one we currently provide in this layer
# (v7.45.41.46)
local _firmware="brcmfmac43430-sdio.bin"
local _oldmd5=9258986488eca9fe5343b0d6fe040f8e
if [ "$(md5sum ${D}/lib/firmware/brcm/$_firmware | awk '{print $1}')" != "$_oldmd5" ]; then
_firmware=""
bbwarn "linux-firmware stopped providing brcmfmac43430 v7.45.41.26."
else
_firmware="${WORKDIR}/$_firmware"
fi
mkdir -p ${D}/lib/firmware/brcm
install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm
} }
FILES_${PN}-bcm43430 += " \ FILES_${PN}-bcm43430 += " \
/lib/firmware/brcm/brcmfmac43430-sdio.txt \ /lib/firmware/brcm/brcmfmac43430-sdio.txt \
" "