我设计了一块嵌入了通过 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”
我几乎尝试了所有可能的选项才成功,希望它能帮助下一个遇到此问题的人节省时间。