gpt4 book ai didi

Android 开放附件协议(protocol)和 MTP

转载 作者:行者123 更新时间:2023-11-29 01:10:15 30 4
gpt4 key购买 nike

我正在做一个项目,我们的嵌入式系统同时支持 Android 开放附件协议(protocol)和 USB MTP。我们遇到了一个问题,当与 Android 设备建立 AOAP session 时,USB MTP 不起作用。我基本上迷路了,我不知道是否有可能让两者同时工作。谁能告诉我,是否可以同时激活 USB MTP 和 AOA session ?另外,我正在寻找 AOA 2.0 规范?我们目前有来自第三方的 AOA 堆栈。我从哪里可以获得 AOA 规范?谢谢。

最佳答案

由于内部 USB 协议(protocol)结构,不可能同时有两个 USB session 。 Android 手机等 USB 设备可以实现多个设备类,如大容量存储类、RNDIS 主机(CDC 类)......通常这些设备类在接口(interface)级别定义。如果您使用 linux,请检查 lsusb -v 的输出以查看哪些接口(interface)可用以及哪些接口(interface)处于 Activity 状态。

在 USB 协议(protocol)中,只有一个接口(interface)可以激活(afaik!)。这就是为什么在tethering(CDC类,定义在接口(interface)层)时不能访问手机内存(海量存储类)或使用ADB(ADB接口(interface)),必须先切换接口(interface)。您可以做的是通过代码切换接口(interface),但是主机必须卸载内核模块/驱动程序并加载新的内核模块/驱动程序,即如果您从 MTP USB 接口(interface)切换到 AOAP USB 接口(interface)。

一般来说,在 USB 协议(protocol)中,任何通信都由主机设备(在本例中为附件)发起,如果您切换设备上的 USB 接口(interface),主机必须使用react并加载合适的内核模块/驱动程序,请参阅 http://www.beyondlogic.org/usbnutshell/usb5.shtml .也许检查附件加载了哪些内核模块/驱动程序

关于Android 开放附件协议(protocol)和 MTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686471/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com