Ты не понял смысла послания. Хотя, это наверное моя ошибка, слишком мало текста написал, думал ты будешь в контексте.
1. Я отлично знаю в чём разница между device_only и host/device физических интерфейсах. Я не это имел в виду. Безусловно, в моём сообщении что речь идёт за камни которые имеют аппаратный usb host, без привязки к тобой названным моделям.
2. Я отвечал на сообщение, где ты написал, что в устройстве нет хаба. А это неправильно. Изначально ни в одном OTG нет хаба. Это программная фишка. Но хост быть обязан. Если бы ты написал "нет хоста" вопроса бы не возникало вообще.
3. Как я и написал в п.2, у любого USB хоста нет хаба. Это обычный однопортовый USB хост. В PC 1 гнездо, конечно, бесполезно, поэтому к каждому хосту прикручен на чипе хаб на 2 гнезда, который ты видишь в диспетчере как USB Root Hub/Корневой разветвитель USB. Это добавленная логика-микросхема, которая полностью идентична тем, что продаются отдельно но на бОльшее количество портов и обслуживать её нужно программно.
Таким образом, я хотел сказать, что если интерфейс является хостом, то и поддержку хаба или композитного устройства (что в нашем топике: 1 беспроводной донгл обслуживает и клаву и мышку) это вопрос программы. Ну и твое утверждение:
Нужно писать не HID а Device. Т.е., "он не хост а устройство". И это сразу снимает все вопросы. HID это всего лишь класс устройства и он тоже программный.
- - - Добавлено - - -
Ещё раз: хост и устройство. HID тут ни причём. Следует называть вещи своими именами.
- - - Добавлено - - -
Программный usb host вполне себе оправдан, когда тебе надо обслуживать HID да ещё и на скорости 1,5Мбита (Low Speed). При этом действительно не обязателен контроллер с аппаратным USB, достаточно ядра с необходимой производительностью, и тут опять ARM выигрывает у AVR. Программный USB хост вполне бы взлетел на STM32042, он такой мелкий и был самый дешёвый (жаль сейчас весь рынок в *опе). Но этот таск я не потяну. На аппаратном хосте поднять осблуживание HID ещё справлюсь.





Ответить с цитированием