Есть симметричные и ассиметричные интерфейсы. Большинство интерфейсов - ассиметричные и USB тоже. Практически это означает что при соединении двух устройств по шине USB одно устройство выполняет роль ведущего (Host), а другое ведомого (Device).
Так вот вся компьютерная USB периферия, это ведомые устройства, что вообще-то логично - на то она и периферия что бы ведомой быть.
Но самое ужасное, что смартфоны/планшеты, это тоже ведомые устройства.
Когда вы берете USB шнур и подключаете свой гаджет к компьютеру (Host устройству) вы видите подключенный накопитель, камеру, медиа-устройство, порт обмена данными, составное устройство и т.п., в зависимости от настроек и возможностей гаджета.
В рамках этой концепции подключить по USB к телефону/планшету флешку, мышь, клавиатуру невозможно. Это все равно что подключить клавиатуру к флешке и попробовать что-то на флешку записать, вот прямо с клавиатуры. :-)
Разумеется современные гаджеты «поумнее», да и по мощнее иных компьютеров не столь далекого прошлого. И собственный источник энергии для питания подключаемых устройств у них тоже есть. И не составляет проблемы реализовать в смартфоне/планшете USB Host порт.
Но тогда придется забыть о подключении к компьютеру. Два ведущих (Host) устройства соединенных USB кабелем взаимодействовать не смогут. Попробуйте соединить таким образом два ПК и убедитесь сами. :-)
Как быть?
В начале гаджеты на ряду с USB Device оснащались дополнительным USB Host портом. Такие решения существуют до сих пор, в устройствах габариты которых не критичны, к примеру в медиаплеерах, «крупнокалиберных» планшетах или док-станциях к планшетам.
Позже спецификацию USB 2.0 дополнили расширением OTG (On-The-Go).
Суть этого замечательного расширения - оно ситуационно, автоматически изменяет режим работы USB порта в зависимости от того что к нему подключили. «Смотрит» USB порт - подключили его к компьютеру. «ОКей» - говорит USB, сегодня я Device (ведомое устройство), что прикажите мой господин? Потом воткнули в тот же USB порт, ну пусть ту-же флешку. «ОКей» - снова говорит USB, теперь я Host! (ведущее устройство) Слушай мою команду!
Источник:
Ликбез: Что такое OTG?