diff options
author | Andrei Gherzan <andrei@gherzan.com> | 2017-09-14 11:53:44 +0100 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2017-09-21 23:11:13 +0100 |
commit | acd58692356df2bbdc3aa1d6b15f44c104ad3b45 (patch) | |
tree | 7b0071724116ba44df4edc6d694791edd746f84f | |
parent | f2896b0e5c0ae5dc4a523e569f33bfa6d2f55f86 (diff) | |
download | meta-raspberrypi-acd58692356df2bbdc3aa1d6b15f44c104ad3b45.tar.gz |
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>
-rw-r--r-- | recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin | bin | 0 -> 372398 bytes | |||
-rw-r--r-- | recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt | 25 | ||||
-rw-r--r-- | recipes-kernel/linux-firmware/linux-firmware_%.bbappend | 22 |
3 files changed, 27 insertions, 20 deletions
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 --- /dev/null +++ b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin | |||
Binary files 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 @@ | |||
1 | # NVRAM file for BCM943430WLPTH | 1 | # NVRAM file for BCM943430WLSELG |
2 | # 2.4 GHz, 20 MHz BW mode | 2 | # 2.4 GHz, 20 MHz BW mode |
3 | 3 | ||
4 | # The following parameter values are just placeholders, need to be updated. | 4 | # The following parameter values are just placeholders, need to be updated. |
5 | manfid=0x2d0 | 5 | manfid=0x2d0 |
6 | prodid=0x0727 | 6 | prodid=0x0726 |
7 | vendid=0x14e4 | 7 | vendid=0x14e4 |
8 | devid=0x43e2 | 8 | devid=0x43e2 |
9 | boardtype=0x0727 | 9 | boardtype=0x0726 |
10 | boardrev=0x1101 | 10 | boardrev=0x1202 |
11 | boardnum=22 | 11 | boardnum=22 |
12 | macaddr=00:90:4c:c5:12:38 | 12 | macaddr=00:90:4c:c5:12:38 |
13 | sromrev=11 | 13 | sromrev=11 |
14 | boardflags=0x00404201 | 14 | boardflags=0x00404201 |
15 | boardflags3=0x08000000 | 15 | boardflags3=0x08000000 |
16 | xtalfreq=37400 | 16 | xtalfreq=37400 |
17 | #xtalfreq=19200 | ||
17 | nocrc=1 | 18 | nocrc=1 |
18 | ag0=255 | 19 | ag0=255 |
19 | aa2g=1 | 20 | aa2g=1 |
@@ -21,6 +22,7 @@ ccode=ALL | |||
21 | 22 | ||
22 | pa0itssit=0x20 | 23 | pa0itssit=0x20 |
23 | extpagain2g=0 | 24 | extpagain2g=0 |
25 | |||
24 | #PA parameters for 2.4GHz, measured at CHIP OUTPUT | 26 | #PA parameters for 2.4GHz, measured at CHIP OUTPUT |
25 | pa2ga0=-168,7161,-820 | 27 | pa2ga0=-168,7161,-820 |
26 | AvVmid_c0=0x0,0xc8 | 28 | AvVmid_c0=0x0,0xc8 |
@@ -40,15 +42,9 @@ ofdmdigfilttypebe=18 | |||
40 | # PAPD mode: | 42 | # PAPD mode: |
41 | papdmode=1 | 43 | papdmode=1 |
42 | papdvalidtest=1 | 44 | papdvalidtest=1 |
43 | pacalidx2g=42 | 45 | pacalidx2g=32 |
44 | papdepsoffset=-22 | 46 | papdepsoffset=-36 |
45 | papdendidx=58 | 47 | papdendidx=61 |
46 | |||
47 | # LTECX flags | ||
48 | ltecxmux=0 | ||
49 | ltecxpadnum=0x0102 | ||
50 | ltecxfnsel=0x44 | ||
51 | ltecxgcigpio=0x01 | ||
52 | 48 | ||
53 | il0macaddr=00:90:4c:c5:12:38 | 49 | il0macaddr=00:90:4c:c5:12:38 |
54 | wl0id=0x431b | 50 | wl0id=0x431b |
@@ -61,6 +57,3 @@ muxenab=0x1 | |||
61 | 57 | ||
62 | #VCO freq 326.4MHz | 58 | #VCO freq 326.4MHz |
63 | spurconfig=0x3 | 59 | spurconfig=0x3 |
64 | |||
65 | edonthd20l=-75 | ||
66 | 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 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" |
2 | 2 | ||
3 | SRC_URI += "file://brcmfmac43430-sdio.txt" | 3 | SRC_URI += " \ |
4 | file://brcmfmac43430-sdio.bin \ | ||
5 | file://brcmfmac43430-sdio.txt \ | ||
6 | " | ||
4 | 7 | ||
5 | do_install_append() { | 8 | do_install_append() { |
6 | install -D -m 0644 ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm/brcmfmac43430-sdio.txt | 9 | # Overwrite v7.45.41.26 by the one we currently provide in this layer |
10 | # (v7.45.41.46) | ||
11 | local _firmware="brcmfmac43430-sdio.bin" | ||
12 | local _oldmd5=9258986488eca9fe5343b0d6fe040f8e | ||
13 | if [ "$(md5sum ${D}/lib/firmware/brcm/$_firmware | awk '{print $1}')" != "$_oldmd5" ]; then | ||
14 | _firmware="" | ||
15 | bbwarn "linux-firmware stopped providing brcmfmac43430 v7.45.41.26." | ||
16 | else | ||
17 | _firmware="${WORKDIR}/$_firmware" | ||
18 | fi | ||
19 | |||
20 | mkdir -p ${D}/lib/firmware/brcm | ||
21 | install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm | ||
7 | } | 22 | } |
8 | 23 | ||
9 | FILES_${PN}-bcm43430 += " \ | 24 | FILES_${PN}-bcm43430 += " \ |
10 | /lib/firmware/brcm/brcmfmac43430-sdio.txt \ | 25 | /lib/firmware/brcm/brcmfmac43430-sdio.txt \ |
11 | " | 26 | " |
12 | |||