diff --git a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/99-nanopi-air-bt.rules b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/99-nanopi-air-bt.rules
index 61d7e6b..5df2599 100644
--- a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/99-nanopi-air-bt.rules
+++ b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/99-nanopi-air-bt.rules
@@ -1 +1 @@
-ACTION=="add", SUBSYSTEM=="tty", ATTR{iomem_base}=="0x1C28C00", TAG+="systemd", ENV{SYSTEMD_WANTS}="nanopi-air-bt@'%E{DEVNAME}'.service"
+ACTION=="add", SUBSYSTEM=="tty", ATTR{iomem_base}=="0x1C28C00", TAG+="systemd", ENV{SYSTEMD_WANTS}="nanopi-air-bt@%k.service"
diff --git a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt-start b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt-start
index 8abf14b..1855a07 100755
--- a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt-start
+++ b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt-start
@@ -16,7 +16,7 @@ echo 1 > /sys/class/gpio/gpio205/value
 CHIP_REV=`dmesg | grep brcmfm | grep "chip 0x00a9a6" | awk '{print $11}'`
 BT_FIRMWARE="bcm43438a0.hcd" # AP6212 chip
 
-if [ "$CHIP_REV" = "0x000001" ]; then
+if dmesg | grep -q "chip BCM43430/1"; then
     BT_FIRMWARE="bcm43438a1.hcd" # AP6212A chip
 fi
 
diff --git a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt@.service b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt@.service
index 40f7b29..65f9ae8 100644
--- a/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt@.service
+++ b/layers/meta-balena-allwinner/recipes-bsp/nanopi-air-bt/nanopi-air-bt/nanopi-air-bt@.service
@@ -3,7 +3,7 @@ Description=Ampak AP6212A Bluetooth HCI on Nanopi Neo Air
 
 [Service]
 Type=simple
-ExecStart=/bin/bash /usr/bin/nanopi-air-bt-start %I
+ExecStart=/bin/bash /usr/bin/nanopi-air-bt-start /dev/%I
 
 [Install]
 WantedBy=multi-user.target
diff --git a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline/0001-Enable-uart3-for-NanoPi-Neo-Air-used-by-BT.patch b/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline/0001-Enable-uart3-for-NanoPi-Neo-Air-used-by-BT.patch
deleted file mode 100644
index 39b986c..0000000
--- a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline/0001-Enable-uart3-for-NanoPi-Neo-Air-used-by-BT.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b093d275ba1bec4d8ee91f18609ef0266fa5cbbb Mon Sep 17 00:00:00 2001
-From: Sebastian Panceac <sebastian@balena.io>
-Date: Wed, 27 Feb 2019 10:13:31 +0100
-Subject: [PATCH] Enable uart3 for NanoPi Neo Air used by BT
-
-Upstream-status: Pending
-Signed-off-by: Sebastian Panceac <sebastian@balena.io>
----
- arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
-index 6246d3eff39d..2fc601a0ec82 100644
---- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
-@@ -109,6 +109,12 @@
- 	status = "okay";
- };
- 
-+&uart3 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
-+	status = "okay";
-+};
-+
- &usbphy {
- 	/* USB VBUS is always on */
- 	status = "okay";
--- 
-2.17.1
-
diff --git a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_%.bbappend b/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_%.bbappend
index c39d6cf..7cf52ba 100644
--- a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_%.bbappend
+++ b/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_%.bbappend
@@ -88,6 +88,12 @@ RESIN_CONFIGS[configfs] = " \
     CONFIG_CONFIGFS_FS=m \
 "
 
+RESIN_CONFIGS_append_nanopi-neo-air = " hciuart"
+RESIN_CONFIGS[hciuart] = " \
+    CONFIG_BT_HCIUART=m \
+    CONFIG_BT_HCIUART_H4=y \
+"
+
 FILES_${PN}-fixup-scr = " \
     /boot/sun8i-h3-fixup.scr \
 "
diff --git a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_4.19.76.bbappend b/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_4.19.76.bbappend
index bc0cc11..03928b5 100644
--- a/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_4.19.76.bbappend
+++ b/layers/meta-balena-allwinner/recipes-kernel/linux/linux-mainline_4.19.76.bbappend
@@ -264,7 +264,6 @@ SRC_URI_append = " \
     file://armbian/board-h6-clock-higher.patch \
     file://armbian/board-nanopi-adjust-defaults.patch \
     file://armbian/board-nanopiair-h3-camera-wifi-bluetooth-otg.patch \
-    file://0001-Enable-uart3-for-NanoPi-Neo-Air-used-by-BT.patch \
     file://armbian/board-olinuxino-A64-add-eMMC.patch \
     file://armbian/board-orangepizeroplus2-missing-otg-bits.patch \
     file://armbian/board-pine-h6-pine-h6-0008-arm64-allwinner-h6-add-missing-mmc-pins.patch \