【问题标题】:ActiveSync not getting connectedActiveSync 未连接
【发布时间】:2014-01-31 19:15:15
【问题描述】:

我在 Windows 7 PC 上使用 AM335x Beagle Bone black 和 WinCE 7 BSP VS 2008。我正在使用移动设备中心。当设备启动时,我收到“USB 设备无法识别”弹出消息。我已经检查了以下内容。

  1. 已添加必需的目录项
  2. 所有 USB 驱动程序都在最终映像中
  3. 在 windows XP 32 位 PC 上测试过 - 错误仍然存​​在
  4. 正在加载所有 USB 驱动程序
  5. 已检查 PC 中基于移动设备的更新

我添加的目录项是,

  1. Core OS\Windows Embedded Compact\Device Drivers\USB\USB Function\USB 功能客户端\USBFN 串口客户端
  2. Core OS\Windows Embedded Compact\Device Drivers\USB\USB Function\USB 功能支持
  3. Core OS\Windows Embedded Compact\Applications - End User\Active 同步\文件同步
  4. Core OS\Windows Embedded Compact\Applications - End User\Active Sync
  5. Core OS\Windows Embedded Compact\Shell 和用户 接口\Shell\图形Shell\标准Shell
  6. 第三方\BSP\AM33X_BSP\ARMV7\Drivers\MUSB OTG 驱动程序

我是否缺少任何目录项?对于 ActiveSync 连接,我还能验证什么?

更新 1:

此目录项由于依赖关系而被包含在内。这个问题有什么原因吗?

Core OS\Windows Embedded Compact\Device Drivers\USB\USB Host\USB
    Host Support

根据日志,我注意到 serialusbfn.dll 没有加载。如何让它加载?在注册表中没有给出它的订单号。

【问题讨论】:

  • 您确定 USB OTG driver(您的Third Party\BSP\AM33X_BSP\ARMV7\Drivers\MUSB OTG Driver)工作正常(对于USB Client 案例)?
  • 另外,请尝试删除Core OS\Windows Embedded Compact\Applications - End User\Active Sync\File Sync。这可能很愚蠢,但请尝试一次,因为在我的 OSDesign 中它被禁用了,而 ActiveSync 工作正常
  • @Keshava 我已删除该目录项并让它构建。完成后我会更新。同时,您能否告诉我,如何检查 USB OTG 驱动程序是否正常工作?谢谢。
  • 可以使用USB analyser?
  • @Keshava 实际上,我怀疑使用 USB 分析器是否可行。因为,设备本身在设备管理器中显示为“未知”,因为它“无法识别”。我说的对吗?

标签: usb windows-ce activesync beagleboneblack


【解决方案1】:

如果 Windows 不要求驱动程序,则表示在物理连接后,设备未提供有效 ID,这意味着低级 USB 链接未按预期工作。 IIRC 控制器是一个 OTG 控制器,您需要在构建 OSImage 时将其配置为既充当主机又充当设备(或仅在您的情况下充当设备)。

【讨论】:

  • 你能告诉我如何让它在 OSDesign 中同时表现得像 OTG 和设备吗?
  • 另外,Activesync 是否需要 KITL?如果没有,您能告诉我设备 ID 分配在哪里吗?
  • KITL 可能会使用 USB 客户端,如果启用,您将无法使用 ActiveSync。您可以从 os 设计属性的构建选项选项卡中禁用 KITL。
  • 目录中应该有多个元素,您可以选择是否需要 OTG 主机和客户端、仅客户端或仅主机。
  • 我在操作系统设计和设备中都禁用了 KITL 并尝试过,但仍然无法识别 USB 设备。我提供了包含在 OS 设计中的目录项列表。我希望我选对了。
【解决方案2】:

它现在可以在 Windows 7 和 Windows XP 中运行。

以前我在调试模式下构建 BSP。我将其更改为发布模式。

我确保在 OS Design 中禁用 KITL,并在设备启动时在 eboot 中禁用 KITL。

在 Windows XP 中,它就是这样连接的。

在 Windows 7 中,Windows 更新检测到该设备并为其安装了驱动程序。它第一次没有连接(或者我没有再等几分钟)。第二次 Windows 更新也安装了驱动程序并连接上了。从那时起,它每次都在 2 分钟内连接。之后就不用安装驱动了。

我认为,由于一些时间问题,Active Sync 在调试模式下没有连接。

根据 ARM A8 用户指南,KITL 和 Active Sync 不能同时在一起的原因是,

USB RNDIS KITL 传输使用一组专用例程来 与内核通信。它不使用标准的 USB 功能 或 OTG 堆栈。禁用所有 USB 驱动程序至关重要 USB RNDIS KITL 正在使用中。 USB RNDIS KITL 实现 KITL 激活时自动禁用标准 USB 驱动程序。

感谢 Keshava 和 Valter 的持续帮助!

【讨论】:

  • 很好,它在发布模式下工作!我不知道您从未尝试过发布模式,因为通常在这里我们只会在调试模式不适用于发布模式时才使用它。是的,AFAIK,它必须是 timing issue... 或者参见 THIS ANSWER。它说明了另一个主要区别。它可能会帮助你。万事如意!
  • @Keshava 感谢您分享该链接。真的很有帮助!
猜你喜欢
  • 2011-11-30
  • 2011-09-07
  • 2023-03-20
  • 2010-09-24
  • 2011-02-27
  • 2013-05-20
  • 2011-02-06
  • 2018-04-08
  • 2016-12-25
相关资源
最近更新 更多