跳过主要内容

GAPC_PAIRING_FAILED原因“不明”

DA14581

3年前

发布的JamesHiebert0点 6个回答
0的问题

你好,

当我的主设备(不同厂商的BLE芯片)试图与我的DA14581配对时,DA14581响应GAPC_PAIRING_FAILED和原因“unspecified”。除此之外,文档(RW-BLE-GAP-IS)中没有太多内容。

如果主机设置了绑定标志,配对工作。

任何帮助都将不胜感激!

3年前

MT_dialog -30点

嗨JamesHierbert,

我不确定我这样,但是配对过程要求,发起者(主)将发送一个配对请求键标志被设置成键,b01身份验证要求的字段的配对请求消息(不确定这就是你reffering键标志)。您能否更具体地说明您的设置,您正在使用哪个SDK示例或您基于您的应用程序?“如果主机设置了绑定标志,配对就可以正常进行”,这到底是什么意思?如前所述,这是由规范定义的,master应该在配对请求中设置绑定标志。您得到的消息是由于不同类型的原因导致配对失败的一般原因,这个原因是由BLE规范指定的。

由于MT_dialog

3年前

JamesHiebert 0点

你好,

是的,我指的就是这面旗帜。

这是我们自己的应用程序,基于5.0.4 SDK。

不确定我们是否理解了你所说的“master应该在配对请求中设置绑定标志”。

在BLE v4.1规范,第3卷,C部分通用访问配置文件,第9.4节绑定模式和程序中,不可绑定是强制性的,可绑定是可选的。没有人说中心/启动器必须处于可绑定模式…

9.4.2.2条件
当设备处于外围或中心角色时,设备应支持不可绑定模式。如果设备不支持安全管理器部分中定义的配对,则认为它处于不可绑定模式。如果支持Security Manager配对,主机应将Bonding_Flags设置为[Vol. 3]、H部分3.5.1节中定义的“No Bonding”,且不应交换或存储Bonding信息。

3.5.1配对请求
启动器通过向响应设备发送配对请求命令来启动配对特性交换。

在配对请求命令中是auth字段,包含2位Bonding_Flags。

谢谢,

JH

3年前

MT_dialog -30点

嗨JamesHiebert,

你能告诉我你想要达到的目标是什么吗?我的意思是,你想发送配对请求而没有中心设置Bonding标志,设备就不会配对并存储绑定信息。BLE设备不是强制可绑定的,但如果你想执行配对,标志应该设置为“可绑定”。关于你提到的规范:

9.4.2.2条件
当设备处于外围或中心角色时,设备应支持不可绑定模式。如果设备不支持安全管理器部分中定义的配对,则认为它处于不可绑定模式。如果支持Security Manager配对,主机应将Bonding_Flags设置为“No Bonding”如[第3卷],H部分第3.5.1节所定义不得交换或存储bonding信息。

“有两种键合模式,非键合模式和键合模式。绑定只能发生在两个设备之间的可绑定模式。设备支持bonding模式和过程的要求如表9.4所示。

请参阅表9.4中的9.4.1要求:

  • 非绑定模式/参考9.4.2 ->非绑定模式下的设备不允许与对端设备创建绑定。
  • 可绑定模式/参考9.4.3 ->可绑定模式下的设备允许与处于可绑定模式下的对端设备创建绑定。

由于MT_dialog

3年前

JamesHiebert 0点

MT_dialog,

当中心设备将bonding标志设置为non- bonding时,外围设备(DA14581)以“unspecified”为由拒绝配对请求(GAPC_PAIRING_FAILED)。我们想弄明白为什么外围国家拒绝这个请求。

JH

接受答案!

3年前

MT_dialog -30点

嗨JamesHiebert,

关于GAPC_PAIRING_FAILED,这取决于外围的要求和配对究竟中央发送请求,如果中央没有nessecary要求为了支持外围的安全级别要求你就会得到你的不明原因在你的设置。例如如果你不允许的任何密钥分发中心(你不因为你将标志设置为无粘结)和你的外围有一种特定的安全级别,需要共享密钥,以满足安全级别,然后用一个外围将拒绝配对过程不明原因,因为中心无法达到所要求的安全级别。

由于MT_dialog

3年前

JamesHiebert 0点

谢谢!