summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoryjun2021-06-02 13:09:14 +0800
committeryjun2021-06-02 13:09:14 +0800
commit86a3d8fa0e03a3ba572aa0e2a3632f1bf6ec7bd0 (patch)
treebc7d76f19b4f34a8f3080a4d91d67fa903052d59
downloadaur-86a3d8fa0e03a3ba572aa0e2a3632f1bf6ec7bd0.tar.gz
updpkg: firmware-phicomm-n1 7-7
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD36
-rw-r--r--firmware-phicomm-n1.install25
3 files changed, 84 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..391b4ff73961
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = firmware-phicomm-n1
+ pkgdesc = Additional firmware for Phicomm N1
+ pkgver = 7
+ pkgrel = 7
+ url = https://github.com/RPi-Distro
+ install = firmware-phicomm-n1.install
+ arch = any
+ license = custom
+ depends = wireless-regdb
+ depends = uboot-tools
+ conflicts = firmware-raspberrypi
+ options = !strip
+ source = brcmfmac43455-sdio_7.7.clm_blob::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/f713a6054746bc61ece1c8696dce91a7b7e22dd9/brcm/brcmfmac43455-sdio.clm_blob
+ source = brcmfmac43455-sdio_7.7.txt::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/f713a6054746bc61ece1c8696dce91a7b7e22dd9/brcm/brcmfmac43455-sdio.txt
+ source = brcmfmac43455-sdio_7.7.bin::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/f713a6054746bc61ece1c8696dce91a7b7e22dd9/brcm/brcmfmac43455-sdio.bin
+ source = BCM4345C0_7.7.hcd::https://raw.staticdn.net/RPi-Distro/bluez-firmware/8445a53ce2c51a77472b908a0c8f6f8e1fa5c37a/broadcom/BCM4345C0.hcd
+ sha256sums = 2dbd7d22fc9af0eb560ceab45b19646d211bc7b34a1dd00c6bfac5dd6ba25e8a
+ sha256sums = ca709be81a78bdb6932936374f39943acbd7af07fae6151011127599a3ce9e3d
+ sha256sums = cf79e8e8727d103a94cd243f1d98770fa29f5da25df251d0d31b3696f3b4ac6a
+ sha256sums = c723c903655086c9f3a1de94a291f495a0f087f1ee6d3ee7bc4c558497aae7bc
+
+pkgname = firmware-phicomm-n1
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..d4cf9d682948
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: yjun <jerrysteve1101 at gmail dot com>
+# Origin Maintainer: Megumifox <i@megumifox.com>
+
+pkgname=firmware-phicomm-n1
+pkgver=7
+pkgrel=7
+pkgdesc="Additional firmware for Phicomm N1"
+arch=('any')
+conflicts=('firmware-raspberrypi')
+depends=('wireless-regdb' 'uboot-tools')
+install=${pkgname}.install
+url="https://github.com/RPi-Distro"
+license=('custom')
+_commitid_wl=f713a6054746bc61ece1c8696dce91a7b7e22dd9
+_commitid_bt=8445a53ce2c51a77472b908a0c8f6f8e1fa5c37a
+_ver="${pkgver}.${pkgrel}"
+options=('!strip')
+source=("brcmfmac43455-sdio_$_ver.clm_blob::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/$_commitid_wl/brcm/brcmfmac43455-sdio.clm_blob"
+ "brcmfmac43455-sdio_$_ver.txt::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/$_commitid_wl/brcm/brcmfmac43455-sdio.txt"
+ "brcmfmac43455-sdio_$_ver.bin::https://raw.staticdn.net/RPi-Distro/firmware-nonfree/$_commitid_wl/brcm/brcmfmac43455-sdio.bin"
+ "BCM4345C0_$_ver.hcd::https://raw.staticdn.net/RPi-Distro/bluez-firmware/$_commitid_bt/broadcom/BCM4345C0.hcd")
+sha256sums=('2dbd7d22fc9af0eb560ceab45b19646d211bc7b34a1dd00c6bfac5dd6ba25e8a'
+ 'ca709be81a78bdb6932936374f39943acbd7af07fae6151011127599a3ce9e3d'
+ 'cf79e8e8727d103a94cd243f1d98770fa29f5da25df251d0d31b3696f3b4ac6a'
+ 'c723c903655086c9f3a1de94a291f495a0f087f1ee6d3ee7bc4c558497aae7bc')
+
+package() {
+ install -d "${pkgdir}/usr/lib/firmware/updates/brcm"
+ install -m 0644 brcmfmac43455-sdio_$_ver.clm_blob "${pkgdir}/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.clm_blob"
+ install -m 0644 brcmfmac43455-sdio_$_ver.txt "${pkgdir}/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.txt"
+ install -m 0644 brcmfmac43455-sdio_$_ver.bin "${pkgdir}/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.bin"
+ install -m 0644 BCM4345C0_$_ver.hcd "${pkgdir}/usr/lib/firmware/updates/brcm/BCM4345C0.hcd"
+
+ install -m 0644 brcmfmac43455-sdio_$_ver.txt "${pkgdir}/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.phicomm,n1.txt"
+}
+
diff --git a/firmware-phicomm-n1.install b/firmware-phicomm-n1.install
new file mode 100644
index 000000000000..d6ed31073c53
--- /dev/null
+++ b/firmware-phicomm-n1.install
@@ -0,0 +1,25 @@
+post_install() {
+ post_upgrade $1 0
+ echo 'Please REBOOT your machine.'
+}
+
+post_upgrade() {
+ # get uboot wifi macaddr
+ tmpfile=$(mktemp -p /tmp)
+ # found in 5.10.1 kernel, mmc device name may be inconsistent across reboots, so we avoid hardcoding
+ mmcdevname=$(lsblk -d | grep -v 'mmcblk.boot' | grep mmcblk | xargs | cut -d ' ' -f1)
+ echo "/dev/${mmcdevname} 0x27400000 0x10000" > $tmpfile
+ mac_wifi=$(fw_printenv -c $tmpfile mac_wifi)
+ rm $tmpfile
+ mac=${mac_wifi#*=}
+ # make sure we have got a correct mac address
+ if ! grep -qiE '([0-9a-f][0-9a-f]:){5}[0-9a-f][0-9a-f]' <<< "$mac"; then
+ # oops! Then we might generate a random one
+ mac=$(sed 's/^.*\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)$/\1:\2:\3:\4:\5:\6/' < /etc/machine-id)
+ grep -qiE '([0-9a-f][0-9a-f]:){5}[0-9a-f][0-9a-f]' <<< "$mac" || exit 1
+ fi
+ sed -i "s/^macaddr=.*$/macaddr=${mac}/g" /usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.phicomm,n1.txt
+ # set bluetooth macaddr
+ echo -en $(sed 's/^.*:\(..\):\(..\):\(..\)$/\\x\3\\x\2\\x\1/' <<< "$mac") | \
+ dd of=/usr/lib/firmware/updates/brcm/BCM4345C0.hcd bs=1 seek=$((0x21)) count=3 conv=notrunc status=none
+}