public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] Bluetooth: btrtl: fix rtl_dump.fw_version for firmware v2
@ 2025-08-14  9:57 Jiajia Liu
  2025-08-14 10:37 ` [v2] " bluez.test.bot
  0 siblings, 1 reply; 2+ messages in thread
From: Jiajia Liu @ 2025-08-14  9:57 UTC (permalink / raw)
  To: pmenzel, Marcel Holtmann, Luiz Augusto von Dentz
  Cc: alex_lu, hildawu, linux-bluetooth, linux-kernel, Jiajia Liu

rtl_dump.fw_version is not set for firmware v2. Since
rtl_epatch_header_v2.fw_version seems to be different with the
release version, set it to the fw version read after downloading
firmware.

For latest RTL8852B FW from commit c1a6a1a2 ("rtl_bt: Update RTL8852B
BT USB FW to 0x098B_154B") in linux-firmware, the release version
is 0x098B_154B corresponding to $(hci_rev)_$(lmp_subver) and at
file offset 0x16aee.

 $ hexdump -C rtl_bt/rtl8852bu_fw.bin | grep '4b 15'
 00016ae0  99 66 4e d2 bc 93 07 07  2d b1 bf 4b 15 8b 4b 15
 $ hexdump -C rtl_bt/rtl8852bu_fw.bin | grep '8b 09'
 00016af0  8b 09 08 00 00 00 00 00  00 00 ff 02 01 01 14 01

rtl_epatch_header_v2.fw_version is 0134ff2b-00019cfe at file offset 8.

 $ hexdump -n 16 -C rtl_bt/rtl8852bu_fw.bin
 00000000  52 54 42 54 43 6f 72 65  2b ff 34 01 fe 9c 01 00  |RTBTCore+.4.....|

Tested with RTL8852BE BT (0bda:b85c) and the following script.

  #!/bin/bash

  set -ex

  echo 1 | tee /sys/class/bluetooth/hci*/device/coredump > /dev/null

  sleep 1
  cat /sys/class/devcoredump/devcd*/data | grep --binary-file=text 'Firmware Version: 0x98B154B'

  echo 0 | tee /sys/class/devcoredump/devcd*/data > /dev/null

Signed-off-by: Jiajia Liu <liujiajia@kylinos.cn>
---
Changes in v2:
 - Commit message
   - More about FW release version
   - Add test script

 drivers/bluetooth/btrtl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 6abd962502e3..6ad3ba7901e9 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -822,6 +822,7 @@ static int rtl_download_firmware(struct hci_dev *hdev,
 	int j = 0;
 	struct sk_buff *skb;
 	struct hci_rp_read_local_version *rp;
+	struct btrealtek_data *coredump_info = hci_get_priv(hdev);
 
 	dl_cmd = kmalloc(sizeof(*dl_cmd), GFP_KERNEL);
 	if (!dl_cmd)
@@ -873,6 +874,9 @@ static int rtl_download_firmware(struct hci_dev *hdev,
 	rp = (struct hci_rp_read_local_version *)skb->data;
 	rtl_dev_info(hdev, "fw version 0x%04x%04x",
 		     __le16_to_cpu(rp->hci_rev), __le16_to_cpu(rp->lmp_subver));
+	if (coredump_info->rtl_dump.fw_version == 0)
+		coredump_info->rtl_dump.fw_version =
+			__le16_to_cpu(rp->hci_rev) << 16 | __le16_to_cpu(rp->lmp_subver);
 	kfree_skb(skb);
 
 out:
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [v2] Bluetooth: btrtl: fix rtl_dump.fw_version for firmware v2
  2025-08-14  9:57 [PATCH v2] Bluetooth: btrtl: fix rtl_dump.fw_version for firmware v2 Jiajia Liu
@ 2025-08-14 10:37 ` bluez.test.bot
  0 siblings, 0 replies; 2+ messages in thread
From: bluez.test.bot @ 2025-08-14 10:37 UTC (permalink / raw)
  To: linux-bluetooth, liujiajia

[-- Attachment #1: Type: text/plain, Size: 2536 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=991430

---Test result---

Test Summary:
CheckPatch                    PENDING   0.41 seconds
GitLint                       PENDING   0.24 seconds
SubjectPrefix                 PASS      0.08 seconds
BuildKernel                   PASS      24.04 seconds
CheckAllWarning               PASS      26.63 seconds
CheckSparse                   PASS      30.22 seconds
BuildKernel32                 PASS      24.02 seconds
TestRunnerSetup               PASS      473.93 seconds
TestRunner_l2cap-tester       PASS      24.66 seconds
TestRunner_iso-tester         PASS      39.22 seconds
TestRunner_bnep-tester        PASS      5.97 seconds
TestRunner_mgmt-tester        FAIL      127.05 seconds
TestRunner_rfcomm-tester      PASS      9.30 seconds
TestRunner_sco-tester         PASS      14.61 seconds
TestRunner_ioctl-tester       PASS      15.49 seconds
TestRunner_mesh-tester        FAIL      13.38 seconds
TestRunner_smp-tester         PASS      8.49 seconds
TestRunner_userchan-tester    PASS      6.24 seconds
IncrementalBuild              PENDING   0.80 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 482 (98.4%), Failed: 4, Not Run: 4

Failed Test Cases
Add Ext Advertising - Success 22 (LE -> off, Remove) Failed       0.127 seconds
Set Device ID - Power off and Power on               Failed       0.127 seconds
Set Device ID - SSP off and Power on                 Failed       0.117 seconds
LL Privacy - Start Discovery 2 (Disable RL)          Failed       0.199 seconds
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0

Failed Test Cases
Mesh - Send cancel - 1                               Timed out    2.107 seconds
Mesh - Send cancel - 2                               Timed out    1.996 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-08-14 10:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14  9:57 [PATCH v2] Bluetooth: btrtl: fix rtl_dump.fw_version for firmware v2 Jiajia Liu
2025-08-14 10:37 ` [v2] " bluez.test.bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox