Keresés

Aktív témák

  • anglergab

    addikt

    válasz chab7 #10050 üzenetére

    USB Host: ZTE Blade-nél nyilvános volt a kernel forráskódja, így a kernel config fájlja is. Tehát bárki módosíthatta a forrást és újrafordíthatta a kernelt. A kernel config fájlában lehet aktiválni kernelbe fordítandó featureket, így az USB host mód hardver szintű aktiválását is. A hardveres támogatás adott volt (mint ahogyan a Defy-nál is, lásd a TI oldalán a platformunk specifikációját), így a config módosításával és célszerűen driverek, scriptek kernelbe fordításával adott volt az usb host, de nem az otg lehetősége a Blade-nél. A tényleges aktiváláshoz már "csak" kernel modulok kellettek (ezek *.ko fájlok, kernelverzió-specifikusak, ezáltal részben Android platformverzió-specifikusak is), amelyek betölthetők voltak boot után (insmod ....ko). Így a memóriába betöltött kernelhez hozzáadhatók újabb "driverek".

    Visszatérve a Defy-hoz a tanulságok:
    1. Hardveres támogatás adott, ez tény.
    2. Kernel configjában aktivált-e a mód -> kérdéses; ha nem aktivált, nem szükségszerűen következik, hogy soha nem aktiválható, még ha zárt is a bootloader.
    3. Kernel modulok az USB host módhoz (Loadable Kernel Modules) elérhetők-e? Ezek kvázi driverek pl. HID-es egérhez, usb-mass-storage osztályú eszközhöz, stb. Akár a HDMI (DVI) kimenet is megvalósítható az USB-n keresztül. Ha nem elérhetők, elkészíthetők-e? Pl. Nexus One-hoz, ZTE Blade-hez léteznek ilyen *.ko, esetleg *.so fájlok.
    4. USB-OTG (On the Go) hardveresen elérhető? A Droid/Milestone esetében igen: ezáltal bootolásnál a micro USB B csatlakozó OTG pinjének rövid idejű földelésével aktiválható a host mód. MIvel szinte ugyanaz a SoC/CPU van a Defy-ban is (csak más csíkszélességgel), várható, hogy működjön a Defy-nál is az OTG hardveresen. Kérdés, ha támogatja, hogy ekkor a kernel részéről milyen támogatás szükséges (ha egyáltalán szükséges), és ez implementálva van-e. Reményre adhat okot a Droid/Milestone natív USB-OTG támogatása (úgy tudom, out-of-box működik ott, rom csere nélkül). Nyilván a legjobb az lenne, ha a Defy-nál is működik a stock kernellel az USB-OTG, mert ez már feltételezi az USB host mód támogatását, legalább billentyűzet esetén (lásd a Megjegyzéseket).

    Megjegyzés #1: az USB OTG többet nyújt a "sima" USB host módnál. Az OTG révén dinamikusan váltani lehet az eszköz kliens és host módjai között -- azért újraindításra szükség van. Az "sima" (tehát OTG nélküli) USB host mód aktivált/enabled kernel kizárólag hostként képes működni: tehát ha kliensként csatlakoztatni szeretnénk az eszközt egy hosthoz (pl. fájlmásolás USB-n PC-re), akkor másik kernelt kell feltenni/betölteni a memóriába (nyilván ekkor biztosan szükséges újraindítás).

    Megjegyzés #2: az USB host és/vagy OTG tesztelését USB-s billentyűzettel célszerű végezni, mivel ezt igen sok esetben a Linux kernel natívan támogatja, míg egérhez külön HID driver kell.

    Megjegyzés #3: erősen ajánlott -- még egy billentyűzetnél is -- az extra árambetáplálás (töltés) USB host mód közben. Ez Y-alakú kábellel valósítható meg a legegyszerűbben.

    Megjegyzés #4: tudomásom szerint a GPL licensz értelmében jogunkban állna elkérni a gyári/stock Motorola kernel forráskódját. Tudomásom szerint az nem elérhető, vagy tévedek?

    [ Szerkesztve ]

Aktív témák