Jak na usb host s N810 (potažmo N800)
6.04.2008 @ 22:57 by Tomas
Všechny tablety od Nokie maji vice či méně klasický USB konektor (mini/micro USB). Jelikož uvnitř tabletů tepe linux, spousta lidí nesla špatně vidinu, že USB funguje pouze v režimu peripherial, jak tomu je v defaultním nastavení od Nokie. Avšak komunita kolem internetových tabletů je velká a silná, takže řešení bylo záhy nalezeno. Velkým pomocníkem je redukce klasického USB-A: samice<->samice. Jak rozchodit USB host a jak překonat potíže na které narazíte u N810 se dozvíte po rozkliknutí.
Začneme hardwarovou stránkou věci. Jak jsem již zmínil, budete potřebovat USB redukci samice<->samice. Další možností je vzít datový kabel dodávaný k tabletu, uříznout konec a připájet samičí konektor...užijte si to ;-). Jinak vystačíte se standardním kabelem plus zařízení které chcete s tabletem používat. O podporovaných zařízeních budu mluvit později.
Nyní se podíváme na potřebný software. USB řadič tabletu je třeba přepnout do tzv. host módu. Toto lze učinit hned několika postupy. Každý z nich dělá ve finále totéž a rozdíl je pouze v pohodlí které poskytují uživateli. Nejjednodušším způsobem je spuštění terminálu, přepnutí na uživatele root (k tomuto budete potřebovat balíček gainroot a následně příkaz sudo gainroot) a spuštění příkazu echo host>/sys/devices/platform/musb_hdrc/mode. Tento postup je prostý, ale ne moc praktický, proto doporučuji nainstalovat aplikaci usbcontrol. Přepnutí provedeme tlačítkem host a měli bychom dostat následující stav: . To je vše, nyní už stačí připojit kabel s redukcí a požadovaným zařízením.
Zatím jsem vyzkoušel pozue dvě zařízení. Prvním je klasická gigová fleška s FAT32 filesystémem. . Po připojení se otevře standardní prohlíže souborů, který zobrazí obsah právě připojené flešky:.
Druhé testované zařízení je bezdrátová klávesnice ione, pracující na frekvenci 2,4GHz. Klávesnice není systémem rozpoznána jako USB mass storage zařízení a systém proto zobrazí chybovou hlášku, kterou však můžete s klidem ignorovat, jelikož v tuto chvíli již klávesnice bez problémů funguje. Většina kláves se chová tak jak byste čekali, některé ale ne. Uvedu pár příkladů, které by se mohli hodit:

F6 - přepne aplikaci z/do fullscreen
F7 - jako tlačítko '+' na boku přístroje
F8 - jako tlačítko '-' na boku přístroje
alt+tab - zobrazí seznam běžících aplikací
alt+shift+tab - zobrazí menu aplikaci
ctrl+alt+m - minimalizuje aplikaci (tímto si momentálně nejsem jist)

Potud pěkné. Zkoušíte-li výše zmíněný postup na Nokii N810, pravděpodobně se dívíte proč to nefunguje. Je to totiž rozbité ;-) Zatím není jasné, zda se jedná o chybu v kernelu, nebo o hardwarovou chybu nejnovější verze tabletu. Chyba není ani potvrzena dostatečným počtem uživatelů N810, takže není jisté že jí trpí všechny enosmsetdesítky (sám mám jeden z prvních prodaných kousků, je možné že problém byl později odstraněn). Problém je v tom, že tablet se nepřepne do host modu a zůstává stále v b_idle.
Řešením je flešnutí opatchované verze jádra. Úprava jádra je skutečně minimální (viz. maemo bugtraq) a po několika denním testování sem nepostřehl žádné vedlější účinky patche. Pokud chcete binárku opatchovaného kernelu, kontaktujte id kernelpanic na internet tablet talk fóru, nebo pošlete email mě a já vám zašlu kopii.
Toť asi vše k USB hostu na tabletech s OS2008. Ve výše zmíněném fóru se můžete dočíst o dalších zařízeních podporovaných tablety (namátkou USB cdrom, USB síťovka, disky s NTFS filesystémem, USB webkamera...). Happy hacking ;-)

diskuze:
farewell
26.03.2009 @ 17:23
 
Zdar, nevíte někdo,jak rozběhat maemo mapper na n810, mořil jsem se s tím dobu,ale pořád nic... asi mám nějakou chybu v nastavení... pokud víte, prosím poradte..
Tomas
26.03.2009 @ 17:26
 
Cus,
no a v cem mas problem? Proc ti to nefunguje? Ja ho proste nainstaluju, spustim a vse funguje jak ma...
Beltope
4.05.2009 @ 21:59
 
Zdravím. Usbcontrol mi nejde nainstalovat, application manager hlásí Incompatible application package. Mám verzi OS 4.2008.30-2. Poraďte, kdo umíte.. díky :)
Tomáš
4.05.2009 @ 22:04
 
@beltope no rozhodně bych nejdříve updatnul OS, jelikož máš dost starou verzi. Aktuální verze je 5.2008.43-7 (aspon myslim;-) ). Jinak ta chybová hláška znamená, že balíček který se snažíš nainstalovat není určen pro tvoji verzi OS. Patrně máš v application manageru špatný repozitáře...
Beltope
5.05.2009 @ 16:40
 
Díky:) Hlášku jsem pochopil, ale nechápu to, že když je aplikace určena pro OS2008, na N810 je tento system a přesto to nejde nainstalovat. Mě to v AM nabízí k update verzi 4.2008.36.5. kdyz se pokusím na ní updatnout, nepodaří se to s tím, že balíček, potřebný k update chybí. Kde najdu ke stažení nejnovější verzi ? Sorry za asi naivní dotazy, mám tu hračku třetí den... :)
Tomáš
5.05.2009 @ 17:09
 
No on ten balíček nemusí bejt pro OS2008, jestli máš rozhašený repo tak ti tam může vyset klidně z OS2007...to samy pro ten update. zkontroluj že máš správně nastavený repo a pokud si nekde neco dom*dal, tak idealne udelej hard reset a zacni odznova :-)
Beltope
7.05.2009 @ 8:50
 
Zdravím :) Trošku jsem pokročil, přes usb kabel jsem do \"hračky\" dostal aktuální verzi 5.2008.43-7 Usbcontrol hlásí totéž - nekompatibilní balíček. Jak zkontroluju správnost nastavení repo, případně provedu HW reset ? V manuálu o tom ani slovo, na netu jsem také nic nenašel... :(
Tomas
7.05.2009 @ 21:46
 
No tak mas evidentne spatnej balicek. V application manageru vlez do menu tools->application catalog tam vyber maemo extras repo dej edit a zkontroluj ze tam mas distribution:diablo.
hard-reset udelas nejsnaze tak, ze znovu flashnes firmware..
Reno
3.06.2010 @ 8:31
 
Všechny zdravím :-)
Podařilo se mi přepnout Nokii N800 do host módu, nicméně se mi nedaři přepnout ji zpět. Ani by mi to tak nevadilo, kdyby se tím nesnížila docela drasticky výdrž baterie... usbcontrol se mi nespusti a příkaz v terminálu neprovede taky požadované přepnutí zpět. Nestkal se s tím někdo?
Tomas
3.06.2010 @ 8:34
 
nesetkal, ani uz n810 nemam :-). nicmene bych za a) restartoval pristroj - tim ho prepnes do otg/client a za b) zjistil proc nefunguje usbcontrol (jak si to prepl do host??)
Reno
4.06.2010 @ 8:58
 
Prepl jsem to prikazem v terminalu: echo host > /sys/devices/platform/musb_hdrc/mode
Po resetu je to přepnuté - nevím, proč jsem tím nezačal. Nicméně usbcontrol neustale nefunguje :-(
jméno:
e-mail:
kolik je dva plus dva?
text: