From 760879c04d28ed1885157a6d43249fe05a0cb248b97372a896590a5a3dad6783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Thu, 8 Sep 2016 12:20:32 +0000 Subject: [PATCH] Accepting request 425705 from home:a_faerber:branches:hardware Refactor brcmfmac43{430,362}-sdio.txt symlink generation OBS-URL: https://build.opensuse.org/request/show/425705 OBS-URL: https://build.opensuse.org/package/show/hardware/bcm43xx-firmware?expand=0&rev=3 --- 50-brcmfmac.conf | 1 + bcm43xx-firmware.changes | 7 ++++++ bcm43xx-firmware.spec | 50 ++++++++++++++++++---------------------- install-brcmfmac.sh | 22 ++++++++++++++++++ 4 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 50-brcmfmac.conf create mode 100644 install-brcmfmac.sh diff --git a/50-brcmfmac.conf b/50-brcmfmac.conf new file mode 100644 index 0000000..66a500d --- /dev/null +++ b/50-brcmfmac.conf @@ -0,0 +1 @@ +install brcmfmac /usr/sbin/install-brcmfmac $CMDLINE_OPTS diff --git a/bcm43xx-firmware.changes b/bcm43xx-firmware.changes index 8aa8104..5c6c672 100644 --- a/bcm43xx-firmware.changes +++ b/bcm43xx-firmware.changes @@ -1,9 +1,16 @@ +------------------------------------------------------------------- +Wed Sep 7 17:32:02 UTC 2016 - afaerber@suse.de + +- Move %post script to install-brcmfmac.sh, add 50-brcmfmac.conf. + This avoids workarounds for Kiwi images. (tiwai) + ------------------------------------------------------------------- Sat Sep 3 00:47:54 UTC 2016 - afaerber@suse.de - Renamed package from bcm43430-firmware to bcm43xx-firmware (duwe) - Renamed brcmfmac43430-sdio.txt to brcmfmac43430-sdio-rpi3.txt and added post-install script to symlink +* Added brcmfmac43362-sdio-{cubietruck,bananapi-{m1+,m2}}.txt ------------------------------------------------------------------- Tue Aug 30 17:49:22 UTC 2016 - afaerber@suse.de diff --git a/bcm43xx-firmware.spec b/bcm43xx-firmware.spec index fa1a42e..34aaa9e 100644 --- a/bcm43xx-firmware.spec +++ b/bcm43xx-firmware.spec @@ -19,28 +19,35 @@ Name: bcm43xx-firmware Version: 20160301 Release: 0 -Summary: Firmware for the Broadcom BCM43xx chipset family +Summary: Firmware for the Broadcom/Cypress BCM43xx chipset family License: SUSE-Firmware Group: System/Kernel -Url: http://www.broadcom.com/products/wireless-connectivity +Url: https://community.cypress.com/community/linux # From https://github.com/raspberrypi/linux/issues/1325#issuecomment-195560582 # Phil Elwell (Raspberry Pi Foundation) wrote: "Broadcom have said that # the firmware files for the BCM43438 are covered under this licence:" Source0: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/LICENCE.broadcom_bcm43xx +Source1: 50-brcmfmac.conf +Source2: install-brcmfmac.sh +#BCM43362 Source3621: http://dl.cubieboard.org/public/Cubieboard/benn/firmware/ap6210/nvram_ap6210.txt#/brcmfmac43362-sdio-cubietruck.txt Source3622: https://github.com/Bananian/bananian/raw/master/deb/u-boot-m2-bananian_armhf/lib/firmware/brcm/brcmfmac43362-sdio.txt#/brcmfmac43362-sdio-bananapi-m2.txt Source3623: https://github.com/Bananian/bananian/raw/master/deb/u-boot-pro-bananian_armhf/lib/firmware/brcm/brcmfmac43362-sdio.txt#/brcmfmac43362-sdio-bananapi-m1+.txt +#BCM43430 Source4300: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin Source4301: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt#/brcmfmac43430-sdio-raspberrypi3b.txt Source4309: http://phelum.net/temp/BCM43430A1.hcd # Owns /lib/firmware/brcm and potentially conflicts BuildRequires: kernel-firmware +# Owns /etc/modprobe.d +BuildRequires: suse-module-tools BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description This package provides the firmware files needed for the -Broadcom BCM43430 Wifi+Bluetooth chipset. +Broadcom (now Cypress) BCM43430 Wifi+Bluetooth chipset +as well as NVRAM config files for BCM43362 and BCM43430. %prep %setup -q -c -T @@ -49,32 +56,19 @@ cp %{SOURCE0} . %build %install +mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d +install -c -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/modprobe.d +mkdir -p %{buildroot}%{_sbindir} +install -c -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/install-brcmfmac # Used by brcmfmac -install -D -m 0644 %{SOURCE3621} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-cubietruck.txt -install -D -m 0644 %{SOURCE3622} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-bananapi-m2.txt -install -D -m 0644 %{SOURCE3623} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-bananapi-m1+.txt -install -D -m 0644 %{SOURCE4300} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio.bin -install -D -m 0644 %{SOURCE4301} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio-raspberrypi3b.txt +mkdir -p %{buildroot}/lib/firmware/brcm +install -c -m 0644 %{SOURCE3621} %{buildroot}/lib/firmware/brcm/ +install -c -m 0644 %{SOURCE3622} %{buildroot}/lib/firmware/brcm/ +install -c -m 0644 %{SOURCE3623} %{buildroot}/lib/firmware/brcm/ +install -c -m 0644 %{SOURCE4300} %{buildroot}/lib/firmware/brcm/ +install -c -m 0644 %{SOURCE4301} %{buildroot}/lib/firmware/brcm/ # Used by bluez (hciattach) -install -D -m 0644 %{SOURCE4309} %{buildroot}/lib/firmware/BCM43430A1.hcd - -%post -if [[ -e /sys/firmware/devicetree/base/compatible ]]; then - case "$(cat /sys/firmware/devicetree/base/compatible 2>/dev/null)" in - *cubietech,cubietruck*) - ln -sf brcmfmac43362-sdio-cubietruck.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt - ;; - *sinovoip,bpi-m2*) - ln -sf brcmfmac43362-sdio-bananapi-m2.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt - ;; - *lemaker,bananapro*) - ln -sf brcmfmac43362-sdio-bananapi-m1+.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt - ;; - *raspberrypi,3-model-b*) - ln -sf brcmfmac43430-sdio-raspberrypi3b.txt /lib/firmware/brcm/brcmfmac43430-sdio.txt - ;; - esac -fi +install -c -m 0644 %{SOURCE4309} %{buildroot}/lib/firmware/ %files %defattr(-,root,root) @@ -84,5 +78,7 @@ fi /lib/firmware/brcm/*.txt %ghost /lib/firmware/brcm/brcmfmac43362-sdio.txt %ghost /lib/firmware/brcm/brcmfmac43430-sdio.txt +%{_sysconfdir}/modprobe.d/50-brcmfmac.conf +%{_sbindir}/install-brcmfmac %changelog diff --git a/install-brcmfmac.sh b/install-brcmfmac.sh new file mode 100644 index 0000000..50ff37d --- /dev/null +++ b/install-brcmfmac.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +if [[ -e /sys/firmware/devicetree/base/compatible ]]; then + case "$(cat /sys/firmware/devicetree/base/compatible 2>/dev/null)" in + *cubietech,cubietruck*) + ln -sf brcmfmac43362-sdio-cubietruck.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt + ;; + *sinovoip,bpi-m2*) + ln -sf brcmfmac43362-sdio-bananapi-m2.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt + ;; + *lemaker,bananapro*) + ln -sf brcmfmac43362-sdio-bananapi-m1+.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt + ;; + *raspberrypi,3-model-b*) + ln -sf brcmfmac43430-sdio-raspberrypi3b.txt /lib/firmware/brcm/brcmfmac43430-sdio.txt + ;; + esac +fi + +/usr/sbin/modprobe --ignore-install brcmfmac "$@" || exit $? + +exit 0