Biu~笔记:高通蓝牙ADK(31)--拿来吧你,LinkKey

      Bui~ 大家好,Ladies and 乡亲们,欢迎阅读ADK系列第31篇,ε=(´ο`*)))唉,第31篇了,现在都单篇发了,快写没了O(╥﹏╥)o,LE audio怎么还没来,我的发量快维持不住了。ε=ε=ε=(#>д<)ノ

       圆规正转,这篇教大家如何获取link key。这个功能一般在调试连接的时候用到,并且要有抓包器才会使用这个link key,如果你有抓包器或想抓包的话,就可以继续往下看。另外本篇将带大家如何无线获取link key。

       首先简短地了解下link key,它相当于相连设备之间的通信密钥,由128bit组成。没有这个,抓到的空中包是无法解析的。

       我们获取link key的方法也很简单,在adk toolkit的安装路径中就已经集成了获取link key工具。在\ADK_Toolkit_1.2.7.11_x64\tools\bin目录下


双击这个文件就会启动一个图形界面(如果没有反应,可能和你python的环境有关,需要去查查问题)


在这个界面我们看到就几个按钮可以动,

  1. 首先左上角的设置(Settings),需要设置两个文件,一个是配置数据库文件sdb,另一个是上位机的动态链接库TestEngine.dll,分别在ADK的路径和toolkit的安装路径。

SDB:

       \qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud\adk\bin\qcc514x_qcc304x

DLL:

       \ADK_Toolkit_1.2.7.11_x64\tools\bin

同时,这个软件不止可以在新的IC上用,在旧的IC上也可以用,只有设置好这两个文件就好了,在ADK6.x上,两个文件都放在ADK的安装路径下

SDB:

        \ADK_QCC512X_QCC302X_WIN_6.4.2.26\tools\config

DLL:

       \ADK_QCC512X_QCC302X_WIN_6.4.2.26\tools\bin

  1. 设置完文件之后,用USB或TRB连上设备,点击transport的刷新按钮,再到下拉框选择你要读link key的设备。选择完之后,你就可以在界面中看到一些设备信息。
  2. 点击get link keys按钮,等待一会,下面的面板就会显示设备所有的配对信息,包括peer配对的。
  3. 点开想要知道link key的设备,在BR/EDR key 这一行双击即可复制这个link key 了

 

        上面是通过有线获取link key的方法,而有时在调试的时候,不方便或者不想o( ̄ヘ ̄o#)连接这个线时,无线获取方法诞生了,但我暂时没有发现源代码有这样的功能,所以,我自个写了个。仅供参考!首先我告诉大家,link key是存放在配对信息里面的,那就是存在pskey里面,所以我们读取的时候就是读取对应的pskey。默认代码也提供了直接获取link key的接口函数connectionAuthGetDevice,这个函数只需要一个地址,就可以读出link key。而这个函数是在库里不对外开放,所以我们在dm_security_handler.c文件里面给他加个封装




传进去的两个参数是地址和数据存放的指针,而这个函数的申明需要放在connection.h头文件中才能被上层调用。另外传回来的数据是倒序的,在应用层需要做整理。下面是获取peer和手机的link key参考代码。


       至于无线获取,基于上面的代码,你可以用无线debug打印出来,也可以用BLE服务把数据传给APP,还可以通过gaia spp传,至于使用哪一种就看你怎么方便怎么来了,而这些无线的方法,前面的博文也有讲解,大家可以去查阅。

       以上是本期博文的全部内容,如有疑问就别在博文下方评论留言了,有什么疑问或想了解的当面和我说(如果你知道我是谁的话ヽ( ̄▽ ̄)و),我会尽量安排上(o´ω`o)و。谢谢大家浏览,我们下期再见。

  

简单是长期努力的结果,而不是起点

                                                 —— 不是我说的


 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

Biu~

Biu~

2022年3月14日
我也想
kexin

kexin

2022年3月12日
想弄一块517X回来,看一下LE AUDIO