Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 May 2025 14:38:54 GMT
From:      Vladimir Kondratyev <wulf@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 3e72d0b40040 - main - rtlbtfw(8): Sync device VID/PID list with Linux 6.15-rc4
Message-ID:  <202505141438.54EEcsJt080559@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=3e72d0b40040f94c4b99ab9dfa0a0e1b62dff397

commit 3e72d0b40040f94c4b99ab9dfa0a0e1b62dff397
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2025-05-14 14:38:10 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2025-05-14 14:38:10 +0000

    rtlbtfw(8): Sync device VID/PID list with Linux 6.15-rc4
    
    Sponsored by:   Future Crew, LLC
    MFC after:      1 month
---
 sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c | 20 ++++++++
 usr.sbin/bluetooth/rtlbtfw/main.c               | 20 ++++++++
 usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c           | 14 ++++++
 usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h           |  1 +
 usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf         | 66 ++++++++++++++++++++++++-
 5 files changed, 119 insertions(+), 2 deletions(-)

diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
index c3fb98b46e6a..0181a67ac604 100644
--- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
+++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
@@ -84,6 +84,9 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] =
 	/* Realtek 8822CU Bluetooth devices */
 	{ USB_VPI(0x13d3, 0x3549, 0) },
 
+	/* Realtek 8851BE Bluetooth devices */
+	{ USB_VPI(0x13d3, 0x3600, 0) },
+
 	/* Realtek 8852AE Bluetooth devices */
 	{ USB_VPI(0x0bda, 0x2852, 0) },
 	{ USB_VPI(0x0bda, 0xc852, 0) },
@@ -100,11 +103,28 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] =
 	{ USB_VPI(0x13d3, 0x3587, 0) },
 	{ USB_VPI(0x13d3, 0x3586, 0) },
 	{ USB_VPI(0x13d3, 0x3592, 0) },
+	{ USB_VPI(0x0489, 0xe122, 0) },
 
 	/* Realtek 8852BE Bluetooth devices */
 	{ USB_VPI(0x0cb8, 0xc559, 0) },
+	{ USB_VPI(0x0bda, 0x4853, 0) },
 	{ USB_VPI(0x0bda, 0x887b, 0) },
+	{ USB_VPI(0x0bda, 0xb85b, 0) },
+	{ USB_VPI(0x13d3, 0x3570, 0) },
 	{ USB_VPI(0x13d3, 0x3571, 0) },
+	{ USB_VPI(0x13d3, 0x3572, 0) },
+	{ USB_VPI(0x13d3, 0x3591, 0) },
+	{ USB_VPI(0x0489, 0xe123, 0) },
+	{ USB_VPI(0x0489, 0xe125, 0) },
+
+	/* Realtek 8852BT/8852BE-VT Bluetooth devices */
+	{ USB_VPI(0x0bda, 0x8520, 0) },
+
+	/* Realtek 8922AE Bluetooth devices */
+	{ USB_VPI(0x0bda, 0x8922, 0) },
+	{ USB_VPI(0x13d3, 0x3617, 0) },
+	{ USB_VPI(0x13d3, 0x3616, 0) },
+	{ USB_VPI(0x0489, 0xe130, 0) },
 
 	/* Realtek 8723AE Bluetooth devices */
 	{ USB_VPI(0x0930, 0x021d, 0) },
diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c
index 700b9b43bafa..e87a98036265 100644
--- a/usr.sbin/bluetooth/rtlbtfw/main.c
+++ b/usr.sbin/bluetooth/rtlbtfw/main.c
@@ -67,6 +67,9 @@ static struct rtlbt_devid rtlbt_list[] = {
 	/* Realtek 8822CU Bluetooth devices */
 	{ .vendor_id = 0x13d3, .product_id = 0x3549 },
 
+	/* Realtek 8851BE Bluetooth devices */
+	{ .vendor_id = 0x13d3, .product_id = 0x3600 },
+
 	/* Realtek 8852AE Bluetooth devices */
 	{ .vendor_id = 0x0bda, .product_id = 0x2852 },
 	{ .vendor_id = 0x0bda, .product_id = 0xc852 },
@@ -83,11 +86,28 @@ static struct rtlbt_devid rtlbt_list[] = {
 	{ .vendor_id = 0x13d3, .product_id = 0x3587 },
 	{ .vendor_id = 0x13d3, .product_id = 0x3586 },
 	{ .vendor_id = 0x13d3, .product_id = 0x3592 },
+	{ .vendor_id = 0x0489, .product_id = 0xe122 },
 
 	/* Realtek 8852BE Bluetooth devices */
 	{ .vendor_id = 0x0cb8, .product_id = 0xc559 },
+	{ .vendor_id = 0x0bda, .product_id = 0x4853 },
 	{ .vendor_id = 0x0bda, .product_id = 0x887b },
+	{ .vendor_id = 0x0bda, .product_id = 0xb85b },
+	{ .vendor_id = 0x13d3, .product_id = 0x3570 },
 	{ .vendor_id = 0x13d3, .product_id = 0x3571 },
+	{ .vendor_id = 0x13d3, .product_id = 0x3572 },
+	{ .vendor_id = 0x13d3, .product_id = 0x3591 },
+	{ .vendor_id = 0x0489, .product_id = 0xe123 },
+	{ .vendor_id = 0x0489, .product_id = 0xe125 },
+
+	/* Realtek 8852BT/8852BE-VT Bluetooth devices */
+	{ .vendor_id = 0x0bda, .product_id = 0x8520 },
+
+	/* Realtek 8922AE Bluetooth devices */
+	{ .vendor_id = 0x0bda, .product_id = 0x8922 },
+	{ .vendor_id = 0x13d3, .product_id = 0x3617 },
+	{ .vendor_id = 0x13d3, .product_id = 0x3616 },
+	{ .vendor_id = 0x0489, .product_id = 0xe130 },
 
 	/* Realtek 8723AE Bluetooth devices */
 	{ .vendor_id = 0x0930, .product_id = 0x021d },
diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c
index c58a8feb41a4..d7e9f2f939c6 100644
--- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c
+++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c
@@ -118,6 +118,18 @@ static const struct rtlbt_id_table rtlbt_ic_id_table[] = {
 	    .hci_version = 0xc,
 	    .flags = RTLBT_IC_FLAG_MSFT,
 	    .fw_name  = "rtl8851bu",
+	}, { /* 8922A */
+	    .lmp_subversion = RTLBT_ROM_LMP_8922A,
+	    .hci_revision = 0xa,
+	    .hci_version = 0xc,
+	    .flags = RTLBT_IC_FLAG_MSFT,
+	    .fw_name  = "rtl8922au",
+	}, { /* 8852BT/8852BE-VT */
+	    .lmp_subversion = RTLBT_ROM_LMP_8852A,
+	    .hci_revision = 0x87,
+	    .hci_version = 0xc,
+	    .flags = RTLBT_IC_FLAG_MSFT,
+	    .fw_name  = "rtl8852btu",
 	},
 };
 
@@ -138,6 +150,8 @@ static const uint16_t project_ids[] = {
 	[ 25 ] = RTLBT_ROM_LMP_8852A,	/* 8852CU */
 	[ 33 ] = RTLBT_ROM_LMP_8822B,	/* 8822EU */
 	[ 36 ] = RTLBT_ROM_LMP_8851B,	/* 8851BU */
+	[ 44 ] = RTLBT_ROM_LMP_8922A,	/* 8922A */
+	[ 47 ] = RTLBT_ROM_LMP_8852A,	/* 8852BT */
 };
 
 /* Signatures */
diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h
index 48b30cb2289b..e9af6c93950e 100644
--- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h
+++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h
@@ -41,6 +41,7 @@
 #define	RTLBT_ROM_LMP_8822B	0x8822
 #define	RTLBT_ROM_LMP_8852A	0x8852
 #define	RTLBT_ROM_LMP_8851B	0x8851
+#define	RTLBT_ROM_LMP_8922A	0x8922
 
 #define RTLBT_PATCH_SNIPPETS		0x01
 #define RTLBT_PATCH_DUMMY_HEADER	0x02
diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
index d45ba0bd92c4..61ae53db8f39 100644
--- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
+++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
@@ -46,6 +46,16 @@ notify 100 {
 	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
 };
 
+# Realtek 8851BE Bluetooth devices
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x13d3";
+	match "product"		"0x3600";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+
 # Realtek 8852AE Bluetooth devices
 notify 100 {
 	match "system"		"USB";
@@ -113,6 +123,14 @@ notify 100 {
 	match "product"		"(0x3587|0x3586|0x3592)";
 	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
 };
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x0489";
+	match "product"		"0xe122";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
 
 # Realtek 8852BE Bluetooth devices
 notify 100 {
@@ -128,7 +146,43 @@ notify 100 {
 	match "subsystem"	"DEVICE";
 	match "type"		"ATTACH";
 	match "vendor"		"0x0bda";
-	match "product"		"0x887b";
+	match "product"		"(0x4853|0x887b|0xb85b)";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x13d3";
+	match "product"		"(0x3570|0x3571|0x3572|0x3591)";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x0489";
+	match "product"		"(0xe123|0xe125)";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+
+# Realtek 8852BT/8852BE-VT Bluetooth devices
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x0bda";
+	match "product"		"0x8520";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+
+# Realtek 8922AE Bluetooth devices
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x0bda";
+	match "product"		"0x8922";
 	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
 };
 notify 100 {
@@ -136,7 +190,15 @@ notify 100 {
 	match "subsystem"	"DEVICE";
 	match "type"		"ATTACH";
 	match "vendor"		"0x13d3";
-	match "product"		"0x3571";
+	match "product"		"(0x3617|0x3616)";
+	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
+};
+notify 100 {
+	match "system"		"USB";
+	match "subsystem"	"DEVICE";
+	match "type"		"ATTACH";
+	match "vendor"		"0x0489";
+	match "product"		"0xe130";
 	action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
 };
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505141438.54EEcsJt080559>