HCI
  • 2024-11-13【0x001A】HCI_Write_Scan_Enable详解
    目录一、命令概述二、命令格式及参数说明2.1. HCIWriteScanEnable命令格式2.2. Scan_Enable三、响应事件及参数说明3.1. HCI_Command_Complete事件3.2. Status四、命令执流程4.1.命令发起与准备4.2.命令传输4.3.命令接收与解析(蓝牙控制器端)4.4.扫描功能
  • 2024-11-10【0x0022】HCI_LE_Set_Data_Length命令全面解析
    目录一、命令概述二、命令格式和参数说明2.1. HCI_LE_Set_Data_Length 命令格式 2.2. Connection_Handle2.3. TX_Octets2.4.TX_Time三、响应事件及参数说明3.1.HCI_Command_Complete事件3.1.1. Status3.1.2. Connection_Handle3.2.HCI_LE_Data_Length_Cha
  • 2024-10-27【0x0040】HCI_LE_Set_Periodic_Advertising_Enable命令全面解析
    目录一、命令概述1.1.命令执行条件1.2.限制条件1.3.注意事项  二、命令格式2.1. HCI_LE_Set_Periodic_Advertising_Enable命令格式2.2.HCICommandComplete(响应事件)格式三、命令参数详细说明3.1.Enable3.2.Advertising_Handle四、返回参数详细说明五
  • 2024-10-25HCI_LE_Read_Advertising_Channel_Tx_Power(0x0007)命令全面解析
    目录一、命令概述二、命令格式2.1.HCI_LE_Read_Advertising_Channel_Tx_Power命令一般格式2.2.示例格式2.2.1.命令示例2.2.2.响应示例 三、返回参数说明3.1.状态码(Status)3.2.传输功率等级(Advertising_Channel_Tx_Power_Level)四、命令执行流程4.1.命令准备
  • 2024-10-23HCI_LE_Read_Local_Supported_Features(0x0003)命令全面解析
    目录一、命令概述 二、命令格式2.1.HCI_LE_Read_Local_Supported_Features命令格式2.1.HCICommandComplete响应命令格式三、返回命令 HCICommandComplete参数说明3.1. Status3.2.LE_Features3.3.示例3.4.LE_Features字段中的特性位四、命令执行流程4.1.
  • 2024-10-23HCI_LE_Set_Random_Address(0x0005)命令全面解析
    目录一、命令概述二、命令格式2.1.HCI_LE_Set_Random_Address命令格式2.2.HCICommandComplete返回命令格式2.3.格式示例2.4.示例二进制表示三、命令参数详细说明3.1.命令代码(Opcode)3.2.参数长度(ParameterLength)3.3.随机地址(RandomAddress)四、命令返回参
  • 2024-10-21HCI_LE_Set_Event_Mask(0x0001)命令全面解析
    目录一、命令概述二、命令格式2.1.一般格式2.2.格式示例2.3.发送命令三、命令参数详解3.1. LE_Event_Mask3.2.常见事件掩码3.3.使用注意事项四、命令返回参数说明4.1.返回事件:HCI_Command_Complete4.2.返回事件参数五、命令的执行流程5.1.命令发送(主机
  • 2024-10-11结合HCI和空口理解BLE AUDIO CIS
    背景CIS,coordinateisochronosstream,是BLEAUDIO单播形式的数据流,在前面文章https://blog.csdn.net/Jzj1234555/article/details/142416588?spm=1001.2014.3001.5502我们了解了BLEAUDIO从连接到建立CIS的大概流程,但CIS到底是什么样的形式,如何在空中传播,里面的细节我们
  • 2024-08-28【VMware VCF】VCF 5.2:挂载远程 vSAN 数据存储。
    VMwarevSAN解决方案中,为了充分利用vSANHCI集群内的存储资源,vSANHCI和vSANHCI集群之间可以相互共享存储资源,这种解决方案早期叫vSANHCIMesh,现在被称为具有数据存储共享的vSANHCI(vSANHCIwithdatastoresharing)。VMwarevSAN集群根据主机磁盘的组成方式分为Orig
  • 2024-07-22蓝牙协议栈概览
    https://www.jianshu.com/p/29af94dc518chttps://wlink.blog.csdn.net/article/details/107727900 蓝牙底层结构HW层:蓝牙芯片层RF(RADIO):射频层,本地蓝牙数据通过射频信号发送给空中设备,并通过射频接收来自空中的蓝牙信号和数据BB(BASEBAND):基带层,射频信号和数字(音频)信
  • 2024-07-22蓝牙H4传输层协议
    蓝牙几种不同接口的传输协议:H2/H4/H5/BCSP/SDIO及区别H2:基于USB的传输H4:基于五线UART(RX/TX/CTS/RTS/GND带硬件流控)的传输,最简单的传输方式,只在HCIrawdata前面加上一个type;H5:基于三线UART(RX/TX/GND)的传输,需要软件协议层加一个数据完整性校验机制;BCSP:基于UART的传输SD
  • 2024-05-07BLE中的HCI指令
    说明在蓝牙底层中以HCI指令来协调上层HOST和下层controller的交互,虽然蓝牙分为BT/AMP/LE等规范,但CoreSpecification中都是采用的同一套HCI标准,区别只在于BT/AMP/LE中支持的指令不一样HCI说明在蓝牙规范中,HCI的格式和指令统一集中在BLUETOOTHCORESPECIFICATIONVersion5.1|
  • 2024-04-05【VMware vSAN】创建vSAN Max集群并配置挂载远程数据存储。
    VMwareExplore2023大会上,VMware正式发布了vSANMax,这是VMware的一种全新分解存储架构,可以为vSphere集群提供PB级分解存储。vSANMax是基于vSANExpressStorageArchitecture(ESA)架构构建的,也就是说vSANMax仅在vSAN8ESA架构中可用。vSANHCI是传统的超融合架构,该架构是把计
  • 2024-01-08必看!HCIE通过后的“薅羊毛”攻略
    01HCIE是什么?HCIE(HuaweiCertifiedICTExpert,华为认证ICT专家)是华为认证体系中最高级别的ICT技术认证,旨在打造高含金量的专家及认证,为技术融合背景下的ICT产业提供新的能力标准,以实现华为认证引领ICT行业技术认证,播种ICT行业未来愿景。HCIE认证通过笔试和实验两个环节对考生的技
  • 2023-11-09btmon获取hci数据流程
    btmon获取hci数据流程背景最近在看蓝牙相关的驱动代码,追到hci接收数据处理函数hci_rx_work()(net/bluetooth/hci_core.c),瞄到下面一段代码:C...while((skb=skb_dequeue(&hdev->rx_q))){/*Sendcopytomonitor*/hci_send_to_monitor(hdev,skb);...
  • 2023-10-30CVE-2020-0022 蓝牙漏洞复现
    CVE-2020-0022参考连接:CVE-2020-0022蓝牙漏洞初探(上)一个bug引发的血案-安全客-安全资讯平台(anquanke.com)CVE-2020-0022“BlueFrag”漏洞分析(bestwing.me)Diff-3cb7149d8fed2d7d77ceaa95bf845224c4db3baf^!-platform/system/bt-GitatGoogle(googlesource.co
  • 2023-09-13HCI初始化流程
    HCI初始化流程1、HCI_Reset   初始化的第一步2、确定btchip支持的command、feature、地址等HCI_Read_Local_Version_InformationHCI_Read_Local_Supported_CommandsHCI_Read_Local_Supported_FeaturesHCI_Read_Local_Extended_FeaturesHCI_Read_BD_ADDR 3、设置接
  • 2023-08-04打开蓝牙HCI开关的方法
    打开蓝牙HCI开关的2种方法1.开发模式hcilog->enable;2.adb命令: a.关闭蓝牙开关 b.adbshellsetproppersist.bluetooth.btsnoopenabletrue c.adbshellsetproppersist.bluetooth.btsnooplogmodefull d.打开蓝牙开关可以通过修改如下配置文件,修改hcilog的存放路径:mtkbt
  • 2023-07-18linux bluez编程学习「1」
    之前搭建好了环境并且实现了一个简单的demo,这次多学习几个hci层函数并进行运用hci层函数可以见usr/includde/bluetooth/hci_lib.h中1.开启与关闭设备inthci_open_dev(intdev_id);inthci_close_dev(intdd);hci_open_dev会使用socket()创建一个AF_BLUETOOTH域的套接字描
  • 2023-05-29蓝牙BLE断开原因对照表
     #define BLE_HCI_STATUS_CODE_SUCCESS0x00#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND0x01#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER0x02#define BLE_HCI_AUTHENTICATION_FAILURE0x05#define BLE_HCI_STATUS_CODE_PI
  • 2023-05-15HCI的流控
    1.对controler的数据(acl、sco)流控:避免controler的数据bufferoverrunhost发送HCI_Read_Buffer_Size命令读取controler的数据buffer能力当host向controler发送了多包数据controler发送HCI_Number_Of_Completed_Packets事件告诉host处理了几包数据,还能接受几包数据2.
  • 2023-05-15HCI的数据格式
    HCI数据是以小端字节序存储的;小端字节序:低位数据存放在内存低地址处大端字节序:高位字节数据存放在内存低地址处 1.命令:OGF:不同组的命令,有不同的OGFLinkControlcommands,theOGFisdefinedas0x01.LinkPolicycommands,t
  • 2023-05-05hci
    hci的作用:hci在host和controler都有,其作用是告诉对方怎么解析这个hci数据,如host下发了一个inquiry的命令,controler有hci才能解析出这是一个inquiry命令,而不是将其翻译成其他的命令。commond:host--->controlerevent:         controler--->hostacl:      
  • 2023-01-15和菜鸟一起学linux之bluez学习记录1
    关于蓝牙协议栈体系结构 底层硬件模块 RF1、利用2400M~2483.5M频带2、采用调频方式传输数据,一共有79/EDR,40/BLE个hops,每秒3、采用GFSK(DQPSK和8DPSK)调制方式4、信道间隔(1
  • 2023-01-15和菜鸟一起学linux之bluez学习记录2
    这里主要摘取对于hci,l2cap,sdp和rfcomm的一些应用编程。 关于hci 一、HCI层协议概述 1、HCICommandPackets详见bluez源码:lib/hci.h/*LinkControl*/#defineOGF_LINK_