Pytałem wczoraj na elektrodzie, ale odzew mizerny... więc przeklejam wątek.
Mam taki układ. Tablet z androidem i do niego zapięty HUB 4-portowy. I to po podłączeniu działa poprawnie. Kłopot jest w tym, że ja potrzebuję ten tablet cały czas ładować. Urządzenia które działają w oparciu o OTG negocjują ze sobą najpierw co i jak i w którą stronę. Mój HUB nie jest niestety OTG, więc nic nie negocjuje tylko spodziewa się być podłączonym do hosta.
Znalazłem w sieci różne opisy rozwiązania tego problemu, które raz działają, a raz nie, w zależności od konkretnego typu urządzenia:
Próbowałem z rezystorem na linii ID, ale to też działa progowo, albo jest hostem i nie ładuje, albo na odwrót. Również kable typu Y nie spełniają tej robi, bo tablet ładuje się tylko wtedy, gdy jest wyłączony, co akurat nie jest dziwne, bo ma zwarcie linii ID do GND, co wymusza tryb host.
Do czego zmierzam natomiast. Otóż w opisie:
"(...)Drugi protokół to SRP (Session Request Protocol). SRP zarządza napięciem zasilającym na linii VBUS. Ponieważ oba urządzenia USB OTG mogą być hostami to w trakcie inicjalizacji trzeba by urządzenie B (domyślne peryferia) pozwoliło urządzeniu A (domyślny host) na wystawienie napięcia na VBUS. Co ciekawe, nawet kiedy A zostanie przełączone na funkcje peryferii przez HNP, to nadal może dostarczać napięcia VBUS podczas wymiany informacji przez urządzenia.(...)"
I teraz moje pytanie brzmi, czy da się programowo "przetłumaczyć" tabletowi, żeby przestawił kierunek zasilania i zaczął się ładować? Teoretycznie powinno się dać, skoro w czasie pracy mogą się zamienić rolami nie naruszając warunków zasilania.
Pozdrawiam