我们正在WEC2013中测试蓝牙,并在iMx6平台上使用通用厂商提供的USB接口进行测试。我们使用的是WEC2013 BSP提供的默认HCI传输层。
BT被打开,并能够扫描附近的所有设备。
我们已经启用了以下一组sysgen变量和注册表项。
Sysgen变量:
SYSGEN_BTH (Bluetooth stack with universal loadable driver)
SYSGEN_BTH_BTHUTIL (Bluetooth Profile Management APIs)
SYSGEN_BTH_HID_KEYBOARD (Bluetooth HID - Keyboard)
SYSGEN_BTH_HID_MOUSE (Bluetooth HID - Mouse)
SYSGEN_BTH_AG (Bluetooth HS/HF and Audio gateway service)
SYSGEN_BTH_SETTINGS (Bluetooth settings UI)
SYSGEN_OBEX_CLIENT (Obex client)
SYSGEN_OBEX_SERVER (Obex server)
SYSGEN_OBEX_FILEBROWSER (OBEX file browser)
SYSGEN_OBEX_INBOX (OBEX Inbox)
SYSGEN_FTPD (FTP server)
SYSGEN_BTH_BTHSSVC(Support Secure Simple Pairing)注册表条目:
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\224_1_1\Default\Bluetooth_USB_Driver]
"DLL"="bthusb.dll"
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\Default\224_1_1\Bluetooth_USB_Driver]
"DLL"="bthusb.dll"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\PnP\{B3DD867A-1E6E-4215-8AA7-EAC1DFC46548}]
"flags"=dword:80000000
"driver"="bthusb.dll"
"resetdelay"=dword:0
"PacketSize"=dword:200
"BlockSize"=dword:5
[HKEY_LOCAL_MACHINE\ControlPanel\Bluetooth]
"PinAttemptInterval"=dword:200000
"PinEntries"=multi_sz:"0000","8888"我们观察到了与设备配对的不同情况。
在这些失败的senarios中,上层是响应来自芯片的"Pin代码请求负应答命令“。
我们需要这个配对过程的投入。为什么这个自动密钥生成方法和手动密钥生成方法是基于UI是打开的还是从未打开的?为什么手动钥匙箱失败了?
是否缺少任何注册表项或堆栈功能?
发布于 2015-05-04 13:08:43
这一切都与SSP( Simple )有关,SSP决定了配对认证模型。这在WEC8(2013年)中通过bthsettings下的变化而受到影响。 在WEC8下,每当从外部设备启动连接时,它们就禁用SSP (通过函数EnbaleSSP()),并在内部启动连接时启用SSP。虽然这是逻辑,但我不知道为什么会引入这个(这是一个bug,它将在即将进行的更新中得到修复,就像它们最初用于NDIS 5无线驱动程序连接一样)。 为了解决这个问题,禁用EnableSSP()。 另外,SYSGEN_BTH_BTHSSVC是SYSGEN_BTH_SETTINGS组件隐式需要的,该链接在WEC8下中断。 微软已经在2015年4月更新了修复程序。这里提供的详细信息。
https://stackoverflow.com/questions/29071940
复制相似问题