pmaports/device/community/soc-qcom-sdm845/APKBUILD
Dylan Van Assche 3942f8b1b6
soc-qcom-sdm845: set MAC address on boot (MR 3360)
SDM845 devices running mainline lack a valid MAC address, and
fallback to a random one on each boot. This makes DHCP IPs vary
on each boot and breaks Bluetooth BNEP mode since the kernel enforces
that a valid MAC address is used when Bluetooth BNEP mode is activated.

Add a udev rule to trigger a script when the WLAN or Bluetooth interface
appear to set the MAC address by reading it from the persist partition
for the WLAN MAC address and increment it for generating a Bluetooth MAC
address. This approach seems to be common on some downstream devices
such as the Oneplus 6.

[ci:skip-build]: already built successfully in CI
2022-08-19 09:36:15 +02:00

71 lines
2.3 KiB
Text

# Maintainer: Caleb Connolly (kalube) <caleb@connolly.tech>
pkgname=soc-qcom-sdm845
pkgdesc="Common package for Qualcomm SDM845 devices"
pkgver=8
pkgrel=2
url="https://postmarketos.org"
license="BSD-3-Clause"
arch="aarch64"
options="!check !archcheck !tracedeps"
depends="
mesa-dri-gallium
swclock-offset
msm-modem-uim-selection
bootmac
"
replaces="upower"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-qbootctl
$pkgname-ucm
"
_ucm_commit="621c71fd5f5742c60d38766ebb2d1bd3b863a2a4"
source="
alsa-ucm-conf-$_ucm_commit.tar.gz::https://gitlab.com/sdm845-mainline/alsa-ucm-conf/-/archive/$_ucm_commit/alsa-ucm-conf-$_ucm_commit.tar.gz
90-feedbackd-pmi8998.rules
modemmanager.conf
UPower.conf
"
package() {
mkdir -p "$pkgdir"
install -Dm644 "$srcdir"/90-feedbackd-pmi8998.rules \
"$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-pmi8998.rules
# Shutdown when battery is critical instead of sleep
install -Dm644 "$srcdir"/UPower.conf \
"$pkgdir"/etc/UPower/UPower.conf
}
nonfree_firmware() {
pkgdesc="Modem, WiFi and GPU Firmware"
depends="pd-mapper pd-mapper-openrc tqftpserv tqftpserv-openrc q6voiced q6voiced-openrc msm-modem"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir "$subpkgdir"
install -Dm644 "$srcdir"/modemmanager.conf \
"$subpkgdir"/etc/conf.d/modemmanager
}
ucm() {
provides="alsa-ucm-conf"
# install audio config files
mkdir -p "$subpkgdir"/usr/share/alsa/ucm2
cp -r "$srcdir/alsa-ucm-conf-$_ucm_commit"/ucm2 "$subpkgdir"/usr/share/alsa/
}
qbootctl() {
pkgdesc="Enable qbootctl mark-boot-successful service"
depends="qbootctl"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir "$subpkgdir"
}
sha512sums="
a1a6c6f5a6156e76e5a15b0078e3baedf07fa02b354cb025b1124ed688434a620d80aa8c0069b2d7ded1a29e2bb9318ab6e8f8a85af33a9dd2478a7b7ec6b494 alsa-ucm-conf-621c71fd5f5742c60d38766ebb2d1bd3b863a2a4.tar.gz
4f2c22a3a3fc7d380e200ad977578107d81f0e7ade7918e03bdb15b60a564e8db5f47e13cce22f636d38fd3722696bb46076b8872dae0ca2d8a3838522a1f025 90-feedbackd-pmi8998.rules
e33f41360ccc4900bb76a26cc7b46bde1fb90facdf45c4fbcebc80499386939948401cacd6df9f779eafab10f4ee77ee1fef3e7bd06f483f8c2a4a644c84f327 modemmanager.conf
9d455b56558d453d501a1ad869ffa79f9952ed43485a9847d506db6a78bfcd9f9c9d855660ee1d368eb74f4429385ec166addc30d802261c75562e785fe84c52 UPower.conf
"