Hacking mobilu část první: S-Off a root na HTC ChaCha

Po tom, co jsem nešťastnou náhodou utopil svojí oblíbenou G1, stal jsem se majitelem HTC ChaCha. S telefonem jsem byl doopravdy spokojený. Klávesnice je perfektní, nevysouvací klávesnice zaručuje i možnost ovládat a psát na telefonu jednou rukou a oproti G1 to byl i velký výkonový skok - například už mi přestaly padat aplikace na nedostatek RAM. Novější verze Androidu některé neduhy odstranily, takže například udělat z telefonu WiFi AP šlo udělat i bez toho, aby člověk nad telefonem strávil dvě bezesné noci s pitváním prvních bajtů SD karty a nahráváním alternativní ROM. Tedy až doteď jsem telefon používal ve stavu tak, jak přišel, bez nějakých závažnějších zásahů do systému. Jenže aby to nebylo tak dokonalé, tak jedna chybička se přeci jen vloudila...

Jedná se od začátku nejvíce kritizovaný parametr tohoto telefonu a to jeho interní paměť. Podle specifikace je tam sice 512MB (což ani tak některým dnešním všechnoinstalačům nestačí), ale je v tom cejtit to pyčo. 512MB ta flash možná má, ale s defaultním systémem a s jeho defaultními aplikacemi (které z toho telefonu prostě nedostanete) tam volné paměti je výrazně méně. V zásadě po nainstalování aplikací, které jsem chtěl (a že jich až tak moc není neb nemám ve zvyku do telefonu narvat všechno co najdu na marketu) mi zbylo něco pod 50MB. A pak už se jen díváte, jak při používání aplikací se zaplňujou různé cache a místa pro data a to volné místo klesá a klesá... a klesá... až jednoho dne, asi po roce používání, klesne natolik, že telefon nadobro zblbne. Začne dělat takové veselé věci, jako přestat synchronizovat kalendář (je to super věc, když člověk spoléhá na to, že mu telefon schůzky sám připomíná...), otevírá SMSku 5 minut, odesílá 10 a vůbec dělá další roztodivné věci.

Nastala otázka co s tím. Nabízelo se několik možností:

  • Telefon obnovit do továrního nastavení a on zase chvíli bude fungovat. Třeba dokonce i další rok. Každým dnem budu myslet na to, kdy to místo zase dojde a telefon přestane fungovat. A pak znova.
  • Koupit nový telefon - taky možnost. Jenže stále mi přijde dost mladý na to, že by ho byla škoda. Navíc dneska frčí ještě více než kdy dřív telefony matlací neboli bez klávesnice, které jsou úplně super na prohlížení webu (možná i s flashem, hádám že kvůli tomu do toho montujou tolik CPU jader), ale jenom do chvíle, než je potřeba se někde přihlásit, protože na té připotomělé SW klávesnici nejde zadat ani heslo. A telefony s klávesnicí mají asi tak stejné parametry jako ChaCha (pravda, možná s větším interním storagem, ale pořád to není žádný skok).
  • Zahrát si na überhackera, strávit s telefonem dalších několik bezesných nocí a nacpat do něj skromnou ROM bez všech těch blbostí a s možností kompletního přesunu aplikací na SD kartu (a ne jen té datové části, která dělá asi půlku aplikace...)

Jelikož podle našich největších technickcý specialistů píšících do médií jsem asi pořádnej pankáč, vybral jsem si možnost třetí. Jako první nutnost přišla koupě SD karty. S tou dodanou 2GB, která už i tak byla plná, bych asi daleko nepošel. Pokud z karty má jít i datové úložiště aplikací, měla by se karta chovat pokud možno rychle a spolehlivě (tedy například by nemusela trpět flashbacky jako moje stará 16GB A-Data z doby, kdy si OSA při vybírání poplatků myslela, že maximální velikost karty je 256MB...) Vítězem se stal 16GB microSD SanDisk UHS-1, který jako bonus stál zhruba stejně, jako ostatní pomalejší class 10 karty. Asi i díky tomu byl věčně vyprodaný a nějakým zázrakem se mi povedlo včas objednat jeden z kusů, který ještě přišel - teď už se sehnat snad ani nedá. Tak jenom aby nebyl vadný :-)

Druhou obtíží byl samotný root HTCčka. HTC ChaCha se obvykle vyskytovala se zapnutou securitou (S-On), která docela znesnadňuje nahrávání vlastních věcí do telefonů a rootování. Jak tomu tak bývá, samozřejmě i já mám S-On. Na převedení telefonu do S-Off se dá koupit kouzelná krabička XTC Clip. Je to jakýsi čínský bazmek, od kterého se připojí kabel do telefonu místo SIM karty, provede nějakou černou magii a tradá - telefon v bootloaderu píše S-Off. Od ledna přibyla navíc možnost v telefonu odemknout bootloader bez kupování dalších bazmeků (tedy čistě softwarově). Nicméně odemčený bootloader je pořád více restriktivní. Lze s ním telefon rootnout i nahrát vlastní ROM. Avšak u některých ROM a některých telefonů se vyskytovaly různé nehezké věci - například nefungovala GPS. To se dalo sice řešit updatem firmwaru radia, ale - jak jinak - na to už odemčený bootloader nestačí a je potřeba S-Off :-) Tak jsem objednal XTC Clip.

XTC Clip

A jak se to tak hezky sešlo, během dneška mi dorazily obě dvě věci - tedy jak SD karta, tak XTC Clip. Soudě podle toho, že to nemůže být náhoda, rozhodl jsem se nechat svůj telefon zcihlovatět ještě dnes. Jelikož XTC Clip dorazil bez jakéhokoliv návodu, očekával jsem, co se stane po připojení microUSB kabelem k počítači. Překvapivě, objeví se USB CD s aplikací pro ten jediný správný OS (TM). Jako správný punkáč však nic takového na holý hardware nepustím, tak připojuji XTC Clip do virtuálu s Windowsama (pln očekávání zda to mělo vliv na zcihlovatění telefonu - nemělo. XTC Clip ve virtuálu fungoval bezchybně). Aplikace se spustí, dožaduje se jakési registrace, která i proběhne a hurá na to. Pro přípravu jsem zvolil jako první krok sundání krytu baterie na telefonu. Jak se ukázalo, byl to krok nejdelší. Po zkouknutí asi pěti youtube videí a přečtení všech komentářů se po hodině rasování prstů o kryt telefonu ukázal jako nejvíce funkční postup, kdy se na kryt telefonu přitiskne celá dlaň, prsty směřují do boku telefonu, kde nejsou tlačítka pro ovládání hlasitosti a kryt se silou zmačkne a odsune. Když jsem si myslel, že to nejhorší je za mnou, strávil jsem další půl hodiny dolováním microSD karty z SD adaptéru, do kterého jsem ji předtím zasunul, aby se mi neztratila...

Flex kabel pro HTC ChaCha

Po překonání těchto fyzických pastí už to šlo hladce. Karta se strčí do clipu, zmáčkne se create gold card, karta se přendá do telefonu, a přijde na řadu připojení flex kabelu místo SIM karty. Z popisu nebylo moc jasné, který kabel je ten pravý. Po troše laborování: je to ten přímý se zkoseným koncem na konci (viz fotka). Můj XTC Clip zřejmě měl už nějaký patch - na koncovce flexkabelu byl kus plastu a konektor v telefonu doopravdy držel a nebylo nutné ho podpírat papírem nebo další SIM kartou. Nastává fáze odblokování, kdy vlastně jediná potřebná činnost je strčit do telefonu baterku, spustit ho do bootloaderu a zmáčknout pár dalších tlačítek. Vše jinak probíhá samo. Jen různé návody se liší v tom, jak by se měl zapnout samotný XTC Clip. Někde se píše, že se má připojit přes 9V baterii (přes dodaný adaptér), jinde že jen přes microUSB kabel do PC. Obava zřejmě pramení z toho, že pokud během odemknutí clip ztratí napájení, z telefonu se pravděpodobně stane těžítko - proto použití 9V baterie. Naproti tomu některé clipy měly jaksi vadný měnič napětí a po připojení 9V baterie se z nich začalo kouřit a měnič se spálil. Takže microUSB kabel je asi vhodnější volba, nicméně je lepší to dělat z notebooku s funkční baterií nebo za UPS.

Po pár divných nápisech na obrazovce je telefon odemčen - v bootloaderu je kouzelná formule S-Off. Nachází čas na nahození CWM recovery a samotného rootu. V zásadě stačí zformátovat kartu (nebo použít jinou, než tu goldcard), nahrát na ní CWM Recovery a su, telefon nastartovat do bootloaderu - dojde k aplikaci CWM Recovery. Ten následně z karty smazat (nebo mu přejmenovat koncovku), znovu do bootloaderu, zvolit recovery, následně install from sd card a vybrat su uloženou na kartě. Tadá, v telefonu je nyní funkční příkaz su. Nicméně, nad telefonem je teď sice větší moc, ale stále jsem se nikam zvlášť moc nepohnul. Další na řadě přichází instalace jiné ROM, ve které nebude tolik nepotřebného balastu. O tom snad příště.