From acd58692356df2bbdc3aa1d6b15f44c104ad3b45 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Thu, 14 Sep 2017 11:53:44 +0100 Subject: 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 --- .../linux-firmware/files/brcmfmac43430-sdio.bin | Bin 0 -> 372398 bytes .../linux-firmware/files/brcmfmac43430-sdio.txt | 25 ++++++++------------- .../linux-firmware/linux-firmware_%.bbappend | 22 ++++++++++++++---- 3 files changed, 27 insertions(+), 20 deletions(-) create mode 100644 recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin (limited to 'recipes-kernel') diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin new file mode 100644 index 0000000..6b955da Binary files /dev/null and b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin differ diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt index ea4f648..3d917a7 100644 --- a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt +++ b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt @@ -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 diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend index 252da22..565b735 100644 --- a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend +++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend @@ -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 \ + /lib/firmware/brcm/brcmfmac43430-sdio.txt \ " - -- cgit v1.2.3-54-g00ecf