LE Audio PTS dongle破解和调试方法

本文介绍了在市面上缺少LEAudio支持的USBDongle时,如何通过破解蓝牙SIG官方的PTSDongle,并利用nRF52840Dongle进行Firmware升级,以便在Ubuntu系统中使用bluez和Zephyr进行LEAudio的调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

        目前市面上支持LE Audio的USB dongle很少,如果要在Ubuntu Sim上调试LE Audio,基本只能用蓝牙官方PTS Dongle,但目前国内很难买到。本文介绍一种破解PTS Dongle的方法,以及如何在ubuntu上用bluez + zephyr调试LE Audio。

官方Dongle

        蓝牙SIG认证的PTS Dongle有下图两种:左边的只能过蓝牙4.2认证,LE/BR/EDR都支持,用的是CSR的芯片,99美元;右边的可以支持蓝牙5.2的认证,但只支持BLE不支持BR/EDR,用的是Nordic的芯片。LE Audio需要右边Laird Connectivity这款Dongle。

(官方链接 https://store.bluetooth.com/)

破解方法

        蓝牙官方的PTS Dongle是用的是Nordic 52840方案,和Nordic的nRF52840 Dongle非常相似,只不过加了个USB外壳,理论上是可以直接把PTS的 Firmware直接刷入nRF52840 Dongle来使用

  • 点击Next软件会搜索连接的dongle,如下图

  • 接着点击“Next”,登陆SIG账号(如果没有SIG账号需要用公司邮箱申请)

  • 此时直接用这个软件升级会失败,原因是我们买的dongle和PTS dongle的bootloader不同过不了校验,但这个过程会把PTS Firmware下载到本地,我们可以找出来烧录进去

  • 找到PTS Firmware,通常在\AppData\Local\PTSFirmwareUpgradeSoftware 路径下

  • 安装nrfutil,执行下面命令刷机

.\nrfutil dfu usb-serial -pkg b15baf09-b224-446a-bd51-c16467c1762c.bin -p COM4

  • 刷机成功后就可以当作PTS Dongle来做BQB认证测试了!!!

调试方法

        PTS Dongle除了可以做BQB认证外,也可以作为controller在Ubuntu/Vela/Zephyr等系统或仿真器上调试蓝牙Host功能,而且由于是蓝牙SIG官方的Firmware兼容性比其他dongle更好

  • 安装依赖项

sudo apt install automake libtool libelf-dev elfutils libdw-dev libjson-c-dev libical-dev libreadline-dev libfftw3-dev

  • 下载编译bluez

git clone https://github.com/bluez/bluez.git

git clone git://git.kernel.org/pub/scm/libs/ell/ell.git

cd bluez

./bootstrap-configure --disable-android --disable-midi

make

sudo make install

  • 运行btattach

sudo btattach -B /dev/ttyACM0 -S 3000000 -R &        //ttyACM0表示串口号

sudo systemctl stop bluetooth

hciconfig -a

  • 使用 btproxy 工具打开并监听 UNIX socket

cd ~/bluez

sudo tools/btproxy -u -i 0 &                            //0表示HCI端口号

-> Listening on /tmp/bt-server-bredrsudo

sudo btmon -Tw btsnoop.cfa                              //抓取hci log

  • 下载zephyr代码,参考https://docs.zephyrproject.org/latest/develop/getting_started/index.html# 搭建zephyr的编译环境

  • 编译qemu仿真器下的zephyr le audio应用

west build -b qemu_x86 ~/zephyrproject/zephyr/tests/bluetooth/shell/ --pristine -- -DOVERLAY_CONFIG=audio.conf

  • 执行west build -t run 运行zephyr,然后在shell终端执行下面命令初始化le audio,发送le audio广播

bt init

audio init

mcc init

vcs init

bt adv-create conn-nscan ext-adv name

bt adv-data discov

bt adv-start

  • 用支持LE Audio的手机连接调试

(如果能买到蓝牙官方的PTS Dongle,建议还是优先选择官方的Dongle)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hfan32

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值