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

View File

@ -1,12 +1,26 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://brcmfmac43430-sdio.txt"
SRC_URI += " \
file://brcmfmac43430-sdio.bin \
file://brcmfmac43430-sdio.txt \
"
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 += " \
/lib/firmware/brcm/brcmfmac43430-sdio.txt \
"