diff --git a/device/testing/device-oppo-a51f/APKBUILD b/device/testing/device-oppo-a51f/APKBUILD
index fe8a82b464e814b558fec3c4989b273d7d3d5ce1..eb3ba8bc680e71d35f504784e160624ab0b44542 100644
--- a/device/testing/device-oppo-a51f/APKBUILD
+++ b/device/testing/device-oppo-a51f/APKBUILD
@@ -22,7 +22,7 @@ package() {
 
 nonfree_firmware() {
 	pkgdesc="Wifi firmware"
-	depends="firmware-oppo-a51f-venus firmware-oppo-a51f-wcnss linux-firmware-qcom"
+	depends="firmware-oppo-a51f-venus firmware-oppo-a51f-wcnss firmware-oppo-a51f-wcnss-nv firmware-oppo-a51f-modem linux-firmware-qcom"
 	mkdir "$subpkgdir"
 }
 sha512sums="1db537a1d7f04dabd55912593070eac900a5fd07fb20d840f9fe5b4871e4e878a0423c7c17096f8c64375835fc55a7526304f6d8f986f74820494d252857a922  deviceinfo"
diff --git a/device/testing/firmware-oppo-a51f/APKBUILD b/device/testing/firmware-oppo-a51f/APKBUILD
index a04115dc529e5fbc0516424fa843508b579c1e68..cb9758b7a9dac9b31055d1dd32a777bc49c1b2f8 100644
--- a/device/testing/firmware-oppo-a51f/APKBUILD
+++ b/device/testing/firmware-oppo-a51f/APKBUILD
@@ -1,44 +1,57 @@
 pkgname=firmware-oppo-a51f
 pkgver=1
 pkgrel=0
-_commit="948a4f6850887e9b9d4d4dfd689948e92057cbbc"
+_commit="2064c468592fcd5ac080a7de20039b8c0e6aec83"
 pkgdesc="Firmware files for Oppo A51f"
 url="https://postmarketos.org"
-subpackages="$pkgname-venus $pkgname-wcnss"
+subpackages="$pkgname-venus $pkgname-modem $pkgname-wcnss $pkgname-prima"
 arch="aarch64"
 license="proprietary"
 source="$pkgname-$_commit.tar.gz::https://gitlab.com/natsu1978/firmware-oppo-a51f/-/archive/$_commit/firmware-oppo-a51f-$_commit.tar.gz"
 options="!strip !check !archcheck !spdx"
 builddir="$srcdir/firmware-oppo-a51f-$_commit"
 
-_files="wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06
+_files_wcnss="wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06
 	wcnss.b09 wcnss.b10 wcnss.b11 wcnss.mdt"
-_files_prima="WCNSS_wlan_dictionary.dat WCNSS_qcom_cfg.ini WCNSS_qcom_wlan_nv.bin WCNSS_cfg.dat"
+_files_prima="WCNSS_qcom_wlan_nv.bin"
 _files_venus="venus.b00 venus.b01 venus.b02 venus.b03 venus.b04 venus.mbn venus.mdt"
+_files_modem="mba.mdn modem.*"
 
 package() {
 	# parent package is empty
 	mkdir -p "$pkgdir"
 }
 
+modem() {
+	pkgdesc="Oppo A51f modem firmware"
+	for _i in $_files_modem; do
+		install -D -m644 "$_i" \
+			"$pkgdir"/lib/firmware/postmarketos/"$_i"
+	done
+}
+
 venus() {
 	pkgdesc="Oppo A51f video firmware"
-	install -Dm644 "$srcdir"/venus.* -t "$pkgdir"/lib/firmware/postmarketos/qcom/venus-1.8
+	for _i in $_files_venus; do
+		install -D -m644 "$_i" \
+			"$pkgdir"/lib/firmware/postmarketos/qcom/venus-1.8/"$_i"
+	done
 }
 
 wcnss() {
 	pkgdesc="Oppo A51f WiFi/BT firmware"
-	for _i in $_files; do
+	for _i in $_files_wcnss; do
 		install -D -m644 "$_i" \
 			"$pkgdir"/lib/firmware/postmarketos/"$_i"
 	done
 
-	# /lib/firmware/postmarketos/wlan/prima
+}
+prima() {
+	pkgdesc="Oppo A51f WiFi NV bin firmware"
 	for _i in $_files_prima; do
 		install -D -m644 "$_i" \
 			"$pkgdir"/lib/firmware/postmarketos/wlan/prima/"$_i"
 	done
 }
 
-
-sha512sums="a1c1cae561b5013cfbdf76a7388ec06c618c41f2d5bb2cb50b0c390a12245ba00ecb6f131ca245c69e178161b71c20fbcc417a1709a34d145e0b8bb81b17cd5d  firmware-oppo-a51f-948a4f6850887e9b9d4d4dfd689948e92057cbbc.tar.gz"
+sha512sums="e0da84c04df9aa2bfaff24498cf6831f0bc6c15087627056395cd14fc258463df4c076f65393915aa4a73d65b34aa19f9b3283002206436d2153a71fba7fe052  firmware-oppo-a51f-2064c468592fcd5ac080a7de20039b8c0e6aec83.tar.gz"