Android Open Accessory Protocol и MTP

Я работаю над проектом, в котором наша встроенная система поддерживает как открытый протокол аксессуаров Android, так и USB MTP. Мы столкнулись с проблемой, когда USB MTP не работает, когда сеанс AOAP установлен с устройством Android. В основном я потерян, я не знаю, возможно ли, чтобы оба работали одновременно. Может ли кто-нибудь сказать мне, возможно ли активировать сеанс USB MTP и AOA? Кроме того, я ищу спецификацию AOA 2.0? В настоящее время у нас есть стек AOA от третьей стороны. Где я могу получить спецификацию AOA? Спасибо.


person ash    schedule 28.04.2017    source источник


Ответы (1)


невозможно иметь два сеанса USB одновременно из-за внутренней структуры протокола USB. Устройства USB, такие как телефоны Android, могут реализовывать несколько классов устройств, таких как класс запоминающих устройств, хост RNDIS (класс CDC).... часто эти классы устройств определяются на уровне интерфейса . если вы используете Linux, проверьте вывод lsusb -v, чтобы узнать, какие интерфейсы доступны и какой интерфейс активен.

в протоколе USB может быть активен только один интерфейс (на самом деле!). вот почему вы не можете получить доступ к памяти телефона (класс запоминающего устройства) или использовать ADB (интерфейс ADB), когда вы подключаетесь (класс CDC, определенный на уровне интерфейса), вы должны переключить интерфейс перед этим. что вы можете сделать, так это переключить интерфейс с помощью кода, однако тогда хост должен выгрузить модуль / драйвер ядра и загрузить новый модуль / драйвер ядра, т. Е. Если вы переключитесь с интерфейса MTP USB на интерфейс AOAP USB.

в общем, в протоколе USB любая связь инициируется хост-устройством (в данном случае аксессуаром), если вы переключаете интерфейс USB на устройстве, хост должен отреагировать и загрузить соответствующий модуль / драйвер ядра, см. http://www.beyondlogic.org/usbnutshell/usb5.shtml. возможно, проверьте на аксессуаре, какие модули ядра / драйверы загружены

person ralf htp    schedule 29.04.2017
comment
Спасибо. Вы знаете, где я могу скачать спецификацию AOA? - person ash; 30.04.2017
comment
нет, только документация на source.android.com/devices/accessories/aoa2. может написать почту в гугл.... - person ralf htp; 30.04.2017