jarod_jy
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2012-06-17
  • 粉丝0
  • 关注0
  • 积分332分
  • 威望35点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
阅读:1165回复:2

为什么主机给两个USB设备(设备的硬件相同)分配的设备地址相同?

楼主#
更多 发布于:2007-03-14 10:54
  写了一个USB设备驱动,用driverworks3.1写的,当两个USB设备接入主机时出现一下的问题:
  1.当两个USB设备接在同一个主机控制器(host controller)下,在设备管理器中都可正常识别,并且每
    个USB设备均可正常使用。
  2.当两个USB设备接在不同的主机控制器下,在设备管理器中只识别了一个设备,通过USBview.exe
    查看,主机给两个USB设备分配的设备地址(device address)都是0x01。

    根据USB协议,在枚举过程中,主机应该给USB设备分配不同的设备地址,以区别不同的设备,但出现
了上面描述的问题,不知是什么原因造成的。我在其他PC机上试验也出现相同的问题。
    请大家分析一下原因,说说解决方法。
耕一块贫瘠的土地
jarod_jy
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2012-06-17
  • 粉丝0
  • 关注0
  • 积分332分
  • 威望35点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-14 15:19
为什么会给设备分配相同的地址呢?思考了很久,不知该从什么地方找原因。
耕一块贫瘠的土地
jarod_jy
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2012-06-17
  • 粉丝0
  • 关注0
  • 积分332分
  • 威望35点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-03-15 11:20
经过实践,两个USB设备的设备地址(device address)可以相同,前提是两个USB设备在不同的主机控制器下,因为主机控制器的路径(或者说是主机控制器的地址)不同,则即使在不同主机控制器下的设备地址相同,操作系统也可以区分两个USB设备。需要注意的是:在同一个主机控制器下的usb设备的设备地址一定不会相同。
    本贴可以结贴了!
    但是两个USB设备接在不同主机控制器下只识别出一个设备的问题还是没解决,郁闷ing。。。。
耕一块贫瘠的土地
游客

返回顶部