MTP 设备在 Linux 下被检测到,但在 Windows 下却无法检测到

MTP 设备在 Linux 下被检测到,但在 Windows 下却无法检测到

我设计了一块嵌入了通过 buildroot 构建的自定义 Linux 的主板。该主板有一个外围 USB 连接器,当连接到另一个操作系统时,它看起来像一个设备。

AMTP 响应器 Python 程序绑定到相关的 USB 设备控制器 (Atmel USBA)。

我能够使用 libmtp v1.1.13 和 nautilus 在 Linux 下将该板检测为 MTP 设备。
我还能够通过 nautilus 传输文件和共享挂载点,就好像它是 MTP 设备(例如 Android 手机)一样。


但是我无法在 Windows 7 Professional 下执行同样的操作,我安装了Microsoft MTP 移植套件但我的主板没有被识别为 MTP 设备,而是被识别为“未知设备”。

我还尝试通过设备管理器更新驱动程序此链接并选择:
“更新驱动程序软件”==>“浏览我的电脑以查找驱动程序软件”==>“让我从电脑上的设备驱动程序列表中选择”=>“Android 设备”

然而此时我唯一的选择是以下几点:

  • Android ADB 接口
  • Android 引导加载程序接口
  • Android 复合 ADB 接口

我没有像我给出的链接中那样的任何 MTP 设备。


我尝试使用我的 Android 手机,在我授权手机连接后,它被检测为移动设备。


这真是折磨我,因为我不习惯 Windows 操作系统,而它在 Linux 下运行得很好。即使我安装了微软提供的 MTP 驱动程序,我也无法让它在 Windows 下工作。

有人知道如何检测非 Android 手机的 MTP 设备吗?
或者也许有一个命令行实用程序可以让我启动与主板的通信?


编辑 :经过进一步研究,我意识到 Windows 7 应该内置了 MTP 驱动程序。因此安装驱动程序是没用的。
但是我仍然无法与我的主板通信。

答案1

我终于找到了让它发挥作用的方法。

对于那些感兴趣的人,这里是解决方案:

在 Windows 设备管理器下:

  • 右键单击设备并选择“更新驱动程序软件”
  • 选择“浏览我的计算机以查找驱动程序软件”
  • 选择“让我从计算机上的设备驱动程序列表中选择”

  • 在左栏中,选择“标准 MTP 外围设备”

  • 在右侧栏中选择“USB MTP Peripheral”

我几乎尝试了所有可能的选项才成功,希望它能帮助下一个遇到此问题的人节省时间。

相关内容