Objavljeno: 24.12.2010 09:53 | Avtor: Zdravko Vital | Monitor December 2010 | Teme: android

Razbijmo še Samsungove Androide

Samsung je ponudnik mobilnih naprav s številnimi programskimi podlagami. Med drugim je tudi med vodilnimi ponudniki naprav s sistemom Android. Androidova odprta koda ter zanimiv, specifičen sistem za programske nadgradnje, ki ga uporablja Samsung, sta plodna tla za številne uporabniške prilagoditve, od zloma zaščit, korenskega (root) dostopa pa do povsem prilagojene sistemske programske opreme, ki temelji na odprtokodni osnovi Androida.

Zgoraj povedano je odlična podlaga za še en članek o razbijanju Androida, kot smo se ga prvič lotili v letošnji oktobrski številki Monitorja. Takrat smo se lotili HTCjevega telefona Desire, tokrat se bomo Samsungove Spice in Galaxy S.

Seveda kot vedno velja, da vse v nadaljevanju opisane posege izvajate na lastno odgovornost. Niti avtor niti Monitor ne prevzemata nikakršne odgovornosti za morebitno škodo, izgubo garancije, mrtve zlate ribice in druge neprijetne posledice, ki bi lahko sledile iz objavljenih navodil.

Po tem obveznem uvodu poudarimo še nekaj - Samsung je med najbolj agilnimi ponudniki tudi pri sami programski opremi, to kaže tudi njihov trud pri prevajanju, saj so skoraj celoten Android že prevedli v slovenščino. Preizkusne različice svežih različic sistemske programske opreme so redno na voljo tudi pri pooblaščenih servisih, zato se, če ste lastnik Samsungove naprave, naprej pozanimajte o možnostih nadgradnje pri njih. Kajti, če se boste šli spodaj zapisano, boste slovenščino na telefonu izgubili.

Predpriprave

Še vedno berete ta prispevek? No, zdaj zares sledijo nasveti za hekanje Samsungov z Androidom. Najprej se moramo spoznati z nekaterimi spletišči, ki so ključna za pridobivanje ustreznih navodil in datotek pa tudi za nasvete pri morebitnih zapletih. Število kombinacij strojne in programske opreme je pri Samsungu tako veliko, da vam mi, tudi če bi to še tako hoteli, preprosto ne bomo mogli pomagati pri morebitnih zapletih. Če se torej želite sami ukvarjati s prilagoditvami sistemske programske opreme, se čimprej prijavite na vsaj naslednja spletišča:

  • Samsung Firmware (www.samfirmware.com),
  • Samsung Firmware World (www.samsungfirmwareworld.com),
  • Samdroid Board (forum.samdroid.net) in
  • XDA Developers (forum.xda-developers.com).
  • Spletišče Samsung Firmware precej redno objavlja sveže različice sistemske programske opreme, ki nastaja v korejskih laboratorijih. Tam bomo našli tako uradne kot tudi preizkusne različice sistemskega programja, ki so označene z znakovnimi kodami. Dokaj popolno razlago kod najdete v spletu (www.samsungfirmwareworld.com/samsung-letter-code-t18.html), na kratko povedano pa je oznaka sestavljena iz generičnega imena naprave, jezikovne različice in datuma različice.

    Samsung za uradne sistemske nadgradnje ponuja programski paket Kies, ki pa je še veliko več kot to. Marsikdo bi trdil, da gre za "bloatware" in za potrebe hekanja ga res ne potrebujemo, razen za to, da nam priskrbi nujno potrebne gonilnike, brez katerih pač ne gre. Če bi torej radi najlaže prišli do sistemskih gonilnikov za Windows, s katerimi bo naš računalnik prepoznal priključeno napravo, bo najlažje, da si namestimo Kies (www.samsungapps.com/about/onPc.as), ki pa ga takoj zatem lahko odstranimo, gonilniki bodo v sistemu ostali. Delo bo najlažje (in je bilo verificirano za ta tekst) v 32-bitnih Windows 7. Če jih ne uporabljate, si jih namestite v VirtualBox ali podoben sistem za virtualizacijo.

    Opremljeni s pravimi gonilniki se lahko posvetimo bolj osnovnemu, a povsem zadovoljivemu orodju Odin, s katerim je mogoče izvajati sistemske nadgradnje na Samsungovih modelih. Pred rabo Odina moramo našo napravo spraviti v poseben režim ("download mode"). Ta režim je posebnost Samsungovih naprav in nam omogoča, da se skoraj vedno lahko rešimo (s poudarkom na skoraj). Skratka, ta kos vgrajene programske opreme je varno spravljen in se aktivira s kombinacijo treh tipk. Če imamo napravo v tem stanju, jo lahko s pomočjo gonilnikov in Odina hitro spravimo v delujoče stanje.

    Pomudimo se za trenutek še pri razhroščevalnem načinu (debug mode) ali načinu "USB iskanje napak", kot so ga prevedli v Samsungu. Ta način nam omogoča upravljanje naprave preko podatkovne povezave USB. Za nadaljevanje dela ni nujno potrebno, zna pa nam kljub temu priti prav. Navadno ta način privzeto ni omogočen, aktiviramo pa ga prek Nastavitve/Settings, Aplikacije/Applications, Razvoj/Development, kjer vklopimo stikalo Razhroščevanje USB/USB Debugging.

    Za razvoj programske opreme na Androidih je sicer na voljo Android SDK. Z njim pridobimo kar nekaj orodij, med drugim tudi razhroščevalnik adb, ki je veliko več kot to, saj omogoča tudi nameščanje programske opreme, vnovični zagon v različnih režimih in podobno. Namestitev Android SDK dobimo na spletnem naslovu: 

    developer.android.com/sdk/index.html

    Hekanje Spice

    Samsung Galaxy Spica ali, bolj generično, model I5700, je starejši Samsungov model, ki je zaradi ugodnega razmerja med ceno in zmogljivostmi zelo priljubljen, tudi pri nas. Zaradi tega se je okrog spletla številčna skupnost, ki skrbi za posodobitve, tudi korenjeni FroYo je že nared.

    Pred začetkom dela se prepričajmo, katero različico programske opreme uporabljamo. Aktivirati moramo sistemske Nastavitve/Settings in pod Vizitka telefona/About Phone preveriti oznako pri Različica osnovnopasovne.../Baseband version. Ta je v obliki I570------. Zadnjih pet znakov določa jezikovno različico (pri nas običajno XX) ter datum programske opreme (npr. JC1). Datumska oznaka sledi abecedi, kasnejša črka označuje bolj svežo različico. Za nas je pomembno, da moramo pred nadaljnjimi posegi doseči vsaj različico JC3 (Android "Eclair" 2.1). Če imamo starejšo različico (npr. JB2 ali JC1) lahko najprej poizkusimo s prošnjo po nadgradnji pri uradnem servisu. Če nam to ne uspe, lahko poizkusimo z nadgradnjo sami, za kar potrebujemo progam Odin.

    Ustrezne datoteke s sistemsko programsko opremo najdemo na spletišču Samsung Firmware. Potrebujemo torej vsaj JC3, mi smo uporabili datoteke JC4. Vse potrebne datoteke najdete v paketu na našem spletišču - www.monitor.si/datoteke/Spica.zip.

    V režim, pripraven za Odin, bomo Spico spravili tako, da takrat, ko je povsem izklopljena (za vsak primer ostranimo baterijo, odklopimo vse povezave in vnovič vstavimo baterijo), hkrati držimo pritisnjeni tipki "glasnost -" in "kamera" ter stisnemo še tipko "prekini/vklop". Naprava se bo hitro zbudila v posebnem načinu. Če se začne običajni zagon, jo izklopimo in postopek ponovimo. Ustrezen hkraten pritisk vseh treh tipk terja nekaj vaje.

    Spica v načinu "download".

    Ko imamo Spico v želenem načinu, poženemo Odin in zatem priklopimo kabel USB. Odin mora prepoznati našo napravo, kar označi z rumenim okvirčkom pod COM Port Mapping. Če naša naprava ni prepoznana, potrebujemo (nove) gonilnike.

    Ključno je, da izberemo pravo datoteko OPS, ki določa razpored razdelkov na ciljni napravi. Za svežo sistemsko opremo potrebujemo datoteko spica_jc3.ops. Kliknemo gumb OPS in jo izberemo. Za namestitev dovolj sveže različice sistemske programske opreme za PDA izberemo datoteko I570EJC4_PDA.tar. Nastavitve v Odinu morajo biti podobne spodnji sliki:

    Nastavitve Odina za nadgradnjo na JC4.

    Nadgradnjo poženemo z gumbom Start. Po koncu namestitve se Spica samodejno zažene znova in se zbudi nadgrajena na Eclair in pripravljena za nadaljnje hekanje.

    Za izkoriščanje zadnjih različic programske opreme se moramo zahvaliti ruskemu hekerju LeshaKu. Pripravil je vse potrebno za korenski dostop in neomejene nadgradnje Spice, ki ima nameščen Eclair. Pred rabo Odina moramo na SD kartico Spice v izhodiščno mapo shraniti datoteko LK2-02-1_update.zip. To lahko storimo bodisi s priklopom telefona prek kabla USB in običajnim prenosom datoteke ali neposredno v razhroščevalnem načinu z ukazom:

    adb push LK2-02-1_update.zip /sdcard/

    (potrebujete seveda Android Developers Kit, beri zgoraj).

    Izberite, kar vam je lažje. Zdaj napravo popolnoma zaustavimo (zatem lahko že izvlečemo in znova vstavimo baterijo). Odklopimo vse povezave in Spico spravimo v način "download". Poženemo Odin in nastavimo OPS na spica_jc3.ops ter PDA na i5700_LK2-02_PDA.tar. Zdaj priklopimo Spico. Odin mora biti podoben spodnji sliki:

    Po kliku gumba Start se bo izvedla nadgradnja, Spica pa se bo vnovič zagnala v načinu "recovery", ki pa je že LeshaKov. Tu zdaj s pomočjo smerne tipke izberemo Apply any ZIP from SD:

    Izbira nadgradnje v hekanem načinu "recovery".

    Zdaj bomo lahko izbrali prej shranjeno datoteko LK2-02-1_update.zip. Izbiro potrdimo in sprožimo namestitev s pritiskom tipke "domov". Po koncu nameščanja se bo znova prikazal prvi menu, kjer potrdimo možnost Reboot system now. Naprava se bo zbudila z omogočenim korenskim dostopom in kopico izboljšav.

    To pa še ni vse, LeshaK nam je pripravil tudi dobrote FroYo, kolikor jih Spica pač lahko sprejme (ni npr. živih ozadij). Zdaj je nameščanje veliko lažje, saj hekan način "recovery" omogoča nameščanje poljubnih ROMov. Mi smo izbrali Samdroid. Da ga namestimo, spet v izhodiščno mapo kartice SD shranimo datoteko SamdroidMod-2.0.1-alpha8.1.zip (spet - iz paketa Spica.zip, ki ste ga dobili v našem spletu).

    Spico moramo pognati v načinu "recovery". Pri povsem izklopljeni in odklopljeni napravi to storimo s hkratnim pritiskom tipk "glasnost -", "klic" in "končaj klic/vklop". Sicer je možen tudi ukaz v razhroščevalnem načinu pri pognani napravi:

    adb reboot recovery

    Ko smo v tem načinu, spet ponovimo znani postopek od prej, le da po Apply any ZIP from SD izberemo datoteko SamdroidMod-2.0.1-alpha8.1.zip, ki smo jo prej spravili na kartico. Spet potrdimo nameščanje. Po koncu obvezno pobrišimo vse nastavitve z izbiro Wipe, choose what -> in Wipe data / cache. Na koncu napravo vnovič poženemo.

    Spicin ROM Samdroid se še posodablja, sveže različice pa dobimo na LeshaKovem forumu: forum.samdroid.net/f53/samdroidmod-2-0-1-alpha-8-2-froyo-aosp-i5700-3017/

    Spica s hekanim sistemom FroYo.

    Hekanje Galaksije

    Samsung Galaxy S je med najsodobnejšimi in najboljšimi napravami, ki podpirajo Android. Tudi okrog te naprave se je že izoblikovala široka skupnost, ki skrbi za dodatne zmogljivosti, ki jih Samsung ni želel omogočiti.

    Tudi pri Galaxy S moramo nujno preveriti nameščeno programje. Pod Nastavitve/Settings, Vizitka telefona/About Phone preverimo oznako pri Različica osnovnopasovne.../Baseband version. Tokrat je v obliki I9000-----.

    Če imamo različico pred JPC, moramo najprej izvesti nadgradnjo z novim razporedom razdelkov. Priporočamo sicer, da se obrnete na pooblaščeni servis. Če na ta način ne gre, lahko poizkusite tudi sami. Vse potrebne datoteke najdete v paketu na našem spletišču www.monitor.si/datoteke/galaxys.zip).

    Galaxy S spravimo v ustrezen način tako, da ga popolnoma izklopimo, še najbolje bo, da odstranimo baterijo, odklopimo vse povezave in baterijo vrnemo. Način "download" aktiviramo s hkratnim pritiskom tipk "glasnost -", "domov" in "vklop".

    Galaxy S v načinu "download".

    Poženemo Odin in priklopimo kabel USB. Odin mora prepoznati napravo, kar označi z rumenim okvirčkom pod COM Port Mapping.

    Za namestitev I9000XXJPC moramo pod PIT izbrati datoteko s1_odin_20100803.pit. Pod PDA izberemo CODE_I9000XXJPC.tar.md5, pod PHONE izberemo MODEM_I9000XXJPC.tar.md5 in pod CSC CSC_I9000OXAJPC.tar.md5. Obvezno vklopimo stikalo Re-Partition. Stanje mora biti podobno spodnji sliki:

    Odin nastavljen za nadgradnjo Galaxy S na različico JPC.

    Ponovno nastavljanje razdelkov in nameščanje datotek aktiviramo z gumbom Start. Po namestitvi se bo naprava znova zagnala. Zbuditi se mora v sveže nameščeni različici JPC. Če gre karkoli narobe, lahko postopek ponovimo.

    Če je naša naprava že opremljena z različico JPC ali pa nam je to ravnokar uspelo, nadaljujemo z nadgradnjo na FroYo, različico JPH.

    Najbolje bo, če Odin zapremo in poženemo znova, da ne bomo ohranili nastavitev od prej. Znova spravimo Galaxy S v način "download" in Odin nastavimo takole: PIT znova na s1_odin_20100803.pit, PDA na ADD_P_U.tar, vse drugo pa pustimo na privzetih vrednostih. Re-Partition npr. ne sme biti vklopljen. Nastavitve naj bodo podobne spodnji sliki:

    Po namestitvi in vnovičnem zagonu se bo naš Galaxy S zbudil s sistemom Android 2.2. To pa je predpogoj za korenski dostop in izboljšanje zmogljivosti.

    Za korenski dostop in lažje nadgrajevanje sistema moramo uporabiti kombinacijo nadgradenj prek programa Odin in nadgradenj prek režima "recovery" na sami napravi. Najprej v izhodiščno mapo kartice SD presnamemo datoteko update.zip. To storimo bodisi s prenosom datoteke prek aktivirane povezave USB, če pa poznamo delo v razhroščevalnem načinu, lahko uporabimo tudi ukazno vrstico:

    adb push update.zip /sdcard/

    Po tem Galaxy S znova spravimo v način "download" in poženemo Odin, ki ga zdaj pripravimo takole: PIT znova na s1_odin_20100803.pit, PDA na i9000_Kernel.tar, stikalo Reboot izklopimo. Nastavitve naj bodo podobne spodnji sliki:

    Z gumbom Start sprožimo namestitev jedra. Odin nam zdaj ne bo znova zagnal naprave, zato po koncu nameščanja odstranimo baterijo. Pozor, pazimo, da se je postopek res končal, spremljajmo izpis stanja v Odinu.

    Baterijo vrnemo in napravo poženemo v načinu "recovery". Postopek je podoben zagonu za Odin, le da tokrat pritisnemo kombinacijo tipk "glasnost +", "domov" in "vklop". Način "recovery" nam omogoča namestitev dodatkov, ki so shranjeni v datoteki update.zip v izhodiščni mapi kartice SD, ki smo jo pripravili že prej. Izberemo apply sdcard:update.zip. V tem načinu izbiramo po menujih s tipkama za glasnost (+ in -), izbrano pa potrdimo s tipko "nazaj" ali s tipko za vklop.

    Ko je namestitev končana, znova izvlečemo baterijo. Ko jo vrnemo, aktiviramo način "download" (tipke "glasnost -", "domov" in "vklop"), ker bo potrebna še ena namestitev skozi Odin. V Odinu nastavimo PIT znova na datoteko s1_odin_20100803.pit, PDA pa tokrat na I9000XXJPH_KERNEL.tar, stikalo Reboot naj bo vklopljeno. Poženemo namestitev in Galaxy S se bo prebudil v sistemu FroYo z omogočenim korenskim dostopom.

    Napravi bomo v celoti zavladali, če se lotimo še hekanja načina "recovery", ki nam bo omogočal kasnejšo namestitev poljubnega paketa za nadgradnjo. Pred tem se izplača narediti rezervno kopijo mape /efs, kar nam omogoča rekonstrukcijo ob morebitni zaklenitvi telefona. Galaxy S moramo zagnati v običajnem načinu. Ko se naprava zažene, priklopimo kabel USB in z omogočenim načinom razhroščevanja iz ukazne vrstice izdamo ukaz

    adb shell

    S tem aktiviramo ukazno vrstico, kjer omogočimo korenski način z ukazom

    su

    Ukaz bo prvič povzročil zagon programa SuperUser, ki terja potrditev korenskega načina, kar potrdimo na sami napravi. Zdaj lahko izvedemo izdelavo rezervne kopije z ukazoma:

    busybox tar zcvf /sdcard/efs-backup.tar.gz /efs

    cat /dev/block/stl3 > /sdcard/efs_dev-block-stl3.img

    Čas je za nadgradnjo načina "recovery". Spet moramo Galaxy S spraviti v način "download". Poženemo Odin ter nastavimo PIT na datoteko s1_odin_20100803.pit ter PDA na datoteko CF-Root-JPH-v1.1.tar. Izvedemo namestitev. Zdaj imamo t. i. CF Recovery, ki omogoča namestitev poljubnih paketov. To bomo izkoristili za dodajanje ene najzmogljivejših "recovery" modifikacij, ClockworkMod Recovery. Na kartico SD prenesemo datoteko update.zip, ali s priklopom naprave kot USB disk ali z ustreznim ukazom adb, ki ga že poznamo. Galaxy S moramo potem spraviti v način "recovery" in izbrati možnost apply sdcard:update.zip. Možno je, da bo treba namestitev update.zip izbrati dvakrat, da se ClockworkMod zares in dokončno namesti. Zdaj imamo odprta vrata za poljubne nadgradnje.

    Polno moč naprave lahko izkoristimo s katerim od prilagojenih paketov sistemske programske opreme (Custom ROM), ena od možnosti je XXJPO, močno prilagojen standardni Samsungov ROM, ki ima precej dodatkov, te pa lahko namestimo po želji. Debata o ROMu poteka na forumu forum.xda-developers.com/showthread.php?t=817703, v nadaljevanju pa si bomo ogledali še navodila za njegovo namestitev.

    Z nameščenim ClockworkMod Recovery večino dodatkov nameščamo kot pakete update, vendar imamo to svobodo, da izberemo poljubno datoteko na kartici SD. Tako lahko vse pakete iz map XXJPO in XXJPO-extras naenkrat spravimo na kartico SD in kasneje iz načina "recovery" nameščamo drugega za drugim.

    Sama namestitev hekanega ROMa zahteva vnovični zagon, potem pa lahko preostale pakete namestimo naenkrat. Za sodoben, zmogljivostno izboljšan ROM torej aktiviramo način "recovery", v katerem nas mora pričakati ClockworkMod. S pomočjo tipk za nastavljanje glasnosti izberemo install zip from sdcard, izbiro pa potrdimo s tipko "nazaj" ali s tipko za vklop. Zatem izberemo choose zip from sdcard in v datotečnem sistemu kartice SD najdemo mesto, kamor smo postavili datoteko XXJPO_v7.6.1.zip. Namestitev datoteke še potrdimo z izbiro ustrezne vrstice, Yes - Install .... Po namestitvi se z izbirami +++++Go Back+++++ vrnemo do izhodiščnega menuja in potrdimo možnost reboot system now.

    Galaxy se bo prebudil s svežim, že v osnovi hekanim sistemom, ki pa ga lahko še obogatimo. Po enakem postopku skozi način "recovery" lahko namestimo še dodatke, kot so zaklepanje zaslona, kot je v izvirnem Androidu, dodatno programsko opremo, pisave in podobno. Predlagamo pa predvsem namestitev izboljšanega jedra, ki znatno pospeši napravo. Ta je v datoteki 5. speedmod-kernel-vH1250hz.zip.

    Po namestitvi tega paketa in vnovičnem zagonu, bomo lahko v načinu "recovery" našli dodatno možnost: advanced ULK features. Ta nam odpre nov menu s številnimi možnostmi. Za največji pospešek izberemo Lagfix options, kjer se izplača izbrati preddefinirano možnost Use NO-RFS advanced (a=e4). Po aktivaciji in potrditvi te možnosti, bo sistem naredil kar nekaj modifikacij, ki se bodo pokazale v opazno hitrejšem delovanju. Test Quadrant zna pri tako modificirani napravi doseči izid več kot 1600, in to brez navijanja frekvence.

    Pohitrimo Galaksijo

    Kot smo omenili že v članku, je sistem okrog Samsungovih naprav zelo odprt in skoraj vsak dan se najdejo nove rešitve, ki so tudi vse bolj prijazne do uporabnikov. Zadnja pridobitev je program One Click Lag Fix (OCLF), ki ga lahko namestimo kar s tržnice (Market), na voljo pa je tudi v našem spletu:

    www.monitor.si/datoteke/OCLF.zip.

    Ta programček nam lahko omogoči korenski dostop za Eclair (Android 2.1) ter opravi opazno pospešitev sistemov Eclair in FroYo (2.2). Če smo napravo že nadgradili na FroYo, lahko poizkusimo pridobiti korenski dostop še z enim prijaznim orodjem, SuperOneClick (forum.xda-developers.com/showthread.php?t=803682). Deluje v Oknih ali Linuxu in zahteva ogrodje .NET oz. Mono, znal pa naj bi urediti korenski dostop na skoraj vseh napravah z Androidom.

    Če že uporabljamo katero od rešitev "lagfix", jo pred rabo OCLF izklopimo (v načinu "recovery"). Ko OCLF poženemo, nam sam ponudi izbire, ki so na voljo. Za najboljši učinek izberemo OneClickLagFix V2.2+, zatem pa še Alter minfree z možnostjo Strict, ki izboljša ubijanje zapuščenih programov, Change Scheduler z izbiro deadline, ki izboljša zaseganje sredstev sistema, po želji pa še WiFi Timeout, ki nam ugaša wi-fi radio ob zatemnjenem zaslonu, kar zna prihraniti baterijo. In kaj pravzaprav "lagfix" naredi? Del vgrajene kartice SD izkoristi za vzpostavitev navideznega datotečnega sistema ext2, ki se postavi med Android in dejanski datotečni sistem kot medpomnilnik, to pa znatno izboljša zmogljivosti naprave. Koliko pa? Grafikon z meritvami programa Quadrant pove vse:

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

    Komentirajo lahko le prijavljeni uporabniki

     
    • Polja označena z * je potrebno obvezno izpolniti
    • Pošlji