WinCE上的蓝牙问题,期待各位帮助!

[复制链接]
6396|9
 楼主| wlsui 发表于 2007-10-23 21:20 | 显示全部楼层 |阅读模式
在用蓝牙实现WinCE和PC机通信时遇到了问题,问题如下:<br />现在我有两个不同型号的蓝牙USB适配器,为表述方便,假设为A和B,有两个WinCE开发平台,一个为三星2410,一个为Intel&nbsp;PXA270<br />在PXA270平台上:<br />1、用蓝牙A插入USB口,在WinCE的“蓝牙设备属性”里点“扫描设备”按钮,可以搜索到设备,并PC机能正常传输文件至WinCE。这应该能说明USB口和WinCE的设置等应该都没问题的;<br />2、用蓝牙B插入USB口,在WinCE的“蓝牙设备属性”里点“扫描设备”按钮,弹出“硬件错误10050,控制器不存在”对话框;<br />而在2410平台上,A和B都能正常搜索到设备,并且PC能正常传输文件至WinCE,这就说明,蓝牙B本身并没有损坏;<br /><br />问题是蓝牙B在PXA270上为什么不行呢?<br /><br />弹出对话框里的10050错误号WinCE里的说明是:Network&nbsp;is&nbsp;down.&nbsp;A&nbsp;socket&nbsp;operation&nbsp;encountered&nbsp;a&nbsp;dead&nbsp;network.&nbsp;<br />This&nbsp;could&nbsp;indicate&nbsp;a&nbsp;serious&nbsp;failure&nbsp;of&nbsp;the&nbsp;network&nbsp;system&nbsp;(that&nbsp;is,&nbsp;the&nbsp;protocol&nbsp;stack&nbsp;that&nbsp;the&nbsp;Windows&nbsp;<br />Sockets&nbsp;DLL&nbsp;runs&nbsp;over),&nbsp;the&nbsp;network&nbsp;interface,&nbsp;or&nbsp;the&nbsp;local&nbsp;network&nbsp;itself.&nbsp;<br /><br />另在PXA270平台上:用逻辑分析仪分别观察蓝牙A和B插入USB口时D+和D-的数据,发现能正常操作的A插入时有较多的数据流(枚举成功),而B则只有少量的数据,估计根本就没有枚举成功。由于逻辑分析仪观察到的都是纯二进制数据,所以很难分析出到底是些什么样的数据包,也就不知道B插入时是在哪个SETUP阶段出了问题。<br /><br /><br />尝试了很多方法都没有成功,不知各位高手有没有遇到过这种问题,有什么解决方法或建议能否指点一下?<br />在此先谢谢了!
high 发表于 2007-10-24 15:52 | 显示全部楼层

我没有接蓝牙设备

会弹出和你一样对话框.也许一个不被支持.
 楼主| wlsui 发表于 2007-10-24 16:46 | 显示全部楼层

问题是在2410上正常啊,

2410和270上编译的系统镜象是一样的
high 发表于 2007-10-24 17:41 | 显示全部楼层

其他想法,输出电流不够?

  
 楼主| wlsui 发表于 2007-10-24 21:33 | 显示全部楼层

有这可能!

觉得有这可能!<br />我明天上班的时候将那蓝牙插入PC机,然后用抓USB数据的软件抓一下那些蓝牙USB描述符中需要的电流大小,正常的蓝牙和不正常的蓝牙对比下.<br /><br />不过话说回来,USB蓝牙适配器所需的电流应该不会很大,一般的USB控制器都能提供那么多的电流吧<br />而USB协议里规定的枚举时USB设备需要的电流不能大于100mA,100mA的电流一般的控制器应该都能提供的.而从昨天用逻辑分析仪抓的数据来看枚举就没有成功.当然,也有可能枚举时主机发现不支持那么大的电流就终止了枚举的过程.<br /><br />有点笨的是之前为什么不知道抓一下设备描述符里的数据.呵呵<br /><br />谢谢你的提醒!我明天再试下
 楼主| wlsui 发表于 2007-10-25 21:41 | 显示全部楼层

唉,不行

配置描述符中读出来的所需电流值竟然是0<br />可能写那蓝牙固件程序的人自己也不清楚是多少,就填了个0进去
 楼主| wlsui 发表于 2007-10-25 21:55 | 显示全部楼层

那个不正常的蓝牙插入USB口时输出信息如下:

0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::HubStatusChangeThread&nbsp;-&nbsp;port&nbsp;2,&nbsp;change&nbsp;=&nbsp;0x0001,&nbsp;status&nbsp;=&nbsp;0x0101<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::HubStatusChangeThread&nbsp;-&nbsp;device&nbsp;attached&nbsp;on&nbsp;port&nbsp;2<br />0x83cc6b24:&nbsp;+CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;port&nbsp;=&nbsp;2,&nbsp;fIsLowSpeed&nbsp;=&nbsp;0<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_OPENING_ENDPOINT0_PIPE,&nbsp;failures&nbsp;=&nbsp;0<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_USING_ADDRESS0,&nbsp;failures&nbsp;=&nbsp;0<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT,&nbsp;failures&nbsp;=&nbsp;0<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST,&nbsp;failures&nbsp;=&nbsp;0<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;failure&nbsp;on&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST&nbsp;step<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_SET_ADDRESS,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_LEAVE_ADDRESS0,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_DEVICE_DESCRIPTOR,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SETUP_CONFIGURATION_DESCRIPTOR_ARRAY,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_CONFIG_DESCRIPTOR,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR,&nbsp;failures&nbsp;=&nbsp;1<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;failure&nbsp;on&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR&nbsp;step<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR,&nbsp;failures&nbsp;=&nbsp;2<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;failure&nbsp;on&nbsp;DEVICE_CONFIG_STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR&nbsp;step<br />0x83cc6b24:&nbsp;CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;status&nbsp;=&nbsp;DEVICE_CONFIG_STATUS_FAILED,&nbsp;failures&nbsp;=&nbsp;3<br />0x83cc6b24:&nbsp;-CHub(External&nbsp;tier&nbsp;1)::AttachDevice&nbsp;-&nbsp;port&nbsp;=&nbsp;2,&nbsp;fIsLowSpeed&nbsp;=&nbsp;0,&nbsp;address&nbsp;=&nbsp;2<br />0x83ae3000:&nbsp;WPCSHELL:&nbsp;SHRecognizeGesture&nbsp;found&nbsp;WM_LBUTTONUP,&nbsp;dropping&nbsp;out&nbsp;of&nbsp;loop...
 楼主| wlsui 发表于 2007-10-25 22:01 | 显示全部楼层

可以看出枚举就没有成功

正常的蓝牙枚举成功后主机会打开相应的通信管道pipe<br />而那个不正常的蓝牙则不会<br /><br />从这点看这应该算是USB方面的问题,而不是与蓝牙相关的软件代码方面的问题<br />因为在涉及蓝牙协议栈前操作就没有成功
 楼主| wlsui 发表于 2007-10-25 22:13 | 显示全部楼层

看来我应该将这个问题转到USB版块合适些:

*
high 发表于 2007-10-25 23:18 | 显示全部楼层

楼主别急,我们对着大地呼唤‘平常人~’

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

263

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部