Code: Alles auswählen
$ lsusb
Bus 008 Device 003: ID 0bda:8771 Realtek Semiconductor Corp.
Code: Alles auswählen
$ hciconfig --all
hci0: Type: Primary Bus: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:581 acl:0 sco:0 events:82 errors:0
TX bytes:20534 acl:0 sco:0 commands:83 errors:0
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: SLAVE ACCEPT
Code: Alles auswählen
$ dmesg
[13639.616233] usb 7-4: new full-speed USB device number 4 using ohci-pci
[13639.840570] usb 7-4: New USB device found, idVendor=0bda, idProduct=8771, bcdDevice= 2.00
[13639.840575] usb 7-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13639.840577] usb 7-4: Product: Bluetooth Radio
[13639.840579] usb 7-4: Manufacturer: Realtek
[13639.840581] usb 7-4: SerialNumber: 00E04C239987
[13639.850589] Bluetooth: hci0: RTL: rtl: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[13639.852566] Bluetooth: hci0: RTL: rom_version status=0 version=1
[13639.852570] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8761a_fw.bin
[13639.853159] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8761a_fw.bin
[13639.853190] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8761a_config.bin
[13639.853202] bluetooth hci0: firmware: failed to load rtl_bt/rtl8761a_config.bin (-2)
[13639.853207] bluetooth hci0: Direct firmware load for rtl_bt/rtl8761a_config.bin failed with error -2
[13639.853214] Bluetooth: hci0: RTL: cfg_sz -2, total sz 20204
[13642.032288] Bluetooth: hci0: command 0xfc20 tx timeout
[13650.256712] Bluetooth: hci0: RTL: download fw command failed (-110)
Code: Alles auswählen
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 67f4bc21e7c5..3a9afc905f24 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -130,12 +130,19 @@ static const struct id_table ic_id_table[] = {
.cfg_name = "rtl_bt/rtl8821c_config" },
/* 8761A */
- { IC_MATCH_FL_LMPSUBV, RTL_ROM_LMP_8761A, 0x0,
+ { IC_INFO(RTL_ROM_LMP_8761A, 0xa),
.config_needed = false,
.has_rom_version = true,
.fw_name = "rtl_bt/rtl8761a_fw.bin",
.cfg_name = "rtl_bt/rtl8761a_config" },
+ /* 8761B */
+ { IC_INFO(RTL_ROM_LMP_8761A, 0xb),
+ .config_needed = false,
+ .has_rom_version = true,
+ .fw_name = "rtl_bt/rtl8761b_fw.bin",
+ .cfg_name = "rtl_bt/rtl8761b_config" },
+
/* 8822C with UART interface */
{ .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_HCIREV |
IC_MATCH_FL_HCIBUS,
@@ -267,6 +274,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
{ RTL_ROM_LMP_8723B, 9 }, /* 8723D */
{ RTL_ROM_LMP_8821A, 10 }, /* 8821C */
{ RTL_ROM_LMP_8822B, 13 }, /* 8822C */
+ { RTL_ROM_LMP_8761A, 14 }, /* 8761B */
};
min_size = sizeof(struct rtl_epatch_header) + sizeof(extension_sig) + 3;
Ich sag schon mal Danke an jeden der sich in mein Problem einlesen und -denken will.