Search the Community

Showing results for tags 'neffos c5 max'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Category Index
    • Rules - Terms of Use
    • The shape of the forum - a discussion, proposals, opinions.
    • tplinklogin.net oraz tplinkextender.net
    • Useful links
    • ftp://tplink-forum.pl
    • PHOTO GALLERY - TP-Link in your network
    • CONNECTED nr 4/2016 (13) - NEW
  • TP-LINK Forum
    • ADSL, DSL, LTE, PLC, USB - what model TP-Link buy?
    • BAZAR - buy or sell
    • HOME NETWORKS
    • GUIDES - FAQ - CONFIGURATION
    • FIRMWARE
    • NEWS in TP-LINK
    • Neffos - technical support
    • USER REVIEWS / EXPERT
    • EMERGENCY CONFIGURATION TP-LINK
    • ADVICE SERVICE
    • TRUSTED DISTRIBUTOR - SELLER TP-LINK
  • TP-Link imanuals
    • Wireless devices - standard AD
    • Wireless devices - standard AC
    • Wireless devices Dual Band
    • Wireless devices - standard N, 300Mb/s
    • Wireless devices - standard N, 150Mb/s
    • ADSL devices
    • Repeaters and boosters
    • Wireless cards
    • Routers 3G/4G/LTE
    • 3G Modems
    • SOHO switches
    • Powerline Adapters
    • IP cameras Cloud
    • Print servers
    • Antennas and accessories
    • Wired cards
    • Out of production
  • TP-Link rozwiązania SMB
    • Product Catalog SMB 2013
    • Product Catalog SMB 2015
  • TP-Link via alternative software
    • Who and where alternative forms software
    • Current firmware Gargoyle, LEDE, DD-WRT, OpenWRT, Luci, LEDE
    • TUTORIALS - FAQ - alternative software
    • Emergency configuration - alternative software
  • Networks, internet
    • FAQ - networks
    • Konfiguracja popularnych urządzeń sieciowych
    • Routers from other manufacturers
  • Inne dyskusje
    • Hydepark

Found 11 results

  1. Jako, że w końcu udało mi się zbudować obraz TWRP recovery ze źródeł Androida dla jednego z moich smartfonów Neffos, to postanowiłem, że zbuduję sobie podobne obrazy dla pozostałych TP-LINK'owych telefonów. Cała konfiguracja pod konkretne modele Neffos'ów będzie wersjowana i trzymana na GitHub'ie. Tego typu rozwiązanie sprawi, że w niedługim okresie czasu, smartfony Neffos będą oficjalnie wspierane przez TWRP, no i otwiera to oczywiście drogę do budowy alternatywnych ROM'ów ale tu jeszcze trochę będzie trzeba posiedzieć. Tak czy inaczej własnoręczne budowanie ze źródeł obrazu daje możliwość bardzo prostej aktualizacji oprogramowania dla trybu recovery. Do tej pory w wątkach poświęconych ukorzenianiu smartfonów (root) były wykorzystywane pseudo porty obrazów z innych urządzeń zbliżonych pod kątem podzespołów. Te obrazy nie zawsze działały tak jak powinny i w zasadzie nadawały się jedynie dla procesu root. Poniżej zaś znajdują się gotowe obrazy recovery dla poszczególnych modeli Neffos'ów, które można pobrać i z powodzeniem wgrać na telefon via fastboot. Obok obrazów są także linki do repozytoriów z konfiguracją obrazów. Gotowy obraz recovery-twrp-tp-link-neffos-y5.img | Repo z konfiguracją dla Neffos Y5 Gotowy obraz recovery-twrp-tp-link-neffos-y5l.img | Repo z konfiguracją dla Neffos Y5L Gotowy obraz recovery-twrp-tp-link-neffos-c5.img | Repo z konfiguracją dla Neffos C5 Gotowy obraz recovery-twrp-tp-link-neffos-c5-max.img | Repo z konfiguracją dla Neffos C5 MAX By wgrać taki obraz na telefon, trzeba mieć zainstalowane w systemie wspomniane wyżej narzędzie fastboot. By dodatkowo móc wykonać szereg akcji z poziomu tego trybu recovery, potrzebne jest nam także narzędzie adb. Proces instalacji i konfiguracji tych narzędzi pod linux (Debian) został opisany tutaj.
  2. Gdy zamierzamy zbudować sobie własny ROM na smartfon z Androidem, np. LineageOS (CyanogenMod nie jest już rozwijany) czy nawet jedynie obraz recovery (TWRP albo CWM), to potrzebne nam jest stosowne urządzenie oraz odpowiedni kod źródłowy. Skoro chcemy budować te ww. rzeczy, to prawdopodobnie nasz telefon nie jest przez to oprogramowanie jeszcze wspierany lub też sam soft nie jest regularnie aktualizowany przez dewelopera. W zasadzie zarówno pełne ROM'y jak i obrazy recovery są budowane ze źródeł Androida. Niemniej jednak, oficjalny kod dostarczany przez Google budzi czasem wiele kontrowersji i ci nieco bardziej zaawansowani użytkownicy zmieniają go, np. czyniąc go w pełni OpenSource czy też implementując w nim pewną niestandardową funkcjonalność. Tak powstają Custom ROM'y, które w późniejszym czasie z racji swojej popularności przestają być "Custom" i zaczynają żyć swoim własnym życiem obok tego Góglowskiego Androida. W przypadku budowania obrazu recovery nie są nam potrzebne całe źródła konkretnego ROM'u. Jakby nie patrzeć, potrafią one zajmować trochę miejsca, a poza tym proces ich budowania jest stosunkowo czasochłonny. Tak czy inaczej, jakieś źródła trzeba pozyskać i przygotować je do dalszej pracy. W tym artykule nie będziemy sobie jeszcze budować całego ROM'u i skupimy się na zbudowaniu od podstaw jedynie obrazu TWRP recovery ze źródeł OMNI ROM. Ten proces zostanie pokazany na przykładzie smartfona Neffos Y5 od TP-LINK przy wykorzystaniu systemu linux, a konkretnie dystrybucji Debian. Android SDK Operowanie na oprogramowaniu, które mamy w naszych smartfonach, wymaga zainstalowania na komputerze pakietu Android SDK. W nim zawarte są narzędzia deweloperskie min. fastboot i adb , przy pomocy których będziemy w stanie przeprowadzić szereg akcji na smartfonie. Te narzędzia można zainstalować w systemie na kilka sposobów. Standardowo fastboot i adb są dostępne w repozytoriach Debiana w pakietach android-tools-adb oraz android-tools-fastboot . Proces instalacji i konfiguracji tych narzędzi na Debianie został opisany w osobnym wątku. Niemniej jednak, nie są to wszystkie narzędzia, które Android SDK dostarcza, a biorąc pod uwagę fakt, że obecnie w Debianie panuje spory nieporządek w pakietach, to lepiej zainstalować Android SDK lub Android Studio bezpośrednio ze strony Google. Narzędzia repo i git Do pobrania źródeł Androida jest wykorzystywane dedykowane narzędzie repo . W dystrybucji Debiana mamy taki pakiet i możemy go bez większego problemu zainstalować. Problem w tym, że wersja tego narzędzia może być nieaktualna. Obecnie jest to 1.23 . Najnowsza wersja repo jest dostępna zawsze pod tym linkiem. By ją zainstalować ręcznie w systemie, w terminalu wpisujemy poniższe polecenia: # curl https://storage.googleapis.com/git-repo-downloads/repo > /usr/local/bin/repo # chmod a+x /usr/local/bin/repo # chown root:staff /usr/local/bin/repo Narzędzie repo operuje na git i ten pakiet również musimy w systemie sobie zainstalować. Podstawy operowania na repozytorium GIT musimy znać. Warto zatem rzucić okiem na dokumentację git'a i ją sobie chociaż powierzchownie przejrzeć. Przygotowanie katalogu roboczego pod źródła Źródła Androida trzeba gdzieś pobrać. Stwórzmy sobie zatem dedykowany katalog roboczy i przejdźmy do niego: $ mkdir /Android/android-src/ $ cd /Android/android-src/ Od tej chwili wszystkie polecenia będą wydawane w tym właśnie katalogu. Inicjowanie repozytorium GIT Na samym początku trzeba zainicjować lokalne repozytorium. Różne smartfony działają pod kontrolą innych wersji Androida (Lollipop, Marshmallow, Nougat). Jeśli zamierzamy kompilować jedynie część modułów, a nie cały ROM, i to głównie dla siebie, to warto zadbać o to, by wersja źródeł Androida pasowała do wersji Androida, którą mamy w telefonie. Niemniej jednak, w przypadku obrazu TWRP recovery możemy korzystać z najnowszych źródeł, bo w zasadzie nie będziemy wgrywać żadnych plików bezpośrednio na partycję /system/ , która zawiera stock'owy ROM. Musimy zatem określić stosowną gałąź repozytorium GIT, którą zamierzamy sobie sklonować na dysk. Lista wszystkich gałęzi jest dostępna tutaj i z reguły Custom ROM'y przestrzegają tego nazewnictwa. Warto też określić parametr --depth=1 , który uchroni nas przed pobraniem wszystkich rewizji. Zamiast tego, zostanie pobrany jedynie ostatni snapshot wskazanej przez nas gałęzi, a to z kolei znacznie zmniejszy ilość danych, które trzeba będzie przetransferować przez sieć. Bez tej opcji zostałoby pobranych jakieś 30-40 GiB, a może nawet i więcej). Źródła TWRP recovery znajdują się tutaj. Niektóre ROM'y nie mają zawartego w sobie tego repozytorium i trzeba je ręcznie określić w pliku .repo/manifest.xml w katalogu ze źródłami Androida. My jednak będziemy korzystać ze źródeł OMNI ROM, które już to repozytorium zawiera. Zatem żadnych dodatkowych kroków nie będziemy musieli przeprowadzać. Lokalne repozytorium inicjujemy w poniższy sposób: $ repo init -u https://github.com/omnirom/android -b android-7.1 --depth=1 Po zainicjowaniu lokalnego repozytorium, w katalogu roboczym powinien pojawić się folder .repo/ . W nim z kolei znajduje się plik (właściwie link) manifest.xml . Zajrzyjmy do niego i upewnijmy się, że w default revision widnieje numerek wskazanej wyżej wersji Androida ( android-7.1.x ). Warto wspomnieć, że większość repozytoriów zdefiniowanych w pliku manifest.xml jest zbędna przy budowaniu samego obrazu TWRP recovery. Jeśli komuś nie zależy na oszczędzaniu transferu danych oraz ma dostatecznie dużo miejsca na dysku, to może pobrać całe źródła OMNI ROM. Dla tych, którzy skąpią miejsca na dysku i transferu jest okrojona wersja, którą można z powodzeniem wykorzystać. Poniżej jest polecenie inicjujące lokalne repozytorium z wykorzystaniem okrojonego pliku manifest.xml . $ repo init -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-6.0 --depth=1 W tym przypadku, lokalne repozytorium zostało zainicjowane w oparciu o ten okrojony plik manifest.xml . Trzeba tutaj jednak wyraźnie zaznaczyć, że niektóre konfiguracje sprzętowe (czy też opcje trybu recovery) będą wymagać dodatkowych repozytoriów, które trzeba będzie ręcznie dodać do pliku .repo/local_manifests/local_manifest.xml . Warto zatem poznać budowę tego pliku i nauczyć się na nim operować. Gdy już uporządkujemy sprawy związane z repozytoriami, to przy pomocy repo sync synchronizujemy źródła każdego repozytorium, które mamy zdefiniowane w pliku manifests.xml . Naturalnie im więcej ich mamy, tym więcej miejsca będą one zajmować i dłużej będzie trwał proces synchronizacji. W przypadku, gdy dysponujemy szybkim łączem internetowym, to możemy też zwiększyć liczbę jednoczesnych połączeń przy pomocy --jobs (domyślnie 4): $ repo sync --current-branch --jobs=4 Zależności potrzebne do zbudowania Androida ze źródeł Pobranie źródeł to jedna sprawa, a ich zbudowanie to całkiem inna kwestia. By uniknąć ewentualnych problemów będziemy musieli zainstalować w systemie kilka dodatkowych zależności. Poniżej jest lista potrzebnych rzeczy: # aptitude install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip openjdk-7-jdk Bez tych pakietów, proces budowy obrazu będzie napotkał błędy podobne do tego opisanego tutaj. Przyśpieszenie procesu kompilacji z ccache Kompilacja to proces czasochłonny i dość zasobożerny. W zasadzie budując ten sam kod kilka razy, nie ma potrzeby ponawiania całego procesu kompilacji, bo w sporej części przypadków można odwołać się do już zbudowanych obiektów. Niemniej jednak, potrzebny jest nam jakiś cache dla kompilatora, którego standardowo w linux'ie nie ma. Dlatego właśnie powstało narzędzie ccache , które jest nam w stanie dość znacznie umilić życie, przy ciągłym budowaniu tych samych programów czy projektów. Narzędzie ccache musimy sobie odpowiednio skonfigurować. Na dobrą sprawę, to jedyne co musimy zrobić, to dodać te dwie poniższe zmienne do pliku ~/.bashrc lub ~/.zshrc : export USE_CCACHE=1 export CCACHE_DIR=/mnt/.ccache Rozmiar całego cache definiujemy w poniższy sposób (polecenie wywołane z głównego katalogu ze źródłami Androida): $ prebuilts/misc/linux-x86/ccache/ccache -M 50G Jeśli chcemy się upewnić, czy ccache działa prawidłowo, to odpalamy osobny terminal podczas procesu kompilacji, przechodzimy do katalogu ze źródłami i wydajemy poniższe polecenie: $ watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s Tworzenie konfiguracji dla TWRP recovery pod konkretny model smartfona W zasadzie źródła już mamy przygotowane do budowania ale potrzebna nam jest jeszcze konfiguracja dla naszego smartfona. Musimy zatem stworzyć kilka plików i katalogów. Poniższe informacje dotyczą smartfona Neffos Y5 ale ten krok w zasadzie nie różni się w przypadku innych modeli telefonów. Jedyne co, to trzeba pozyskać pewne informacje na temat podzespołów urządzenia (min. SoC), dla którego zamierzamy zbudować obraz TWRP i wpisać te dane w stosowne miejsca. Najprościej jest zacząć od pliku /system/build.prop , który został zawarty w stock'owym firmware (można też wyciągać zawartość zmiennych przez getprop ). Podłączmy zatem na moment smartfon do komputera i przy pomocy adb patrzymy co siedzi w zmiennych ro.product.manufacturer oraz ro.product.name : # adb shell "getprop ro.product.manufacturer" TP-LINK # adb shell "getprop ro.product.name" TP802A Przechodzimy teraz do głównego folderu ze źródłami Androida i pod device/ tworzymy strukturę katalogów na zasadzie manufacturer/name . Wszystkie nazwy mają być pisane z małych liter: $ mkdir device/tp-link/tp802a/ W tak powstałym katalogu tworzymy konfigurację dla naszego smartfona, w tym przypadku Neffos Y5. Poniżej znajduje się krótkie objaśnienie co do struktury plików. Plik device.mk Zaczynamy od utworzenia pliku device.mk , gdzie będziemy definiować wszystkie niezbędne moduły i pliki wymagane do zbudowania obrazu TWRP recovery dla naszego smartfona. Plik omni_tp802a.mk Następnie tworzymy plik omni_tp802a.mk , w którym będą deklarowane informacje takie jak nazwa, model i producent smartfona. Plik AndroidProducts.mk Kolejny plik, który musimy utworzyć, to AndroidProducts.mk . W nim zamieszczamy wpis wskazujący na ten powyższy plik omni_tp802a.mk . Plik BoardConfig.mk Plik BoardConfig.mk jest w zasadzie sercem całej konfiguracji. To w tym pliku określamy min. to co tak naprawdę siedzi w naszym smartfonie. Znajdują się tutaj ustawienia platformy sprzętowej, architektury systemowej, konfiguracja kernela, rozmiary poszczególnych partycji oraz oczywiście opcje TWRP recovery. Wszystkie te parametry mogą się różnic w zależności od podzespołów smartfona, z którym mamy do czynienia. W zasadzie obraz TWRP recovery powinien działać bez zarzutu nawet przy minimalnej konfiguracji ale w przypadku budowania pełnego ROM'u, to już niestety będziemy musieli nieco bardziej się postarać, by nasz smartfon działał bez problemu na nowym oprogramowaniu. Część opcji, które trzeba określić w BoardConfig.mk , można wyciągnąć ze smartfona zaglądając do pliku /system/build.prop . Poniżej znajduje się też lekka rozpiska ułatwiająca pozyskanie informacji dla poszczególnych sekcji. Sekcja Platform Sekcję Platform może nam sprawić najwięcej problemów, zwłaszcza gdy nie mamy za bardzo pojęcia jakie podzespoły siedzą w naszym smartfonie. W tym przypadku mamy do czynienia z Neffos Y5 i on posiada SoC MSM8909 od Qualcomm. Konfiguracja konkretnego SoC jest w zasadzie stała i można ją przepisać ze źródeł innego smartfona, który ma ten sam SoC, zakładając oczywiście, że deweloper nie popełnił błędów w konfiguracji tamtego urządzenia. Sekcja Kernel Bawiąc się w ukorzenianie swoich Neffos'ów, jednym z wymaganych etapów było rozmontowanie obrazu boot.img za pomocą tych skryptów. Podczas tego procesu, w terminalu można było zanotować poniższe wyjście: Jak widzimy, praktycznie cała sekcja jest nam podana jak na dłoni i wystarczy uzupełnić stosowne parametry dodając przed ich wartościami 0x . Trzeba tutaj zaznaczyć, że my nie budujemy kernela ze źródeł Androida i załączamy tutaj plik kernela, który można wyciągnąć po rozmontowaniu stock'owego obrazu boot.img . Sekcja Qualcomm Sekcja Qualcomm definiuje szereg opcji specyficznych dla SoC tego producenta. W zasadzie to trzeba dostosować ścieżkę, która musi wskazywać na bazę platformy naszego smartfona. Ścieżka w tym przypadku wskazuje na katalog /sys/devices/soc.0/ ale z pominięciem /sys/ . Sekcja Encryption Nowsze wersje TWRP recovery wspierają szyfrowanie/deszyfrowanie partycji /data/ . Jeśli z poziomu Androida zaszyfrowaliśmy dane użytkownika, to TWRP standardowo nie będzie w stanie zamontować tej partycji, co będzie przyczyną całej masy błędów. Dlatego też musimy włączyć moduł szyfrowania. W zasadzie mamy dwa rodzaje szyfrowania: programowe i sprzętowe. To, które w naszym smartfonie zostało zaimplementowane możemy odczytać przechodząc w Ustawienia Androida => Zabezpieczenia => Typ Pamięci. W przypadku smartfona Neffos Y5, widzimy, że mamy do czynienia z szyfrowaniem sprzętowym, bo widnieje zapis "Wspomagana sprzętowo". Gdyby tam widniał zapis "Tylko programowa", to szyfrowanie byłoby jedynie programowe. Naturalnie szyfrowanie sprzętowe wymaga od nas dodatkowych nakładów pracy, by je skonfigurować. W zasadzie to trzeba będzie pozyskać szereg plików ze stock'owego firmware i uwzględnić je w obrazie TWRP. Bez tych plików, nie da rady odszyfrować danych na partycji /data/ nawet podając prawidłowe hasło. System za każdym razem zwróci nam taki oto błąd. To jakie pliki trzeba będzie uwzględnić w obrazie zależy od modelu smartfona. Nie da rady tego prosto ustalić i w zasadzie pozostaje nam dochodzenie do rozwiązania metodą prób i błędów. Możemy naturalnie podpierać się logami z trybu recovery, które mogą zawierać nazwy wymaganych bibliotek, a to już może nam wskazać dobrą drogę. Sekcja Partitions W oparciu o dane z pliku /proc/partitions lub /proc/emmc trzeba odpowiednio opisać kilka partycji smartfona. Chodzi generalnie o partycje /boot/ , /recovery/ , /system/ , /data/ oraz /cache/ . Do odczytania rozmiaru można też zaprzęgnąć różne aplikacje na Androida, np. diskinfo. Wartości podajemy w HEX. Możemy także skonfigurować sobie wsparcie dla szeregu dodatkowych systemów plików. Trzeba jednak pamiętać, że każde dodatkowe ficzery zajmują miejsce i w pewnych konfiguracjach może nam tej przestrzeni zwyczajnie zabraknąć. Tutaj mamy do dyspozycji 32 MiB i w zasadzie jest to dość sporo. Sekcja Recovery W sekcji Recovery musimy wskazać lokalizację do pliku fstab . To przy jego pomocy TWRP będzie w stanie operować na partycjach smartfona. Ten plik trzeba sobie zbudować samemu podpierając się wpisami w /proc/partitions lub /proc/emmc oraz aplikacjami na smartfona typu diskinfo. Sekcja TWRP W sekcji TWRP ustawia się opcje charakterystyczne dla TWRP recovery. Wszystkich opcji jest dość sporo i są one wyszczególnione pod tym linkiem. W zasadzie to musimy poprawnie ustawić zmienną TW_THEME , która odpowiada za rozdzielczość wyświetlacza smartfona. Do wyboru mamy: # portrait_mdpi = 320x480 480x800 480x854 540x960 # portrait_hdpi = 720x1280 800x1280 1080x1920 1200x1920 1440x2560 1600x2560 # watch_mdpi = 240x240 280x280 320x320 # landscape_mdpi = 800x480 1024x600 1024x768 # landscape_hdpi = 1280x800 1920x1200 2560x1600 Neffos Y5 ma rozdzielczość 720x1280, dlatego został wybrany portrait_hdpi . Może i mamy tutaj do wyboru dwa tryby wyświetlania (portrait i landscape) ale TWRP nie potrafi się przełączać między nimi dynamicznie. Jeśli chcemy mieć układ poziomy, to nie da rady przełączyć go w pionowy i vice versa. Pozostałe opcje mają raczej samo opisujące się nazwy. Plik vendorsetup.sh Za sprawą pliku vendorsetup.sh będziemy w stanie dodać nasze urządzenie do budowania. Ten plik będzie miał jedną linijkę, w której musimy określić dwie rzeczy: product_name oraz variant . Jeśli chodzi o product_name , to odczytujemy go z pliku omni_tp802a.mk ze zmiennej PRODUCT_NAME . Natomiast w variant możemy ustawić min. eng , user albo userdebug . Nas interesuje ta ostatnia opcja oferująca dostęp root i tryb debugowania. Budowanie obrazu TWRP recovery By przygotować środowisko pod budowę źródeł TWRP recovery, musimy wyeksportować szereg zmiennych. Nie robimy tego jednak ręcznie, a za pomocą pliku build/envsetup.sh w poniższy sposób: $ make clobber $ . ./build/envsetup.sh including device/tp-link/tp802a/vendorsetup.sh Jak widać wyżej, konfiguracja dla naszego smartfona została załączona. W przypadku korzystania z innego shell'a niż bash (w moim przypadku zsh ) wydanie tego powyższego polecenia zwraca takie oto ostrzeżenie: $ . ./build/envsetup.sh build/envsetup.sh:565: command not found: complete WARNING: Only bash is supported, use of other shell would lead to erroneous results Wygląda na to, że na czas budowy czegoś związanego z Androidem, trzeba korzystać z bash'a. Teraz możemy wpisać lunch i wybrać wcześniej stworzoną kombinację: $ lunch You're building on Linux Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_arm64-eng 3. aosp_mips-eng 4. aosp_mips64-eng 5. aosp_x86-eng 6. aosp_x86_64-eng 7. omni_tp802a-userdebug Which would you like? Mamy na liście omni_tp802a-userdebug i to ją musimy wskazać. Możemy także od razu podać tę pozycję w lunch : $ lunch omni_tp802a-userdebug No i teraz pozostało nam już zbudowanie źródeł. Pamiętajmy tylko, że budujemy jedynie obraz TWRP recovery, a do tego celu służy poniższe polecenie: $ make clean && make -j2 recoveryimage Po kilku czy kilkunastu minutach, obraz recovery powinien nam się zbudować: Repozytorium git na Github'ie Po zbudowaniu obrazu TWRP sprawdzamy naturalnie czy działa on prawidłowo ładując plik out/target/product/tp802a/recovery.img na smartfon przy pomocy fastboot boot . Jeśli nie mamy zastrzeżeń co do działania trybu recovery, to możemy stworzoną w powyższy sposób konfigurację TWRP opublikować na GitHub'ie. Oczywiście musimy posiadać stosowne konto i stworzyć odpowiednie repozytorium. Nazwa tego repozytorium ma wskazywać na ścieżkę drzewa katalogów konfiguracji urządzenia. Przykładowo, mamy tutaj ścieżkę source/device/tp-link/tp802a/ , zatem nazwa repozytorium to android_device_tp-link_tp802a : Następnie przechodzimy do katalogu z plikami konfiguracyjnymi, z których zbudowaliśmy obraz TWRP recovery i inicjujemy w nim lokalne repozytorium: $ cd /Android/omni-twrp-6.0/device/tp-link/tp802a/ $ git init $ git remote add origin git@github.com:morfikov/android_device_tp-link_tp802a.git W pliku .git/config dopisujemy sobie te poniższe parametry: [user] name = Mikhail Morfikov email = morfik@nsa.com signingkey = 0xCD046810771B6520 [gpg] program = gpg Następnie dodajemy wszystkie plik, tworzymy commit i nową gałąź, którą nazywamy sobie, np. twrp-6.0 : $ git add --all $ git commit -S -m "first commit" $ git branch twrp-6.0 $ git checkout twrp-6.0 $ git add --all Teraz już wystarczy przesłać zmiany do zdalnego repozytorium na GitHub'ie: $ git push origin master $ git push origin twrp-6.0 I to w zasadzie cała robota. Wszelkie zmiany w repozytorium od tej pory będą rejestrowane przez system kontroli wersji. Możemy także przesłać całą konfigurację, tak by TWRP oficjalnie wspierało naszego smartfona.
  3. Jak już zapewne wielu użytkowników tego forum wie, ja posiadam kilka smartfonów, które mają ukorzenionego Androida, tj. został na tych urządzeniach przeprowadzony proces root. Tego typu zabieg wyłącza praktycznie wszystkie (albo większość) mechanizmów obronnych naszego telefonu. Biorąc pod uwagę fakt, że cała masa użytkowników smartfonów (nie tylko Neffos'ów od TP-LINK) ukorzenia te urządzenia bez wiedzy co tak naprawdę robi, to postanowiłem napisać kilka słów odnośnie problemów, którym użytkownik ukorzenionego systemu będzie musiał stawić czoła. Przede wszystkim, muszę tutaj zaznaczyć, że samymi smartfonami, a właściwie systemem Android, interesuję się od kilku miesięcy i w zasadzie nie poznałem go jeszcze w pełni. Niemniej jednak, od czasu do czasu rozpracowuje sobie pewne rzeczy w oparciu o dwie wersje Androida: 5.1 (Lollipop) oraz 6.0 (Marshmallow). Ten wpis ma na celu zebranie wszystkich artykułów, które pokazują jak proces root wpływa na bezpieczeństwo systemu oraz, które z jego funkcji przestają działać lub tez są w znacznym stopniu upośledzone. To, że akurat ja korzystam z ukorzenionego Androida, nie znaczy, że i ty powinieneś, zwłaszcza w przypadku, gdy bezpieczeństwo danych przechowywanych w telefonie ma dla ciebie nadrzędne znaczenie. W zasadzie wszystkie z czterech modeli smartfonów Neffos dostępnych na polskim rynku, tj. C5, C5 MAX, Y5 i Y5L, można zrootować bez większego problemu. W moim przypadku, proces root bardzo ułatwia mi rozpracowanie samego systemu i sprawia, że mam wgląd w miejsca, w które standardowy użytkownik telefonu zajrzeć nie może, bo Android odmawia mu dostępu właśnie ze względów bezpieczeństwa. Dlatego też jeśli nie potrzebujesz rootować systemu w telefonie, to tego po prostu nie rób. Problemy z lokalizacją skradzionego smartfona Jednym z bardziej podstawowych mechanizmów ochronnych, które oferuje Google w Androidzie, to usługa lokalizacji smartfona na wypadek jego utraty czy kradzieży. No w przypadku zwykłego zawieruszenia się naszego telefonu raczej nic nam nie grozi ale, gdy takie urządzenie zostanie nam skradzione, to wtedy mamy bardzo poważny problem. Przede wszystkim, mając odblokowany bootloader, który jest wymagany do ukorzenienia Neffos'ów, dajemy złodziejowi narzędzie zresetowania smartfona i obejścia tym samym blokady Factory Reset Protection Lock (FRP Lock). Gdy złodziej obejdzie tę blokadę jest w stanie przywrócić system urządzenia do ustawień fabrycznych, np. w celu odsprzedania telefonu komuś trzeciemu. W takim przypadku nasz smartfon nie będzie już dłużej powiązany z konkretnym kontem Google i zlokalizowanie go przez ww. usługę będzie zwyczajnie niemożliwe. Więcej informacji na temat lokalizacji zagubionych/skradzionych smartfonów można znaleźć w osobnym wątku. Możliwość obejścia blokady ekranu Standardowo każdy z nas korzysta z blokady ekranu w swoich telefonach. Ja akurat mam opcję "Przesuń palcem" ale jakby nie patrzeć, to też blokada. Ci z was, którzy wykorzystują PIN, wzór albo hasło, mogą nieco się zawieść, w przypadku, gdy mają ukorzenionego Androida. Cały ten mechanizm blokady ekranu opiera się o ustawienia stosownej aplikacji i klucz zabezpieczający. Wszystkie te dane są przechowywane w plikach na flash'u smartfona. Jeśli teraz mamy zdjętą blokadę bootloader'a, bo chcieliśmy sobie ukorzenić system, to dostęp do tych kluczy i ustawień pozostaje niechroniony i można zresetować blokadę ekranu przez tryb recovery. Więcej informacji na temat resetowania ustawień blokady ekranu można znaleźć w osobnym wątku (ostatni nagłówek). Odszyfrowanie zawartości karty SD sformatowanej jako pamięć wewnętrzna Nowsze wersje Androidów (6.0+) są w stanie rozbudować pamięć flash w smartfonach przy wykorzystaniu Adoptable Storage. Ten mechanizm zakłada sformatowanie karty SD system plików, który daje możliwość wykorzystania uprawnień do plików w celu poprawienia bezpieczeństwa systemu i poufności danych przechowywanych na samej karcie SD. Domyślnie dane na tej karcie SD są szyfrowane i nie da rady do tych informacji uzyskać dostępu z poziomu innego urządzenia. Możemy w zasadzie korzystać z tej karty na smartfonie, gdzie została ona sformatowana jako pamięć wewnętrzna i nic poza tym. Do szyfrowania zawartości karty jest wykorzystywany losowy klucz szyfrujący, który jest tworzony w procesie formatowania karty SD. Ten klucz nie jest zabezpieczony żadnym hasłem (np. tym od blokady ekranu) i leży sobie jak gdyby nigdy nic na flash'u smartfona. Mając przeprowadzony proces root, ten klucz jest dostępny praktycznie dla każdego, przez co jakiekolwiek szyfrowanie danych na karcie SD jest tylko złudzeniem bezpieczeństwa i niepotrzebnie obciąża procesor telefonu. Więcej informacji na temat odszyfrowania zawartości karty SD sformatowanej jako pamięć można znaleźć w osobnym wątku. Inne problemy Oczywiście, te powyżej wypisane niedogodności nie są jedynymi. Prawdopodobnie jest ich jeszcze cała masa ale, jako, że mam ciągle niewielkie doświadczenie z Androidem, to jeszcze nie wszystkie rzeczy udało mi się wyłapać. Niemniej jednak, jak tylko coś ciekawego znajdę, to naturalnie opiszę i dodam stosowny nagłówek w tym wątku, tak by ta lista była możliwie rozbudowana, co może przyczyni się do większej świadomości osób korzystających z Androida i zaowocuje zastanowieniem się na tym, czy faktycznie dany użytkownik potrzebuje ukorzenionego Androida w swoim smartfonie.
  4. Smartfony towarzyszą nam w codziennym życiu praktycznie cały czas. Dlatego też zaczynamy przechowywać w tych urządzeniach coraz to więcej informacji osobistych, które są w stanie dość dokładnie opisać nasze życie prywatne. Co jednak w przypadku, gdy taki telefon zgubimy lub też zostanie nam on skradziony przez kogoś? Gdy chodzi o urządzenia z Androidem, to Google oferuje usługę, która jest w stanie połączyć się z naszym smartfonem i przy odrobinie szczęścia ujawnić nam jego położenie geograficzne lub też pozwolić nam na zdalne zablokowanie systemu w telefonie. Chodzi oczywiście o usługę "Znajdź telefon/smartfon" (find my phone), na którą rzucimy sobie okiem w tym artykule. Jak działa usługa "Znajdź telefon/smartfon" Generalnie rzecz ujmując, usługa "Znajdź telefon/smartfon" jest dostępna w praktycznie każdym Androidzie i jest automatycznie włączona. Nie musimy zatem nic dodatkowo instalować czy konfigurować, no chyba, że chcemy tę usługę wyłącz w obawie o naszą prywatność ale do tej kwestii przejdziemy nieco później. Na razie skupmy się na samej usłudze. By usługa "Znajdź telefon/smartfon" była w stanie działać prawidłowo, potrzebne jest powiązanie urządzenia z Androidem, w tym przypadku smartfon, z istniejącym kontem Google. Innymi słowy, trzeba się zalogować na jakieś konto Google na tym urządzeniu. Innym ważnym punktem, który musi być spełniony, jest dostęp telefonu do internetu. Nie ma przy tym znaczenia, czy ten dostęp jest po WiFi czy przez operatora GSM (dane pakietowe). Bez dostępu do internetu, Android nie połączy się z serwerami Google i usługa jest w zasadzie bezużyteczna. Nic więcej nam nie jest potrzebne, no chyba, że chcemy uzyskać położenie geograficzne i zlokalizować smartfon. W takim przypadku telefon musi mieć włączoną nawigację satelitarną (GPS), a ten moduł nie zawsze jest aktywny i dlatego też nie od razu uda nam się taki zgubiony/skradziony telefon odnaleźć na mapie. Idąc dalej, jako, że ta usługa działa w oparciu o przypisanie konta Google do urządzenia z Androidem, to zresetowanie ustawień do fabrycznych w taki sposób by obejść blokadę Factory Reset Protection Lock (FRP Lock), skutecznie uniemożliwia nam przeprowadzenie jakichkolwiek działań ratunkowych. Warto o tym fakcie pamiętać w przypadku, gdy many z jakiegoś powodu odblokowany bootloader lub też posiadamy niezbyt przyzwoicie zabezpieczony smartfon, który umożliwia przepisanie partycji frp w celu obejścia ww. blokady. Jeśli któraś z tych powyższych sytuacji ma miejsce, to biorąc pod uwagę kwestię prywatności, dobrze jest wyłączyć usługę "Znajdź telefon/smartfon". Jak włączyć/wyłączyć usługę "Znajdź telefon/smartfon" Usługę "Znajdź telefon/smartfon" można wyłączyć z poziomu ustawień systemu smartfona. W zasadzie zarówno w wersji 5.1 (Lollipop) jak i 6.0 (Marshmallow) stosowna konfiguracja znajduje się w Ustawienia => Zabezpieczenia => Administratorzy urządzenia: Jak widać na powyższej fotce, w tym przypadku mamy kilka aplikacji, które są w stanie w jakimś stopniu zarządzać naszym telefonem. Jeśli któreś z nich nie powinno tego robić, to naturalnie ze względów bezpieczeństwa lepiej jest je odhaczyć. Domyślnie jest zaptakowana tylko pierwsza pozycja, tj. Menadżer urządzeń Android (nie mylić z aplikacją, która ma dokładnie taką samą nazwę i jest do pobrania ze sklepu Google Play). Każda z tych pozycji po kliknięciu wyświetli nam informacje na temat operacji, które dana aplikacja będzie w stanie przeprowadzić. Poniżej jest rozpisany Menadżer urządzeń Android: No i widzimy, że Menadżer urządzeń Android umożliwia nam na zdalne przeprowadzenie procesu resetowania ustawień smartfona do fabrycznych, tj. Factory Reset. Oferuje on także zablokowanie ekranu i zmianę hasła, tak by niepowołane osoby nie były w stanie korzystać z tego telefonu. Poszukiwania zgubionego/skradzionego smartfona Załóżmy w tym momencie, że nie znamy położenia naszego telefonu oraz, że mamy pewne przypuszczenia, że ktoś nam to urządzenie podprowadził bez naszej świadomej zgody. Co w takiej sytuacji możemy zrobić? Musimy jak najszybciej uzyskać dostęp do zaufanego komputera i zalogować się na konto Google, które jest powiązane z uprowadzonym smartfonem. W zasadzie dla przyśpieszenia procesu, można w wyszukiwarce wpisać frazę "gdzie jest mój telefon" i zostaniemy przez Google odesłani pod właściwy adres usługi: Po wejściu w usługę "Znajdź telefon/smartfon", pojawią nam się urządzenia, które są powiązane z tym kontem Google, i na których była notowana ostatnio jakaś aktywność: Załóżmy, że zawieruszył się ten pierwszy TP-LINK'owy Neffos Y5. Trzeba kliknąć w tą pozycję i podać naturalnie hasło do konta Google. Pamiętajmy, by przy tego typu uwierzytelnianiu sprawdzić czy aby faktycznie jesteśmy na stronach Google i czy strona jest zabezpieczona przez zaufany certyfikat (info w zielonej kłódce obok URL). Po podaniu hasła zostaniemy przeniesieni do listy opcji, które pomogą nam odzyskać telefon: Jak widać, trochę tych opcji mamy. Przyjrzyjmy się im nieco bliżej. Aktywacja dzwonka Gdy mamy podejrzenie, że telefon wciąż jest gdzieś w pobliżu, to naturalnie możemy spróbować go wywołać aktywując w nim dzwonek. W taki sposób nasz telefon zacznie dzwonić z maksymalną siłą, nawet gdy dźwięki w urządzeniu zostały wyciszone. W sumie to ta opcja jest przydatna nie tylko na wypadek kradzieży ale też w momencie, gdy nie wiemy gdzie dokładnie położyliśmy telefon. Lokalizacja położenia geograficznego Zakładając, że nasz telefon ma włączony moduł GPS, Google jest w stanie ustalić położenie naszego smartfona praktycznie natychmiast. Zostanie nam również zwrócona mapka z dokładną lokalizacją zgubionego urządzenia: Problem w tym, że chwilę po zlokalizowaniu urządzenia, na ekranie smartfona zostanie wyświetlony monit o tym, że urządzenie zostało namierzone. Nie wiem kto projektował to zabezpieczenie ale dawać informację potencjalnemu złodziejowi, że "Urządzenie Zlokalizowane" raczej nie ułatwi w odnalezieniu ani smartfona, ani tego kto go sobie przywłaszczył. Można naturalnie ten problem wyeliminować ale trzeba wyłączyć notyfikacje dla aplikacji "Usługi Google Play". Problem w tym, że notyfikacje zostaną wyłączone nie tylko dla Menadżera urządzeń Android ale dla wszystkich usług Google. Nie wiem dlaczego tak ten mechanizm został zaprojektowany ale definitywnie kuleje on pod względem bezpieczeństwa/prywatności i wymaga jak najszybszego dopracowania. Tak czy inaczej jeśli chcemy się pozbyć tych notyfikacji, to w różnych wersjach Androida potrzebne nam opcje siedzą w nieco innych miejscach. W przypadku Androida 6.0 (Marshmallow) można je znaleźć przechodząc w Ustawienia => Menadżer powiadomień. Tam z kolei na liście aplikacji odszukujemy "Usługi Google Play" i wyłączamy w nich powiadomienia: W przypadku, gdy smartfon ma wyłączony moduł GPS, to naturalnie nie da rady go zdalnie włączyć przez usługę "Znajdź telefon/smartfon" i trzeba ewentualnie czekać na błąd złodzieja, np. będzie on próbował skorzystać z mapy czy innej tego typu aplikacji wymagającej do prawidłowego działania modułu GPS. Zablokowanie telefonu Czasami przestępcy są nieco bardziej zaawansowani pod względem intelektualnym i mogą być świadomi faktu, że właściciel telefonu może próbować ich namierzyć przez mechanizmy bezpieczeństwa wbudowane w to urządzenie. Dlatego też mogą oni świadomie unikać włączenia modułu GPS, a my przez to w ogóle możemy nie uzyskać lokalizacji smartfona. Jeśli zaś moduł GPS mieliśmy aktywny, to ci nieznani jeszcze sprawcy mogą podjąć kroki, by ten śledzący dodatek dezaktywować. W takim przypadku jeśli nie mamy ustawionej blokady ekranu w telefonie, to najlepiej jest zdalnie zablokować system telefonu. W zasadzie zablokowaniu ulegnie sam ekran. My zaś możemy dodatkowo dostosować informację, która na tym ekranie zostanie wyświetlona. Nie mamy jednak możliwości zmiany kodu PIN jeśli blokada ekranu jest już aktywna. Zatem jeśli złodziej zna nasz PIN, to mamy problem. W przypadku niekontrolowanej utraty telefonu powinniśmy w zasadzie jak najszybciej założyć blokadę ekranu. Bez niej, złodziej będzie w stanie zresetować ustawienia urządzenia do fabrycznych z poziomu działającego systemu. Taki zabieg nie dość, że praktycznie nam uniemożliwi zlokalizowanie telefonu, bo usługa Google przestanie zwyczajnie działać, to jeszcze nie zostanie nałożona na smartfon blokada Factory Reset Protection Lock. Oczywiście nie musimy z góry zakładać, że telefon wpadł w ręce złodzieja. Być może też jakiś przyzwoity człowiek znalazł nasz smartfon i nie wie on za bardzo co w takiej sytuacji ma zrobić. Jakby nie patrzeć na urządzeniu nie ma żadnej kartki z informacją czyj jest to smartfon. Kartki może i nie ma ale możemy krótką informację na ekranie wyświetlić i jeszcze podać numer telefonu, z którym znalazca zostanie połączony po kliknięciu ikonki słuchawki: Wylogowanie z telefonu Kolejną opcją, która nieco podnosi poziom naszej prywatności i bezpieczeństwa konta Google, to zdalne wylogowanie się z Androida na skradzionym urządzeniu. Oczywiście w dalszym ciągu system będzie traktował nasze konto jako powiązane z tym konkretnym urządzeniem i uniemożliwi zalogowanie się na inne konto. Niemniej jednak, pozostała funkcjonalność telefonu będzie do dyspozycji złodzieja, w tym również możliwość dzwonienia czy włączenia GPS. Taka osoba nie będzie mogła korzystać tylko z tej części systemu, która wymaga zalogowania się na konto. Warto w tym miejscu jednak zaznaczyć, że ten krok z wylogowaniem ochroni jedynie nasze konto Google. Wszystkie prywatne dane, takie jak numery telefonów, treści wiadomości SMS czy zdjęcia/filmy z aparatu już nie zostaną objęte ochroną i złodziej będzie mógł je swobodnie przejrzeć. Niemniej jednak, pozostawienie telefonu funkcjonalnym sprawi, że będzie można go namierzyć przez operatora GSM (ewentualnie GPS), o ile złodziej będzie z niego korzystał. Wypadałoby tylko zablokować kartę SIM (u operatora), tak by nie ponosić opłat z tytułu nadużywania naszej gościnności. Zdziwiłem się tylko, że mając tak zablokowane konto Google, zresetowanie ustawień telefonu do fabrycznych nie nakłada blokady Factory Reset Protection Lock. Dla mnie było oczywistym, że ta blokada powinna się pojawić ale widać ten Góglowski mechanizm blokowania urządzenia nie jest do końca dopracowany. Wykasowanie wszystkich danych Posiadając kopię zapasową danych zgromadzonych w telefonie, w sumie można od razu pokusić się o zdalne przeprowadzenie procesu Factory Reset, co przy okazji założy blokadę Factory Reset Protection Lock (FRP Lock). W ten sposób złodziej nie uzyska dostępu do danych zgromadzonych na flash'u urządzenia i w zasadzie nie będzie w stanie w ogóle korzystać z telefonu. Warto tutaj zaznaczyć, że jeśli w smartfonie podczas tego procesu czyszczenia będzie obecna karta SD, to dane zawarte na tym nośniku również zostaną wykasowane. Problem w tym, że inicjując takie zdalne czyszczenie pozbawiamy się jednocześnie możliwości zlokalizowania telefonu przez usługi Google. Mamy przynajmniej pewność, że nikt nie uzyska dostępu do naszych prywatnych informacji. Coś za coś. Aplikacja Android Device Manager Próby lokalizacji smartfona niekoniecznie muszą być przeprowadzane z poziomu standardowego komputera czy laptopa. Można do tego celu skorzystać z innego smartfona ale trzeba na nim zainstalować aplikację Android Device Manager. Można również korzystać ze standardowej przeglądarki ale ta opcja zostawia za dużo śladów. W przypadku aplikacji Android Device Manager jesteśmy w stanie zlokalizować smartfon w oparciu o dane GPS, zdalnie zablokować telefon, włączyć dzwonek i przeprowadzić proces Factory Reset, czyli mniej więcej te same kroki, które były dostępne w serwisie Google. Po za logowaniu się w aplikacji Android Device Manager, zostanie nam zwrócona lista urządzeń, które są powiązane z kontem Google, do którego dane wprowadziliśmy w formularzu logowania: Wybieramy tutaj urządzenie, które nam zaginęło i przy pomocy kilku tapnięć w ekran smartfona możemy w bardzo prosty sposób wywołać każdą z ww. akcji:
  5. Kupowanie telefonów czy smartfonów z Androidem z innych źródeł niż oficjalne punkty sprzedaży nie zawsze jest bezpieczną opcją. Gdy nabywamy takie urządzenie od znajomego, to raczej nie powinniśmy się martwić o to, że ten telefon może być kradziony. Niemniej jednak, po zakupie takiego urządzenia, poprzedni użytkownik zwykle resetuje jego ustawienia do fabrycznych, by klient miał świeży system i nie był w stanie uzyskać dostępu do prywatnych danych poprzedniego właściciela smartfona. Nie byłoby w tym nic nadzwyczajnego, gdyby nie fakt, że nabywca tak odsprzedanego telefonu może mieć pewne problemy ze skonfigurowaniem Androida, bo ten system zwróci mu komunikat: "Urządzenie zostało zresetowane. Aby kontynuować, zaloguj się na konto Google, które było wcześniej synchronizowane na tym urządzeniu", czyli telefon został zablokowany przez mechanizm Factory Reset Protection Lock (FRP Lock). Jeśli znajomy mieszka blisko nas, to naturalnie możemy się przejść do niego w celu zdjęcia tej blokady. A co w przypadku, gdy nabyliśmy urządzenie na odległość? Czy jest jakiś sposób na obejście tej blokady w przypadku smartfonów Neffos od TP-LINK? Factory Reset Protection Lock (FRP Lock) Urządzenia takie jak smartfony zwykle zabezpieczone są jakąś formą blokady ekranu, np.kodem PIN. By skorzystać z takiego telefonu trzeba ten kod pierw wprowadzić. Problem pojawia się w momencie, gdy tego kodu z jakiegoś powodu nie znamy. W przypadku, gdy jedynie zapomnieliśmy prawidłowej sekwencji odblokowującej ekran, to nic nie stoi na przeszkodzie, by taki telefon zresetować do ustawień fabrycznych przez tryb recovery. Stracimy co prawda wszystkie dane przechowywane na flash'u urządzenia ale będziemy w stanie sobie na nowo skonfigurować system. Niemniej jednak, tego typu sytuacja zwykle nie ma miejsca, natomiast dużo częściej zdarzają się kradzieże telefonów. Taki złodziej również byłby w stanie zresetować ustawienia telefonu do domyślnych w celu jego późniejszej sprzedaży gdzieś na targu. By utrudnić ten proceder, w Androidach począwszy od wersji 5.0 (Lollipop) został wprowadzony mechanizm Factory Reset Protection Lock (FRP Lock). Mając taki system, po zresetowaniu smartfona do ustawień fabrycznych przez tryb recovery, urządzenie w dalszym ciągu będzie zablokowane. Użytkownikowi podczas konfiguracji telefonu zostanie pokazany jedynie komunikat "Urządzenie zostało zresetowane...". By móc korzystać z takiego telefonu, trzeba podać dane do poprzedniego konta i innej opcji zwykle nie ma. Po aktywowaniu blokady FRP Lock, Android jest zwykle bezużyteczny. Możemy jedynie odbierać połączenia przychodzące i wykonywać połączenia alarmowe ale w zasadzie nic poza tym. Nie mamy dostępu do ustawień telefonu czy przeglądarki internetowej i z lwiej części funkcjonalności telefonu nie będziemy mogli skorzystać do momentu podania danych do konta, które było skonfigurowane na tym telefonie przed zakupem. W przypadku zakupu telefonu na odległość, raczej jest mało prawdopodobne, że poprzedni właściciel poda nam dane do swojego konta Google byśmy sami mogli ten telefon odblokować. Jakie inne opcje nam zatem pozostają? Zasada działania FRP Lock Szukając informacji na temat zasady działania tego całego FRP Lock, na jednym z forów Androida użytkownik piskorfa podesłał mi linki do dwóch chińskich blogów [1] i [2]. Chińskiego co prawda nie znam ale zawartość tych stron można przetłumaczyć na angielski w Google Translate. Zgodnie z informacjami zawartymi w tych powyższych artykułach, mechanizm FRP Lock działa w oparciu o dedykowaną partycję na flash'u telefonu. Nazwa tej partycji może być różna, choć zwykle przyjmuje wartość frp (od Factory Reset Protection). W smartfonach Neffos C5 i C5 MAX ta partycja figuruje na liście partycji. Nie ma jej jednak w przypadku modelów Neffos Y5 i Y5L ale to nic nie szkodzi. Nazwę tej partycji zawsze można ustalić przeglądając, np. za pomocą adb , plik /system/build.prop w telefonie: shell@C5_Max:/ $ cat /system/build.prop | grep -i frp ro.frp.pst=/dev/block/platform/mtk-msdc.0/by-name/frp shell@Y5:/ $ cat /system/build.prop | grep -i frp ro.frp.pst=/dev/block/bootdevice/by-name/config Widać, zatem że w tym drugim przypadku partycja, której szukamy, nazywa się config . Blokada FRP Lock jest zakładana na telefon w momencie powiązania z nim konta Google, tj. uzupełnienia formularza w celu zalogowania się, np. do sklepu Google Play. Blokadę tę można dezaktywować usuwając konto z telefonu lub też resetując smartfon do ustawień fabrycznych z poziomu działającego systemu. Zatem dodając lub usuwając konto Google, Android inicjuje pewną operację na partycji, która została zwrócona w ro.frp.pst . Jeśli teraz zresetujemy telefon do ustawień fabrycznych z poziomu trybu recovery, to system urządzenia nie przepisze nam tej partycji w żaden sposób, bo Android w trym trybie nie jest uruchomiony. Później jak przechodzimy przez proces wstępnej konfiguracji telefonu, system odczytuje dane z partycji frp i na ich podstawie decyduje czy przepuścić użytkownika, czy zablokować dostęp i zażądać uwierzytelnienia przez podanie danych do konta, które wcześniej było na tym telefonie skonfigurowane. W jaki sposób system rozpoznaje czy podaliśmy dane do odpowiedniego konta? Serwery Google w tym procesie nie biorą udziału. Te dane są zapisywane również na partycji frp , z tym, że raczej w formie jakieś hasha, który można uzyskać podając konkretny login i hasło. Podając prawidłowe dane, system jest w stanie wygenerować taki hash i porównać go z tym co zostało zapisane na partycji frp . Pewności do końca nie mam jak ten proces weryfikacji przebiega ale patrząc na zrzuty partycji w edytorze HEX, można dojść do wniosku, że system dodaje jakieś informacje na tej partycji po zalogowaniu się na konto Google. Jest to około 20 KiB, zatem dość sporo. Te dane jednak są w formie nieczytelnej dla człowieka, także nic więcej na ten temat nie powiem. Wiedząc, że partycja frp odgrywa kluczową rolę w zablokowaniu użytkownikowi dostępu do telefonu, można by się pokusić o ręczne wyczyszczenie tej partycji. Jeśli faktycznie serwery Google nie biorą udziału w tym całym procesie, to FRP Lock można by obejść lokalnie. Jak odblokować smartfon z aktywowanym FRP Lock Załóżmy, że zakupiliśmy sobie używanego smartfona na odległość oraz, że to urządzenie nie było kradzione. Naturalnie telefon nie został poprawnie zresetowany do ustawień domyślnych i my jako nowy właściciel mamy teraz problem, bo Android wyrzuca nam informacje o założeniu blokady FRP Lock. W zasadzie wiemy co mamy robić, tj. trzeba wyczyścić partycję frp . Problem w tym, że w różnych modelach smartfonów inaczej do tego przedsięwzięcia trzeba się zabrać. Kluczowe znaczenie ma zainstalowany w urządzeniu SoC, wersja Androida oraz ewentualne zabezpieczenia wprowadzone przez producenta telefonu. W przypadku smartfonów Neffos C5 i C5 MAX mamy do czynienia z SoC od MediaTek, model nie jest aż tak ważny. Android jest zaś w wersji 5.1 (Lollipop). Natomiast Neffos Y5 i Y5L mają SoC od Qualcomm i w tych telefonach siedzi Android w wersji 6.0 . Mamy zatem dwie różne sytuacje do rozważenia. Odblokowanie Neffos C5 i C5 MAX Jako, że te dwa modele smartfonów mają SoC od MediaTek, to nadpisanie partycji frp w ich przypadku jest stosunkowo proste, bo możemy do tego celu zaprzęgnąć SP Flash Tool. Problematyczne może być ustalenie gdzie na flash'u smartfona znajduje się partycja frp . Ja korzystałem ze swojego pliku scatter.txt: mt6753-neffos-c5-max-tp-link-scatter.txt, gdzie mam taki oto blok kodu: - partition_index: SYS18 partition_name: frp file_name: NONE is_download: true type: NORMAL_ROM linear_start_addr: 0x6a00000 physical_start_addr: 0x6a00000 partition_size: 0x100000 region: EMMC_USER storage: HW_STORAGE_EMMC boundary_check: true is_reserved: false operation_type: UPDATE reserve: 0x00 W zasadzie to, interesuje nas tutaj wartość 0x100000 , która wskazuje nam rozmiar partycji i jest to 1048576 bajtów, czyli 1 MiB. Trzeba zatem stworzyć plik wypełniony samymi zerami, który będzie miał dokładnie taki rozmiar. Możemy to zrobić przy pomocy dd z poziomu każdego linux'a: # dd if=/dev/zero of=./c5max-frp.orig bs=1K count=1024 Tak wygenerowany plik trzeba przy po mocy SP Flash Tool wgrać w odpowiednie miejsce na flash'u smartfona. Odpalamy zatem narzędzie SP Flash Tool i przechodzimy na zakładkę Download i tam zaznaczamy partycję frp i wskazujemy ścieżkę do pliku z zerami: Upewniamy się, że nad listingiem partycji mamy zaznaczone Download Only i wciskamy przycisk Download . W tym momencie SP Flash Tool będzie oczekiwał na podłączenie smartfona do portu USB komputera. Wyłączamy zatem telefon i podłączamy go do komputera. System powinien go automatycznie wykryć i zaaplikować mu wskazany plik: Jeśli są jakieś problemy z działaniem SP Flash Tool, to prawdopodobnie nie ma on uprawnień do urządzenia /dev/ttyACM0 i trzeba będzie dodać naszego użytkownika do grupy dialout . Po wgraniu pliku, włączamy smartfon i już nie powinniśmy mieć problemów z dodaniem nowego konta Google na naszym smartfonie. Odblokowanie Neffos Y5 i Y5L W przypadku smartfonów Neffos Y5 i Y5L sprawa nie wygląda tak różowo. Nie tylko nie mamy możliwości skorzystania z SP Flash Tool, bo SoC jest od Qualcomm'a, to jeszcze wygląda na to, że blokada OEM (ta w opcjach developerskich) działa i uniemożliwia odblokowanie bootloader'a. Bez odblokowanego bootloader'a z kolei nie damy rady wgrać obrazu przy pomocy narzędzia fastboot . Próbowałem obejść blokadę FRP Lock w tych telefonach na kilka różnych sposobów ale żadne ze znalezionych przeze mnie rozwiązań nie dało rady sprostać zabezpieczeniom, które w tych Neffos'ach zostały zaimplementowane. W Neffos Y5 i Y5L mamy praktycznie gołego Androida 6.0 i jedyne co możemy próbować zrobić, to uzyskać dostęp do ustawień telefonu w celu przeprowadzenia procesu Factory Reset z poziomu działającego systemu. Przynajmniej tak wynika z tych materiałów, z którymi się zdążyłem zapoznałem. Pytanie jest tylko jak wywołać ustawienia, skoro mamy zablokowaną możliwość operowania na smartfonie i jedyny obrazek jaki widzimy, to ten poniżej: Sposób z przeglądarką Może i na pierwszy rzut oka nic nie da się zrobić i FRP Lock spełnia swoje zadanie ale nawet w tym miejscu jesteśmy w stanie wywołać przeglądarkę internetową, która pozwoli nam uzyskać dostęp do ustawień systemu. W jaki sposób? Wyżej widzimy formularz, w którym mamy wpisać adres email lub numer telefonu. Generalnie nie wpisujemy tutaj tego, o co nas proszą. Zamiast tego wpisujemy dosłownie cokolwiek. Na ten wpisany w formularzu wyraz możemy kliknąć i pojawi nam się proste menu: Z tego menu wybieramy pozycję Podpowiedzi (przez te trzy kropki): I jak widzimy, odpaliła nam się przeglądarka Chrome. Nie logujemy się tutaj i wciskamy "Nie Dzięki". Na środku ekranu mamy standardowy formularz wyszukiwania, jak w każdej wyszukiwarce. W tym formularzu wpisujemy w zależności od wykorzystywanego języka w telefonie: ustawienia (PL) lub settings (EN). Jak tylko zaczniemy wpisywać kolejne znaki w polu formularza, na dole ekranu powinny nam się pojawić podpowiedzi: Mamy pozycję Ustawienia i naturalnie klikamy w nią. Powinien nam się ukazać znajomy widok ustawień systemowych. Zatem nawet mając aktywny mechanizm blokady telefonu, jesteśmy w stanie go ominąć i wejść w ustawienia telefonu. W tak uzyskanym menu przechodzi do pozycji Kopia zapasowa i reset , a z niej wybieramy Przywróć ustawienia Fabryczne : W ten sposób niby powinniśmy pozbyć się blokady, bo proces Factory Reset zostanie przeprowadzony z poziomu działającego systemu. Niestety najwyraźniej w nowszych wersjach Androida partycja frp nie jest przepisywana jeśli Factory Reset jest przeprowadzany z poziomu systemu, na którym nie ma skonfigurowanego konta Google. Zatem może i zresetujemy ustawienia ale w dalszym ciągu system przy konfiguracji telefonu będzie nas prosił o podanie danych do starego konta Google. Sposób ze zdjęciem blokady OEM Kluczem do zdjęcia blokady FRP Lock jest odblokowanie bootloader'a, a to można zrobić zdejmując pierw blokadę OEM z poziomu opcji developerskich. Mając dostęp do opcji telefonu, możemy wejść w "Informacje o telefonie" i spróbować postukać w numer kompilacji. Problem w tym, że ten sposób również nie działa i w tym przypadku stukanie w numerek kompilacji nic nie daje, a bez tego nie pojawią nam się opcje developerskie i nie ściągniemy blokady OEM. Sposób z wyłączeniem WiFi Innym sposobem, który znalazłem, miało być ogłupienie systemu przez rozłączenie sieci WiFi w odpowiednim momencie. Gdy jesteśmy na pozycji "Wybierz WLAN" przy konfiguracji telefonu, to naturalnie wskazujemy naszą sieć i uzupełniamy dane logowania do tej sieci. Później wracamy przyciskiem Wstecz do ekranu wyboru sieci. Powinniśmy widzieć listę sieci WiFi w naszej lokalizacji oraz powinniśmy być podłączeni do tej, którą sobie skonfigurowaliśmy: W tym miejscu dajemy "Dalej" i gdy na ekranie pojawi się informacja "Sprawdzam połączenie" ale przed "Aktualizuję oprogramowanie" (szybko przeskakuje) trzeba sieć WiFi rozłączyć. Można albo wyłączyć router WiFi przyciskiem, albo też w ustawieniach routera wyłączyć samo WiFi. Warto tutaj zaznaczyć, że w telefonie nie może być obecna karta SIM, bo wtedy dane mogą być wymieniane po 3G/LTE. W takim przypadku, smartfon nie będzie w stanie połączyć się z serwerami Google po uprzednim zapewnieniu, że połączenie działa. Taki stan rzeczy najprawdopodobniej sprawia, że system głupieje i pomija proces uwierzytelniania zwracając informację "Nie można się zalogować" i proces konfiguracji telefonu może być kontynuowany: Naturalnie klikamy Dalej i Dalej i w zasadzie wszystko wskazuje na to, że proces zostanie ukończony z powodzeniem. Niemniej jednak, z jakiegoś powodu system stwierdza, że nie jesteśmy zalogowani i każe nam cały proces powtórzyć. Sposób z linkami w opcjach języka i klawiatury Kolejnym sposobem, który może nam pomóc z ominięciem blokady FRP Lock, jest próba wywołania ustawień systemowych za pomocą linków, do których mamy dostęp z menu różnych aplikacji systemowych. W procesie wstępnej konfiguracji telefonu mamy dostęp do jednej takiej aplikacji, tj. ustawienia języka i klawiatury (czy jak to się tam nazywa). W opcje tej aplikacji można wejść przyciskając przez dłuższą chwilę znak @ na klawiaturze ekranowej. W ten sposób powinno nam się pojawić małe kółko zębate oferujące "Opcje wprowadzania": Po wejściu w te opcje, w prawym górnym rogu mamy trzy kropki z menu pomocy, które powinniśmy wywołać w celu uzyskania dostępu do upragnionego linku, za pomocą którego można by wywołać przeglądarkę i za jej pomocą wejść w główne ustawienia telefonu: Problem w tym, że żadna z tych opcji się nie da wcisnąć, czyli kolejna ślepa uliczka. Znacie jeszcze jakieś ciekawe pomysły na obejście tej blokady? Jak uniknąć zablokowania smartfona Wygląda na to, że w przypadku Neffos C5 i C5 MAX zabezpieczenie FRP Lock jest praktycznie bezużyteczne. Oczywiście w dalszym ciągu zdjęcie tej blokady dla przeciętnego Kowalskiego może być zbyt trudne ale jak widać jest ono możliwe. Natomiast póki co nie mam pojęcia jak obejść tę blokadę w Neffos Y5 i Y5L i w przypadku tych telefonów raczej nie chcielibyśmy tego FRP Lock'a złapać. Dlatego też zawsze przed odsprzedaniem komuś telefonu miejmy na uwadze to zabezpieczenie i manualnie usuwajmy konto Google z systemu. Nie zaszkodzi też usunięcie blokady ekranu przed zresetowaniem smartfona do ustawień fabrycznych. Jeśli zaś kupujemy telefon od kogoś, to poprośmy tę osobę o wykonanie procesu Factory Reset z poziomu trybu recovery, tak by ta czynność została wykonana przy nas. Po czym sprawdźmy czy w procesie wstępnej konfiguracji telefonu nie złapiemy FRP Lock'a.
  6. Czy to normalne w Neffos C5 Max, że często kiedy oglądam filmy na YouTube bądź gram podczas ładowania wyświetla mi się komunukat o wysokiej temperaturze baterii? Niestety dokładnej temperatury niepodam, bo dopiero teraz zainstalowałem odpowiednią aplikację i czekam na okazję aby sprawdzić. Poza tym zdarzyła mi się taka sytuacja, że kiedy ogądałem filmy na yt w pewnym momencie wyświetlił mi się komunikat o słabej baterii(15%) i kilka sekund później telefon się wyłączył. Udało mi się go uruchomić dpoiero po kilku minutach ładowania. Do tej sytuacji załanczam screeny z wykresem poziomu naladowania baterii. Bywało też tak, że wieczorem naładowałem telefon do 100%, a rano miałem ok. 80% a na wykresie widać było nagły spadek poziomu baterii. W pewnym momencie poziom baterii spadł do 80% i tak już zostało. Nie była to pionowa linia, ale jednak spadek był nagły. Problemy z nagłymi spadkammi poziomu baterii ustąpiły po wyłączeniu opcji Inteligentnego oszczędzania energii. Mam pytanie, czy z moim telefonem wszystko jest ok? Telefon jest nowy, kupiony ok. 2 tygodnie temu. PS Wie ktoś kiedy będzie aktualizacja Neffosa C5 Max do androida 6.0
  7. Bawiąc się ostatnio smartfonem Neffos C5 MAX od TP-LINK, obiecałem sobie, że jak tylko będę miał chwilę czasu, to postaram się ukorzenić Androida, który w tym telefonie siedzi (Lollipop). Generalnie rzecz biorąc, sposób root'owania tego urządzenia jest bardzo podobny do tego, który miałem już możliwość przeprowadzić na innym modelu TP-LINK'a, tj. Neffos C5. Dlatego też poniższy artykuł jest bardzo zbliżony treścią, choć lekko zaktualizowany pod kątem Neffos'a C5 MAX. Grunt, że nie było żadnych problemów z przeprowadzeniem backup'u flash'a telefonu jak i samego procesu root. Narzędzia ADB i fastboot Przede wszystkim, by zabrać się za proces root'owania smartfona Neffos C5 MAX, musimy przygotować sobie odpowiednie narzędzia. Zapewnią one nam możliwość rozmawiania z telefonem. Będziemy potrzebować adb (Android Debug Bridge) oraz fastboot . Proces instalacji tych narzędzi na linux, a konkretnie w dystrybucji Debian, został opisany osobno. Narzędzie SP Flash Tool Kolejnym narzędziem, które będzie nam niezbędne jest SP Flash Tool. Niestety nie jest ono włączone do dystrybucji Debian i musimy posiłkować się paczką, którą można znaleźć w podanym wyżej linku. Tutaj ważna uwaga. SP FLash Tool jest przeznaczony tylko dla smartfonów mających SoC od Mediatek. Pobieramy paczkę .zip dla linux'a i wypakowujemy ją. Jako, że SP Flash Tool wykorzystuje do komunikacji interfejs /dev/ttyACM0 , to do poprawnej pracy wymaga on operowania na tym interfejsie. Standardowo tylko administrator systemu oraz członkowie grupy dialout są w stanie korzystać z tego interfejsu. Musimy zatem dodać naszego użytkownika do tej grupy w poniższy sposób: # gpasswd -a morfik dialout Kompletny backup flash'a Neffos C5 MAX Mając zainstalowane te powyższe narzędzia, możemy przejść do zrobienia backup'u całego flash'a, który jest w naszym smartfonie. Proces backup'u najprościej przeprowadzić za pomocą SP Flash Tool. Niemniej jednak, potrzebne nam są pewne informacje, które możemy uzyskać przy pomocy adb . Podpinamy zatem telefon do portu USB komputera i w terminalu wpisujemy poniższe polecenie: # adb shell cat /proc/partinfo Name Start Size pgpt 0x0000000000000000 0x0000000000080000 proinfo 0x0000000000080000 0x0000000000300000 nvram 0x0000000000380000 0x0000000000500000 protect1 0x0000000000880000 0x0000000000a00000 protect2 0x0000000001280000 0x0000000000a00000 lk 0x0000000001c80000 0x0000000000080000 para 0x0000000001d00000 0x0000000000080000 boot 0x0000000001d80000 0x0000000001000000 recovery 0x0000000002d80000 0x0000000001000000 logo 0x0000000003d80000 0x0000000000800000 expdb 0x0000000004580000 0x0000000000a00000 seccfg 0x0000000004f80000 0x0000000000080000 oemkeystore 0x0000000005000000 0x0000000000200000 secro 0x0000000005200000 0x0000000000600000 keystore 0x0000000005800000 0x0000000000800000 tee1 0x0000000006000000 0x0000000000500000 tee2 0x0000000006500000 0x0000000000500000 frp 0x0000000006a00000 0x0000000000100000 nvdata 0x0000000006b00000 0x0000000002000000 metadata 0x0000000008b00000 0x0000000002500000 system 0x000000000b000000 0x0000000100000000 cache 0x000000010b000000 0x0000000019000000 userdata 0x0000000124000000 0x0000000286780000 flashinfo 0x00000003aa780000 0x0000000001000000 sgpt 0x00000003ab780000 0x0000000000080000 Ten zwrócony wyżej wynik jest dla smartfona Neffos C5 MAX. W przypadku innych telefonów, ta tabelka może mieć inną postać i nie możemy kopiować z niej wartości jeśli mamy inne urządzenie. Generalnie rzecz biorąc, to te dane potrzebne nam są do zbudowania pliku scatter.txt , w oparciu o który działa SP Flash Tool. Ten plik to zwyczajna mapa przestrzeni flash'a telefonu, który podzielony jest na szereg widocznych wyżej partycji. Plik scatter.txt dla Neffos C5 MAX Tutaj znajduje się plik scatter.txt (mt6753-neffos-c5-max-tp-link-scatter.txt), który ja wykorzystałem do pracy z Neffos C5 MAX. Kluczowa sprawa, to opisanie każdej partycji. W sumie to musimy odpowiednio dostosować pole partition_index , które jest zwyczajnie kolejnym numerkiem. Z kolei w partition_name podajemy nazwę partycji, którą uzyskaliśmy przez adb . Dalej w linear_start_addr oraz physical_start_addr wpisujemy tę wartość, która została wypisana przez adb w kolumnie Start . Na podobnej zasadzie uzupełniamy partition_size , podając wartość, którą widzieliśmy w adb w kolumnie Size . I to w zasadzie wszystkie zmiany, które musimy wprowadzić do pliku scatter.txt . Póki co nie mam informacji co do pozostałych opcji w tym pliku, wiem tylko, że część z nich jest uzupełniana przez SP Flash Tool podczas przeprowadzania działań w tym programie. Tworzenie backupu Mając plik scatter.txt możemy go wskazać w SP Flash Tool. Przechodzimy zatem do katalogu z wypakowaną zawartością pobranej paczki i uruchamiamy SP Flash Tool wpisując w terminalu ./flash_tool . Powinniśmy zobaczyć okienko, z kilkoma zakładkami. Na jednej z nich widnie napis Download . W niej z kolei znajduje się pozycja Scatter-loading file . To tutaj musimy wskazać ścieżkę do pliku scatter.txt , który utworzyliśmy wcześniej: Teraz przechodzimy na zakładkę Readback i tam dodajemy nową pozycję w tabelce. To tutaj określamy przestrzeń flash'a w telefonie, która zostanie skopiowana na dysk komputera. Nas interesuje cały flash. Dlatego też początek ustawiamy na 0x0 , a koniec musimy obliczyć z danych dostarczanych przez adb . Interesuje nas ostatnia partycja. Ma ona początek na 0x3ab780000 , a jej rozmiar to 0x80000 . Te dwie wartości musimy do siebie dodać, w wyniku czego otrzymujemy 0x3ab800000 i to tę wartość wpisujemy w SP Flash Tool. Region określamy jako EMC_USER : Dodajemy również drugą pozycję, która zrobi nam backup preloader'a. Z tym, że tutaj wybieramy region EMMC_BOOT_1 i określamy początek jako 0x0 , a koniec jako 0x40000 : Teraz wyłączamy telefon. Następnie w SP Flash Tool aktywujemy proces backup'u Neffos'a C5 MAX przyciskając Read Back . Podłączamy telefon do portu USB komputera. Po chwili smartfon powinien nam zawibrować ale nie uruchomi się. Rozpocznie się za to kopiowanie danych z telefonu na dysk. Proces backup'u potrwa dłuższą chwilę. W moim przypadku trwało prawie dwie godziny (transfer na poziomie 3 MiB/s). Ten backup jest nas w stanie zabezpieczyć na wypadek popełnionych błędów przy flash'owaniu telefonu. Podejrzymy jeszcze ten obraz w fdisk/gdisk , by mieć absolutną pewność, że jest w nim faktyczna kopia flash'a Neffos'a C5 MAX: Jak odblokować bootloader w Neffos C5 MAX Mając zrobiony kompletny backup flash'a, możemy przejść do odblokowania bootloader'a. Chodzi o to, że na smartfonach zwykle jest ulokowana partycja /recovery/ . Na niej znajduje się oprogramowanie umożliwiające przeprowadzanie operacji na poziomie systemowym, np. backup lub też flash'owanie ROM'u. Problem w tym, że to oprogramowanie w standardzie zwykle za wiele nie potrafi i by przeprowadzić proces root'owania Androida, musimy pozyskać bardziej zaawansowany soft, np. ClockworkMod czy TWRP, i wgrać go na partycję /recovery/ . By to zrobić musimy pierw odblokować bootloader. Proces odblokowania bootloader'a usuwa wszystkie dane, które wgraliśmy na flash telefonu, tj. podczas odblokowywania jest inicjowany factory reset. Dane na karcie SD pozostają nietknięte. By ten proces zainicjować zaczynamy od przestawienia jednej opcji w telefonie. W tym celu musimy udać się w Ustawienia => Opcje Programistyczne i tam przełączyć Zdjęcie blokady OEM : Następnie wyłączamy telefon i włączamy go trzymając Volume Up + Power. Z menu wybieramy tryb fastboot. Następnie w terminalu wpisujemy poniższe polecenia: # fastboot devices 8HCMMZFI89ROBI9H fastboot # fastboot oem unlock Na ekranie smartfona powinno nam pokazać się poniższe ostrzeżenie: Unlock bootloader? If you unlock the bootloader, you will be able to install custom operating system software on this phone. A custom OS is not subject to the same testing as the original OS, and can cause your phone and installed application to stop working properly. To prevent unauthorized access to your personal data, unlocking the bootloader will also delete all personal data from your phone "factory reset". Press the Volume UP/Down buttons to select Yes/No. Wciskamy Volume Up, by potwierdzić chęć odblokowania bootloader'a, po czym restartujemy smartfon: # fastboot reboot Jako, że proces odblokowania bootloader'a usunął wszelkie ustawienia, to jeszcze raz musimy włączyć Opcje Programistyczne, a w nich tryb debugowania portu USB. Wyodrębnianie obrazu partycji /recovery/ z obrazu Neffos'a C5 MAX Mając zrobiony backup flash'a telefonu, możemy z niego wyciągnąć obraz partycji /recovery/ . Musimy tylko zamontować ten obraz w systemie za pomocą losetup . Pamiętajmy, że ten obraz ma wiele partycji. Trzeba zatem nieco dostosować moduł kernela, by wszystkie z tych partycji zostały zamontowane za pomocą jednego polecenia. Informacje na temat tego jak dostosować moduł loop znajdują się tutaj. Przechodzimy zatem w miejsce, w którym zapisaliśmy obraz i montujemy go w poniższy sposób: # cd /path/to/image/ # losetup /dev/loop0 ROM_0 Teraz tworzymy obraz partycji /recovery/ . W tym przypadku /dev/loop0p8 jest urządzeniem, które musimy podać dd : # dd if=/dev/loop0p8 of=./recovery.img # file recovery.img recovery.img: Android bootimg, kernel (0x40080000), ramdisk (0x44000000), page size: 2048, cmdline (bootopt=64S3,32N2,64N2) Pozyskanie obrazu recovery.img z TWRP Musimy także pozyskać obraz recovery.img zawierający TWRP. Niestety, póki co nie ma obrazów dla Neffos'a C5 MAX. Dlatego też musimy sobie taki obraz recovery.img stworzyć sami przerabiając inny obraz, który jest przeznaczony na telefon zbliżony parametrami do naszego urządzenia (ten sam SoC, wielkość flash i rozdzielczość ekranu). Tutaj znajduje się gotowy obraz recovery, który można wgrać na telefon (recovery-neffos-c5-max-tp-link-twrp.img). Warto tutaj zaznaczyć, że nie zawsze taki obraz będzie nam działać bez problemu. W takim przypadku trzeba próbować innych obrazów, aż któryś zadziała. Nie musimy się tez obawiać wgrania złego obrazu na partycję /recovery/ . Jeśli zdarzy nam się wgrać niedziałający obraz recovery.img , to nie uszkodzimy smartfona. Zamiast tego telefon się zrestartuje i przywróci sobie starą partycję /recovery/ , a nas zaloguje do systemu jak gdyby nigdy nic. Przepakowanie obrazu recovery.img z innego smartfona By przepakować obraz przeznaczony na inny smartfon, który jest zbliżony parametrami do naszego Neffos'a C5 MAX, musimy pierw pozyskać odpowiednie narzędzia. Na linux'ie możemy skorzystać tego celu z abootimg lub też ze skryptów Android Image Kitchen. Ja będę korzystał z tego drugiego rozwiązania. Tworzymy sobie jakiś katalog roboczy i kopiujemy do niego zarówno oryginalny obraz partycji /recovery/ jak i ten z innego smartfona. Następnie znajdując się w tym katalogu roboczym, pobieramy skrypty z github'a (wymagane zainstalowane narzędzie git w systemie) i przechodzimy do utworzonego w ten sposób katalogu. W nim zaś tworzymy dwa podkatalogi stock/ oraz port/ : $ git clone https://github.com/ndrancs/AIK-Linux-x32-x64/ $ chmod +x ./AIK-Linux-x32-x64/* $ chmod +x ./AIK-Linux-x32-x64/bin/* $ cd ./AIK-Linux-x32-x64/ $ mkdir stock/ port/ Kopiujemy oryginalny obraz partycji /recovery/ z katalogu nadrzędnego i wypakowujemy go za pomocą skryptu unpackimg.sh . Następnie przenosimy tak wyodrębnioną zawartość do katalogu stock/ : $ cp ../recovery_orig.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ stock/ $ rm recovery.img Kopiujemy teraz obraz partycji /recovery/ mający TWRP i wypakowujemy go. Przenosimy jego zawartość do katalogu port/ : $ cp ../recovery_twrp.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ port/ $ rm recovery.img Zgodnie z informacją zawartą w tym HOWTO (windows), musimy przekopiować kilka plików z oryginalnego obrazu naszego Neffos'a C5 MAX do obrazu TWRP: $ cp ./stock/split_img/recovery.img-kerneloff ./port/split_img/ $ cp ./stock/split_img/recovery.img-zImage ./port/split_img/ $ cp ./stock/ramdisk/fstab.mt6735 ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.modem.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.project.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.rc ./port/ramdisk/ $ cp ./stock/ramdisk/ueventd.rc ./port/ramdisk/ Z tak przygotowanych plików w katalogu port/ trzeba zrobić nowy obraz recovery.img przy pomocy skryptu repackimg_x64.sh : $ rm -R stock/ $ mv port/ramdisk ./ $ mv port/split_img ./ $ rmdir port/ $ ./repackimg_x64.sh W katalogu roboczym powinien zostać utworzony nowy plik o nazwie image-new.img . To jest właśnie nasz nowy obraz partycji /recovery/ , który musimy wgrać na telefon w trybie fastboot. Wgrywanie przepakowanego obrazu recovery.img na Neffos'a C5 MAX Wyłączamy telefon i podpinamy go do portu USB. Następnie włączamy go trzymając VolumeUP + Power. Z menu, które nam się pokaże na ekranie telefonu wybieramy tryb fastboot. Wracamy na komputer i przy pomocy narzędzia fasboot wgrywamy wyżej wygenerowany obraz na telefon. # fastboot flash recovery image-new.img target reported max download size of 134217728 bytes sending 'recovery' (12868 KB)... OKAY [ 1.125s] writing 'recovery'... OKAY [ 0.360s] finished. total time: 1.485s Restartujemy telefon ( fastboot reboot ) i wchodzimy w tryb recovery (VolumeUp + Power), by potwierdzić, że nasz nowy obraz recovery się wgrał pomyślnie. W przypadku wgrania poprawnego obrazu, powinniśmy zobaczyć logo TWRP. Jeśli wgrany obraz był nieprawidłowy, to zobaczymy jedynie czarny ekran i nasz Neffos C5 MAX się po chwili uruchomi ponownie w normalnym trybie przywracając oryginalną partycję /recovery/ . SuperSU, BusyBOX, RootCheck i emulator terminala Ostatnią rzeczą na drodze do zrobienia root na Neffos C5 MAX jest wgranie aplikacji umożliwiającej korzystanie różnym programom z praw administratora systemu w telefonie. My skorzystamy z SuperSU. Dodatkowo, musimy wgrać sobie BusyBOX, który zawiera minimalistyczne odpowiedniki linux'owych narzędzi, co pozwoli nam swobodnie operować w Androidzie, tak jakbyśmy to robili pod pełnowymiarowym pingwinem. Potrzebny nam także będzie jakiś emulator terminala, w którym to będziemy wpisywać wszystkie nasze polecenia. Instalacja SuperSU Zacznijmy od pobrania stosownej paczki z SuperSU. Jako, że my nie mamy jeszcze zrobionego root'a, to musimy pobrać TWRP / FlashFire installable ZIP . Tej paczki nie wypakowujemy, tylko wrzucamy ją w pobranej formie na kartę SD w telefonie. Odpalamy teraz tryb recovery w smartfonie (VolumeUp + Power) i przechodzimy do Instaluj (TWRP jest również w języku polskim): Następnie wskazujemy paczkę .zip , którą umieściliśmy na karcie SD. Tam z kolei zaznaczamy Weryfikuj sygnatury pliku zip i przeciągamy trzy strzałki na prawą stronę. Teraz możemy uruchomić ponownie Neffos'a C5 MAX i zainstalować jakąś aplikację, która pokaże nam czy nasz smartfon ma root'a. Sprawdzenie czy Neffos C5 MAX ma root'a Po uruchomieniu się systemu na smartfonie, instalujemy aplikację RootCheck, po czym uruchamiamy ją. Powinien się pojawić monit informujący, że ta aplikacja żąda praw administracyjnych, na co zezwalamy. Jeśli nasz telefon ma root'a, to powinien się pojawić stosowny komunikat: Instalacja BusyBOX Kolejnym krokiem jest instalacja BusyBOX'a. Po wgraniu tej aplikacji na smartfona, musimy ją uruchomić i wcisnąć w niej przycisk install . BusyBOX również nas poprosi o dostęp do praw administracyjnych: Po zainstalowaniu, weryfikujemy jeszcze, czy aby wszystko zostało pomyślne wgrane. Możemy to zrobić zarówno w samej aplikacji BusyBOX, jak i w CheckRoot: Instalacja terminala Z BusyBOX'em zostały dostarczone niskopoziomowe narzędzia, które mogą korzystać z uprawnień administratora systemu za sprawą SuperSU. Niemniej jednak, by móc odpalać te programiki, musimy w czymś je uruchomić. Do tego celu potrzebny jest nam shell oraz emulator terminala. Domyślny shell ash jest dostarczany razem z BusyBOX. Terminal musimy doinstalować osobno. Generalnie to znalazłem dwa terminale, które są OpenSource i bez reklam/opłat. Są to Android-Terminal-Emulator oraz Termux. Wybieramy sobie jeden z nich i instalujemy w systemie. Tutaj warto jeszcze zaznaczyć, że ten drugi terminal instaluje sobie również shell dash (domyślny shell w Debianie) . Również w jego przypadku możemy łatwo doinstalować sobie aplikacje za pomocą apt , podobnie jak w Debianie (do tego celu nie jest wymagany root). Jako, że ja korzystam na co dzień z Debiana, to instaluje Termux'a. Aplikacje i prawa administracyjne Teraz już pozostało nam tylko odpalenie terminala i zalogowanie się na użytkownika root. Do tego celu służy polecenie su . Wpiszmy je zatem w okienku Termux'a: I teraz możemy uruchamiać aplikacjie z prawami admina, tak jak to zwykliśmy robić w każdym innym linux'ie. Pamiętajmy tylko, że standardowo system plików jest zamontowany w trybie tylko do odczytu (RO) i by móc zmieniać pliki systemowe z poziomu tego terminala, musimy przemontować system plików w tryb do zapisu (RW). Robimy to w poniższy sposób: $ su # mount -o remount,rw /system Gdy skończymy się bawić, to montujemy ten system plików ponownie w tryb RO: # mount -o remount,ro /system
  8. Proces root na smartfonie Neffos C5 MAX od TP-LINK można przeprowadzić w miarę bez większych problemów, choć nie jest to rozwiązanie działające OOTB. Niemniej jednak, taki root telefonu czyni go bardziej podatnym na zagrożenia ze strony wrogich aplikacji. Ponadto, kasując czy też zmieniając pliki systemowe, możemy sprawić, że nasze urządzenie zwyczajnie przestanie nam działać, tj. już się nie uruchomi. Niektórzy użytkownicy smartfonów nie zdają sobie z tego sprawy i ukorzeniają Androida bez głębszego zastanowienia się. Mi jako linux'iarzowi, root jest niezbędny do pracy ale czy aby na pewno każdy musi go mieć? Ci z was, którzy taki root systemu przeprowadzili i nie korzystają z niego praktycznie wcale, zastanawiają się pewnie czy istnieje sposób, by cofnąć wprowadzone zmiany i przywrócić Androida do stanu pierwotnego. Krótka odpowiedź brzmi: "oczywiście, że tak" i temu procesowi przyjrzymy się w niniejszym artykule. Czy potrzebny mi jest root Android'a Standardowo w Androidzie każda aplikacja zainstalowana w telefonie ma przypisane indywidualne UID/GID (użytkownika i grupę). Żadna aplikacja nie jest w stanie odczytać danych innych programów, które zainstalowaliśmy w systemie. Zaprzęgając mechanizm root dajemy możliwość pewnym aplikacjom na dostęp do danych każdego innego programu. Jeśli teraz wgramy podejrzaną aplikację, to może ona wykorzystać fakt ukorzenienia Androida i uzyskać dostęp do poufnych danych czy nawet przejąc całkowitą kontrolę nad systemem operacyjnym telefonu, wliczając to podsłuch z mikrofonu, kamery i klawiatury. Dlatego też w pewnych sytuacjach root Androida nie jest wskazany. Trzymając się pewnych zdroworozsądkowych zasad można uniknąć zagrożeń, które niesie ze sobą root systemu. Niemniej jednak, jeśli niezbyt rozważnie korzystamy z telefonu, np. pobieramy aplikacje bez ich uprzedniej weryfikacji, to root może tylko przyczynić się do kompromitacji zabezpieczeń telefonu, przez co potencjalny atakujący może bez problemu uzyskać dostęp, np. do danych konta bankowego. Jakie zmiany po przeprowadzaniu procesu root można cofnąć Standardowo na smartfonie z Androidem mamy min. partycję /system/ oraz /data/ . Na /system/ znajduje się fabryczny Android, czyli ten system, który w tym przypadku został wypuszczony przez TP-LINK. Tej partycji nie można zapisać bez przeprowadzenia procesu ukorzeniania systemu. Z kolei zaś na partycji /data/ są przechowywane wszystkie zmiany jakie użytkownik telefonu wprowadził, np. za sprawą wgrania plików, zmiany konfiguracji/ustawień czy aktualizacji poszczególnych aplikacji. W przypadku posiadania smartfona, który przeszedł proces root, to na takim urządzeniu zostały poczynione pewne zmiany. Przede wszystkim, aplikacje SuperSU i BusyBox wgrały nam pliki do katalogu /system/xbin/ (przynajmniej na Android 5.1 Lollipop). Dodatkowo, każda aplikacja wymagająca uprawnień administratora mogła również wprowadzić jakieś zmiany na partycji /system/ . Wszelkie niestandardowe zmiany (edycja/dodanie/usunięcie plików systemowych) wprowadzane czy to przez nas czy przez aplikacje wymagające root mogą zostać cofnięte przez wgranie wcześniej zrobionego backup'u flash'a telefonu. Oczywiście nie musimy wgrywać całego backup'u, a jedynie tę część, na której znajduje się partycja /system/ oraz /data/ . O ile przywrócenie partycji /system/ jest wielce niezbędne, o tyle przywrócenie partycji /data/ może trwać sporo czasu. Biorąc pod uwagę, że są tam jedynie dane użytkownika, których nie ma za wiele tuż po wyjęciu smartfona z pudełka, to przydałoby się wyczyścić również i tę przestrzeń przed odkorzenieniem Androida. Ten proces możemy przeprowadzić korzystając z Factory Reset z poziomu systemu. Powinien nam on efektywnie te dane bardzo szybko usunąć. Trzeba także pamiętać, że zmiany wprowadzone w procesie ukorzeniania telefonu nie ograniczają się jedynie do partycji /system/ . Została zmieniona przecież także partycja recovery , bez której nie byłby możliwy root Neffos'a C5 MAX. Tę partycję również musimy przywrócić. Odinstalowanie SuperSU (unroot) Od czego zatem zacząć powrót do stock'owego oprogramowania naszego Neffos'a C5 MAX? To pytanie trzeba rozważyć pod kątem wprowadzanych zmian po dokonaniu procesu root. Jeśli nie były one zbyt zaawansowane, np. instalowaliśmy jedynie kilka aplikacji wymagających praw administracyjnych w celu odczytu plików systemowych, to możemy skorzystać z opcji dostępnej w SuperSU, tj. Pełny unroot : Pamiętajmy tylko, by usunąć wszelkie aplikacje wymagające root przed usunięciem SuperSU. W przypadku moich smartfonów Neffos C5 i Neffos C5 MAX, opcja unroot widoczna w SuperSU nie zadziałała z początku. Po przyciśnięciu na ekranie pojawiła się jedynie informacja o czyszczeniu, a proces się zawiesił. Jeśli też natrafiliśmy na tego typu problem, to trzeba zresetować smartfon i ponowić proces unroot bezpośrednio po włączeniu urządzenia. Po odinstalowaniu SuperSU trzeba uruchomić smartfon ponownie. Spróbujmy się teraz zalogować na użytkownika root z poziomu jakiegoś terminala. Powinniśmy zobaczyć poniższy komunikat: Nie musimy się obawiać o dane zgromadzone na partycji /data/ , bo nie zostaną one ruszone w żaden sposób. Podobnie sprawa ma się w przypadku karty SD. No i nie zostaną cofnięte żadne zmiany na partycji /system/ , oczywiście w przypadku, gdy coś zmienialiśmy. Zatem widzimy, że proces likwidacji root w Neffos C5 MAX jest praktycznie automatyczny. Niemniej jednak, co w przypadku, gdy mamy jakieś zmiany na partycji /system/ lub też wgraliśmy niestandardowy ROM? Odpowiedź jest prosta: trzeba przeprowadzić Factory Reset, który wyczyści dane na partycji /data/ oraz przywrócić partycję /system/ z wcześniej utworzonego backupu flash'a smartfona. Trzeba będzie także przywrócić partycję recovery , bo nie została ona odtworzona w procesie unroot przeprowadzonym z poziomu SuperSU. Factory Reset W przypadku wprowadzenia zmian na partycji /system/ (innych niż wgranie SuperSU i BusyBox) dobrze jest pierw usunąć wszystkie dane znajdujące się na partycji /data/ . Chodzi o to, że pliki zgromadzone na tej partycji mogą generować różne problemy w sytuacji, gdy przywraca się oryginalny ROM. Nie jest to regułą ale jeśli chcemy uniknąć błędów, to zalecane jest przeprowadzić pierw Factory Reset. Oczywiście możemy ten krok całkowicie pominąć. W przypadku ewentualnych problemów po flash'owaniu telefonu, Factory Reset będziemy mogli przeprowadzić z poziomu trybu recovery (przyciski Power + Volume UP trzymane podczas startu telefonu). Jeśli jednak chcemy wyczyścić wszystkie dane na partycji /data/ przed flash'owaniem telefonu, to możemy to zrobić z poziomu działającego systemu przechodząc do Ustawienia => Kopia i kasowanie danych => Ustawienia fabryczne: Przywrócenie partycji /system/ na Neffos C5 MAX Jak już zostało wspomniane wyżej, na partycji /system/ znajduje się ROM TP-LINK z Androidem 5.1 (Lollipop). By powrócić do niego, musimy przywrócić całą partycję. Możemy to zrobić z poziomu aplikacji SP Flash Tool, oczywiście zakładając, że pierw utworzyliśmy backup flash. Zamontujmy ten backup w systemie przy pomocy poniższego polecenia: # losetup /dev/loop0 /media/Kabi/neffos/backup_phone/NeffosC5MAX-orig.img W systemie powinniśmy mieć dostęp do szeregu partycji tego obrazu. Jeśli się tak nie stało to musimy odpowiednio skonfigurować moduł loop. Podejrzymy także w gdisk jak prezentuje się tablica partycji samego obrazu. Interesuje nas generalnie pozycja system : # gdisk -l /media/Kabi/neffos/backup_phone/NeffosC5MAX-orig.img Number Start (sector) End (sector) Size Code Name ... 20 360448 8749055 4.0 GiB 0700 system ... Widzimy przy niej numer 20. Teraz w systemie odszukujemy urządzenie loop mające numer 20. W moim przypadku jest to /dev/loop0p20 . Możemy także zamontować tę partycję, by się upewnić, że faktycznie znajduje się na niej stock'owy system: # mount -o ro /dev/loop0p20 /mnt Jeśli nie ma żadnego błędu i możemy przeglądać katalog /mnt/ bez problemu, oznacza to, że jest to ta partycja, której dane musimy przesłać na smartfona. Odmontujmy ją zatem i zrzućmy dane z tego urządzenia loop do pliku przy pomocy dd : # dd if=/dev/loop0p20 of=./orig_system.img bs=2M 2048+0 records in 2048+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 216.991 s, 19.8 MB/s Mając wyodrębnioną partycję /system/ możemy ją wgrać na smartfon przy pomocy SP Flash Tool. Potrzebna nam jest tylko mapa przestrzeni flash, a ta siedzi w pliku mt6753-neffos-c5-max-tp-link-scatter.txt. Jest tam również pozycja dotycząca partycji /system/ . Odpalamy zatem SP Flash Tool i przechodzimy na zakładkę Download, gdzie wskazujemy nasz plik scatter.txt : Mamy tutaj wyszczególnione obszary pamięci flash w Neffos C5 MAX, które możemy zapisać. Nas interesuje w tej chwili tylko pozycja system . Zaznaczamy ją i upewniamy się, że nad tabelką wybraliśmy Download Only . Może i tutaj jest słówko Download ale trzeba patrzyć na ten proces z perspektywy telefonu, czyli to on będzie pobierał dane z komputera. Podłączamy teraz Neffos'a C5 MAX do portu USB komputera. Następnie w SP Flash Tool przyciskamy przycisk Download i wyłączamy telefon. Następnie próbujemy go uruchomić w trybie recovery przyciskając przycisk Power + Volume UP jednocześnie. Smartfon się nie uruchomi ale rozpocznie się proces flash'owania. Sam proces powinien zakończyć się powodzeniem. Teraz można wyciągnąć smartfona z portu USB i uruchomić. Przywrócenie partycji recovery W przypadku partycji recovery możemy postąpić dokładnie w taki sam sposób, tj. wgrać stock'owy obraz przy pomocy SP Flash Tool. Niemniej jednak, nie musimy tego robić po wgraniu obrazu partycji /system/ . W moim przypadku, partycja recovery została automatycznie odtworzona po wgraniu obrazu partycji /system/ . Sprawdzenie czy Neffos C5 MAX ma root'a Ostatnią rzeczą, która nam została to na własne oczy przekonanie się czy wszystkie zmiany zostały cofnięte. Factory reset powinien nam wyczyścić wszystkie dane na partycji /data/ . Powinniśmy mieć także stock'ową partycję /system/ oraz recovery . Z kolei root możemy sprawdzić za pomocą Root Check: Zablokowanie bootloader'a Ostatnią rzeczą, którą musimy zrobić, to zablokowanie bootloader'a. Odpalamy zatem smartfon w trybie fastboot (Power + VolUp). Podłączamy także urządzenie do portu USB komputera i wpisujemy w terminalu poniższe polecenie: # fastboot oem lock ... (bootloader) Start lock flow OKAY [4.132s] finished. total time: 4.132s Po wydaniu tej komendy, na ekranie smartfona pojawi się poniższa informacja: If you lock the bootloader you will need to install official operating system software on this phone. To prevent unauthorized access to your personal data, locking the bootloader will also delete all personal data from your phone (a "Factory data reset"). Press the Volume Up/Down button to select Yes or No. Yes (Volume Up) Lock bootloader No (Volume Down) Do not lock bootloader Proces zablokowania bootloader'a usuwa wszystkie dane użytkownika (Factory Reset), zatem upewnij się, że zrobiliśmy ewentualny backup. Przyciskamy teraz Volume Up. Po chwili zostaniemy przeniesieni do menu wyboru. Restartujemy telefon wpisując w terminalu poniższe polecenie: # fastboot reboot Smartfon zrestartuje się parokrotnie podczas procesu blokowania bootloader'a ale ostatecznie system powinien się bez większego problemu załadować na domyślnych ustawieniach.
  9. By nieco ogarnąć informacje na temat ukorzeniania Androidów w smartfonach Neffos, postanowiłem zebrać je w tym wątku. To tak na wypadek, gdyby ktoś potrzebował szybkiego przekierowania do odpowiednich tematów opisujących proces root każdego z modeli tych telefonów. Póki co zdołałem opisać proces root na smartfonach Neffos C5, Neffos C5 MAX i Neffos Y5 ale na tym na pewno nie poprzestanę. Część informacji zawartych w poradnikach opisujących proces uzyskiwania dostępu root została spisana w celach informacyjnych. W zasadzie to nie trzeba przeprowadzać wszystkich kroków, by ukorzenić Androida na swoim Neffos'ie. Jedyne czego potrzebujemy to obraz recovery.img, do którego link jest zamieszczony w każdym z poradników. Taki obraz trzeba wgrać na flash telefonu via fastboot. Opcjonalnie można zrobić backup flash'a smartfona. Natomiast pozyskiwanie i przepakowanie obrazu recovery.img z innego smartfona można sobie odpuścić zupełnie. Narzędzia ADB i FASTBOOT HowTo: Instalacja narzędzi ADB i fastboot pod linux Neffos C5 HowTo: Root smartfona Neffos C5 od TP-LINK Jak przeprowadzić unroot na smartfonie Neffos C5 od TP-LINK Neffos C5 MAX HowTo: Root smartfona Neffos C5 MAX od TP-LINK Jak przeprowadzić unroot na smartfonie Neffos C5 MAX od TP-LINK Neffos Y5 HowTo: Root smartfona Neffos Y5 od TP-LINK Jak przeprowadzić unroot na smartfonie Neffos Y5 od TP-LINK Neffos Y5L HowTo: Root smartfona Neffos Y5L od TP-LINK Jak przeprowadzić unroot na smartfonie Neffos Y5L od TP-LINK Proces Root Integrity Check Smartfony Neffos są wyposażone w mechanizm, który jest w stanie zweryfikować integralność danych w systemie. W przypadku powracania ze zrootowanego Androida do stock'owego firmware TP-LINK'a dobrze jest przeprowadzić proces Root Integrity Check z poziomu trybu recovery tak, by upewnić się, że faktycznie powróciliśmy do oryginalnego oprogramowania oraz, że nie będzie problemów z ewentualnymi aktualizacjami systemu telefonu w późniejszym czasie. Problemy z bezpieczeństwem Trzeba sobie zdawać, że przeprowadzenie procesu root godzi w bezpieczeństwo danych przechowywanych w telefonie. Jeśli zamierzamy przeprowadzić proces root swojego Neffos'a, to koniecznie zapoznajmy się z tym wątkiem pokazującym mechanizmy bezpieczeństwa, które przestają spełniać swoje funkcje.
  10. Jeszcze nie tak dawno temu ludzkość była w stanie obejść się bez komputera, a dzisiaj raczej już wszyscy mamy z nim styczność w większym lub mniejszym stopniu. Spora część osób nawet sobie tego faktu nie uświadamia mając jednocześnie w kieszeni smartfona czy jakiś inny telefon, a przecie te urządzenia są w zasadzie komputerami, tylko nieco mniejszymi w porównaniu do desktopowych odpowiedników. Na dobrą sprawę to właśnie dzięki tym sprzętom jesteśmy w stanie komunikować się z osobami na drugim końcu świata prawie w czasie rzeczywistym. Jakby wyglądał nasz świat bez tych malutkich i niepozornych stworzeń informatycznych, które towarzyszą nam w codziennym życiu praktycznie non stop? Na to pytanie raczej każdy z nas musi sobie sam udzielić odpowiedzi, bo ta technologia niekoniecznie zmieniła otaczającą nas rzeczywistość w stopniu jednakowym dla nas wszystkich. Niemniej jednak, rozwój technologiczny ciągle postępuje i obecnie mamy na rynku smartfony 4 czy nawet 8 rdzeniowe wyposażone w 2-4 GiB RAM. Jakiś czas temu byłem w stanie przetestować smartfon Neffos C5 od TP-LINK, który miał właśnie 4 rdzenie i 2 GiB pamięci operacyjnej. Niemniej jednak, ten producent ma również w ofercie i inne modele telefonów, min. Neffos C5 MAX (TP702A), który również trafił w moje łapki. Postanowiłem zatem go poddać testom i sprawdzić czy jest on w stanie zadowolić takiego wybrednego linux'iarza jak ja. Zawartość opakowania Opakowanie, w którym dotarł do mnie Neffos C5 MAX, jest raczej standardowe jak na pudełko skrywające w środku smartfon i bardzo podobne do tego, które miał Neffos C5, z tym, że nieco większe. Poniżej zaś znajduje się cała zawartość opakowania: Poza samym smartfonem, w zestawie mamy również słuchawki z wtykiem minijack 3,5 mm: Jest też ładowarka 2A/5V: Jak i również standardowy przewód USB, przy pomocy którego możemy podłączyć smartfon do ładowarki jak i bezpośrednio do portu USB komputera. Specyfikacja Neffos C5 MAX Ten model Neffos'a C5 MAX, który do mnie dotarł jest w kolorze białym, choć są również i czarne/grafitowe. Dla mnie kolor nie ma większego znaczenia o ile urządzenie działa i realizuje powierzone mu funkcje bez zarzutu. Sam smartfon jest za do dość sporych rozmiarów (wy/sz/gr): 152x76x9 mm. Jak dla mnie, to jest on trochę za duży. Dla porównania Neffos C5 idealnie leżał w mojej łapce. Z kolei waga Neffos'a C5 MAX to około 160 gramów. Obudowa i jej wnętrze Obudowa smartfona Neffos C5 MAX jest generalnie z plastiku. Na lewej krawędzi nie ma umiejscowionych żadnych przycisków czy gniazdek, za to na prawej krawędzi znajduje się przycisk głośności (VolumeUp i VolumeDown) oraz przycisk zasilania (Power). W dolnym rogu mamy lekkie wcięcie umożliwiające łatwe otworzenie obudowy telefonu: Na górnej krawędzi smartfona mamy zaś jedynie gniazdko słuchawkowe: Za to na dolnej krawędzi jest standardowo port mikro USB oraz mikrofon do rozmów telefonicznych: Jeśli zaś chodzi o przód smartfona, to większość zajmuje naturalnie wyświetlacz. Przy górnej krawędzi mamy zaś (patrząc od lewej strony) czujnik światła, głośnik oraz aparat przedni 5 mpix (2560x1920 px fotki, 640x480 px video). Między głośnikiem, a aparatem jest również czerwona/zielona dioda powiadomień. Z tyłu Neffos'a C5 MAX mamy z kolei aparat 13 mpix (3120x4160 px fotki, 1920x1080 px video) z przysłoną f/2.0 . Z lewej strony aparatu mamy zaś dwie diody robiące za lampę błyskową jak i za latarkę. Nad aparatem został zaś ulokowany mikrofon z redukcją szumu. Ten tylny aparat jest w moim odczuciu sporo lepszy w porównaniu do tego, który jest w Neffos C5. Chodzi generalnie o jakość fotek czy filmów robionych przy słabym oświetleniu. Neffos C5 MAX radzi sobie z tym zadaniem o wiele lepiej. Niemniej jednak przedni aparat nie zachwyca, a video w 640x480 px nie przekracza progów moich minimalnych standardów. Generalnie to ja bym się nie obraził, gdyby tego aparatu przedniego zabrakło, bo użytek z niego nie jest zbyt wielki. Niżej przy dolnej krawędzi obudowy mamy dziurki na głośnik multimedialny: Wewnątrz obudowy znajdziemy za to baterię 3045 mAh. Niestety jest to wbudowana bateria i nie damy rady jej wyciągnąć i ewentualnie sami wymienić, gdy zajdzie taka potrzeba. Na plus za to można zaliczyć umiejscowienie slotów oraz karty SIM i kartę mikro SD (max. 32 GiB). Karty nie są blokowane w żaden sposób i można je bez problemu usnąć bez potrzeby wyłączania telefonu. Może nie jest ten zabieg zalecany w przypadku kart SIM ale jest to bardzo użyteczna właściwość w przypadku karty SD, którą można ręcznie odmontować w systemie i wyciągnąć bez uszkadzania zgromadzonych na niej danych. Wyświetlacz IPS 5,5" Neffos C5 MAX dysponuje wyświetlaczem IPS (In-Plane Switching) 5,5 cala o rozdzielczości 1920x1080 px chroniony szkłem Corning Gorilla. Ilość punktów na cal (PPI) to 403, co przekracza minimalne 300, przy których ludzkie oko może lekko się buntować patrząc na ekran, zwłaszcza podczas czytania tekstu. Czcionki są ostre i raczej nie mam im nic do zarzucenia. Jeśli zaś chodzi o kolory i kąty widzenia, to nie ma przekłamań kolorów przy spoglądaniu na telefon nawet pod dość ostrymi kątami. Kontrast (1600:1) jak i jasność ekranu również jest bardzo zadowalająca. Nie mogę złego słowa powiedzieć o maksymalnej jasność i raczej nie powinniśmy mieć problemów z operowaniem na smartfonie w bardzo słoneczne dni w środku lata. Niemniej jednak, minimalna jasność mogłaby być nieco niższa, tj. ekran mógłby być nieco ciemniejszy, bo w nocy jednak idzie odczuć lekki dyskomfort. Automatyczne dostosowanie jasności działa z lekkim opóźnieniem ale jest płynne. Pasywny Dual SIM To co jest standardem w przypadku telefonów produkowanych przez TP-LINK, to fakt implementacji dual SIM w każdym modelu smartfona, który został przez tego producenta wypuszczony na rynek. Każdy z tych SIM'ów może być 2G/3G/4G. Ja akurat bardzo cenię sobie to rozwiązanie, bo korzystam z niego non stop i chyba nie zaprzestanę, zwłaszcza po ostatnich doniesieniach w sprawie darmowego internetu Aero2, który będzie działał jeszcze co najmniej trzy lata. Mając dual SIM w smartfonie, mam również i darmowy internet. Choć jakby nie patrzeć brakuje mi jeszcze jednego gniazdka na dodatkowy SIM, także chciałbym się doczekać Neffos'a oferującego triple SIM (albo może i quad SIM). Może to dla wielu ludzi wydawać się dziwne ale dla zagorzałego zwolennika prepaidów, posiadanie karty SIM u kilku operatorów GSM jest wielce praktyczne i znacząco obniża koszty rozmów. Procesor MTK MT6753 (8 rdzeni) Smartfon Neffos C5 MAX jest póki co najmocniejszym smartfonem TP-LINK'a dostępnym na polskim runku. To co najbardziej wyróżnia ten telefon od pozostałych modeli tego producenta, to fakt zastosowania w nim 64-bitowego procesora MediaTek MTK MT6753 (datasheet), który włada 8 rdzeniami opartymi na architekturze ARM Cortex-A53 taktowanymi dynamicznie zegarem od 300 MHz do 1,3 GHz. Układ graficzny, który został zastosowany w tym smartfonie to ARM Mali-T720 MP3 taktowany zegarem 450 MHz będący w stanie obsłużyć wyświetlacz w rozdzielczości 1280 x 1920 pikseli (FHD) oraz nagrywać i odtwarzać materiały wideo w rozdzielczości maksymalnej 1080p przy 30 FPS'ach. Procesor graficzny posiada także wsparcie dla API takich standardów jak OpenGL ES 1.1/2.0/3.0, OpenCL 1.0/1.1/1.2 oraz DirectX9. Proces technologiczny tego SoC'a to 28 nm. Pamięć RAM i flash Podobnie jak i w przypadku dual SIM, dla mnie standardem jest również stosowanie w obecnych smartfonach 2 GiB pamięci operacyjnej RAM. Raczej bym się nie odważył na zakup telefonu z Androidem w wersji 5, 6 czy 7, który ma mniej niż 2 GiB RAM. Jest bowiem spore prawdopodobieństwo, że taki system nie będzie działał płynnie. Na szczęście Neffos C5 MAX spełnia moje minimalne wymagania w zakresie dostępnej pamięci operacyjnej, tj. ma 2 GiB, z czego około 500 MiB jest używane przez system i wbudowane aplikacje: Jeśli zaś chodzi o pamięć flash Neffos'a C5 MAX, to dysponuje on 16 GiB. Niemnie jednak, do dyspozycji użytkownika jest około 10 GiB. Nie wiem czemu TP-LINK tak marnotrawi miejsce w tych smartfonach z serii Cx. Jak się popatrzy na układ partycji na flash tych modeli telefonów, to partycja /system/ ma 4 GiB. Z czego obraz ROM'u zajmuje około połowy. Zatem bez przeprowadzenia procesu root Androida, to miejsce pozostanie niewykorzystane i na dzień dobry tracimy prawie 2 GiB, z których 3/4 można by z powodzeniem dodać do partycji /data/ , tj. na dane użytkownika. To marnotrawstwo jakże cennego miejsca na pamięci flash smartfona zdaje się być ograniczone w nowszych seriach Neffos'ów, dla przykładu Yx. W ich przypadku partycja /system/ jest troszeczkę większa niż sam ROM. W efekcie zamiast 10 GiB na dane, mamy około 12 GiB. Nie wiem czy da radę jakoś zaradzić tej sytuacji w przypadku Neffos'ów z serii Cx ale widziałem na necie możliwość przepartycjonowania flash'a smartfona. Jeśli uda mi się przeprowadzić taki proces z powodzeniem, to z pewnością podlinkuję go tutaj. Oczywiście nie obejdzie się bez ukorzeniania Androida. (FIXME) Bateria Jak widzieliśmy na jednej z powyższych fotek, w Neffos C5 MAX bateria jest niestety zamontowana na stałe. Niemniej jednak, ma te swoje 3000 mAh z lekkim hakiem. Jak wygląda sprawa ładowania baterii tego smartfona? Niby w zestawie jest dołączona ładowarka 2A/5V ale z tego co zauważyłem, to Neffos C5 MAX nie pobiera podczas ładowania więcej niż 0,92 A - 0,95 A. Dlaczego zatem TP-LINK dorzucił do zestawu taką ładowarkę? Dla kontrastu, w pozostałych modelach jest już ładowarka 1A/5V i w tym przypadku również by ona wystarczyła. Zostawmy może w spokoju sprawę samej ładowarki i przejdźmy do bardziej interesującej kwestii czyli do czasu ładowania tego smartfona 0% do 100%. Wygląda na to, że ten czas oscyluje w graniach 4 godzin, czyli jest to bardzo dużo. Wiemy zatem, że ten model nie wspiera szybkiego ładowania, a szkoda. Poniżej są wykresy z procesu ładowania: Jeśli zaś chodzi o rozładowanie baterii, to tutaj już sprawa wygląda dość przyzwoicie. Z szacunków Androida, w pełni naładowany Neffos C5 MAX będący w spoczynku rozładowuje się jakieś 22 dni. Jeśli zaś chodzi o rozładowanie baterii podczas używania telefonu, to ten czas ulega dość znacznemu skróceniu i wynosi około 8 godzin 20 i minut. Przynajmniej tyle zwrócił test wydajności przeprowadzany w PCMark dla Neffos C5 MAX. Głośnik i słuchawki Myślałem, że może ten wbudowany głośnik jest nieco lepszej jakości w Neffos C5 MAX w stosunku do Neffos C5 ale jednak mam wrażenie, że to dokładnie ten sam hardware i nie słyszę praktycznie żadnej różnicy w wydobywającym się dźwięku. Może i wielu użytkowników smartfonów traktuje te urządzenia jako zwykle telefony i uważa, że nie powinny one zbytnio wydawać z siebie żadnych odgłosów, a ewentualną muzykę lepiej słuchać przez słuchawki ale ja, gdy tylko mogę, to unikam stosowania słuchawek. Niemniej jednak, dźwięk w słuchawkach tych dołączonych do zestawu jest sporo lepszej jakości, choć też do najlepszych nie należy. Jeśli chodzi o dźwięk, to jednak bym oczekiwał czegoś więcej. Za to na plus mogę zaliczyć przesyłanie dźwięku przez protokół bluetooth. Czujniki Czujniki, w które został wyposażony Neffos C5 MAX, są raczej standardowe. Mamy tutaj akcelerometr, czujnik zbliżeniowy, czujnik światła no i magnetometr umożliwiający przerobienie smartfona na elektroniczny kompas: Niemniej jednak, brakuje mi tutaj żyroskopu, wysokościomierza, termometru, barometr no i oczywiście licznika Geigera. To tak na wypadek apokalipsy zombi. Może przesadzam ale ten licznik Geigera bardzo by mi się przydał. Łączność 2G/3G/LTE Neffos C5 MAX zalicza się do tej grupy smartfonów, które mają wbudowany modem LTE kategorii 4 (Cat4). Teoretycznie jesteśmy w stanie osiągnąć transfer na poziomie 150/50 mbit/s (download/upload), a jak wygląda realna prędkość? Muszę przyznać, że trochę się zdziwiłem: W sumie nigdy wcześniej się nie zbliżyłem do 100 mbit/s po LTE ale najwyraźniej mój operator GSM poprawił nieco swoją infrastrukturę sieci w okolicy. Ten modem obsługuje standardowe europejskie pasma częstotliwości dla LTE w technologi FDD, kanały B1/B3/B7/B8/B20 (2100/1800/2600/900/800 MHz). Neffos C5 Max jest także w stanie obsługiwać standardy DC-HSPA+/HSPA/UMTS: B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM: 850/900/1800/1900 MHz. WiFi 2,4 GHz Podobnie jak i bez LTE, szanujący się smartfon nie może się obejść bez WiFi. Neffos C5 MAX może i posiada obsługę WiFi ale jedynie w paśmie 2,4 GHz, a wiemy, że to pasmo jest ździebko zapchane. Obecnie dla mnie standardem jest obsługa sieć WiFi w paśmie 5 GHz. Bezprzewodowe routery oferujące takie połączenia są już praktycznie w zasięgu każdej osoby. Dlatego też uważam, że WiFi 5 GHz powinno w smartfonie się znaleźć. Ten nadajnik WiFi, który jest w Neffos'ie C5 MAX, obsługuje standard N do 150 mbit/s, czyli pojedynczy strumień przestrzenny. Transfer jaki udało mi się uzyskać za pomocą tego telefonu po WiFi oscylował w granicach 100 mbit/s, czyli mniej więcej standardowo. Jeśli zaś chodzi o zasięg WiFi, to też jest on raczej przeciętny. Poniżej jest fotka moich trzech AP rozmieszczonych po domu w różnych pomieszczeniach. Kanał 11 obrazuje siłę sygnału docierającą do smartfona z AP zlokalizowanego w tym samym pokoju. Na kanale 6 jest AP w odległości około 4 metrów + ściana. Na kanale 1 jest AP w odległości 6 metrów + trzy ściany: Udostępnianie połączenia 3G/LTE oraz WiFi (tethering) Neffos C5 MAX wspiera naturalnie tethering, czyli możliwość udostępniania połączenia internetowego (3G/LTE) komputerom podłączonym do smartfona po WiFi. Jest też możliwość udostępnienia połączenia WiFi, jeśli komputer podepniemy do portu mikro USB w telefonie. Raczej nie powinno być problemów z podłączeniem się do AP, który skonfigurujemy sobie na smartfonie. Niemniej jednak, z tego co obserwuję, to w Neffos'ach ESSID sieci WiFi zawiera spacje. Spacje w nazwach sieci są znane z tego, że powodują problemy z połączeniem. Zatem jeśli dane logowania do sieci podaliśmy prawidłowe ale nie możemy nawiązać połączenia, to zmieńmy sobie nazwę sieci WiFi na taką bez spacji. Jeśli chodzi zaś o udostępnianie połączenia via USB, to na linux działa ono bez większego problemu. Poniżej jest log z mojego Debiana po podpięciu Neffos'a C5 MAX do portu USB komputera i przełączeniu telefonu w tryb tethering'u: kernel: usb 2-1.1: new high-speed USB device number 8 using ehci-pci kernel: usb 2-1.1: New USB device found, idVendor=2357, idProduct=031e kernel: usb 2-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=4 kernel: usb 2-1.1: Product: Neffos kernel: usb 2-1.1: Manufacturer: TP-LINK kernel: usb 2-1.1: SerialNumber: 8HCMMZFI89ROBI9H kernel: usbcore: registered new interface driver cdc_ether kernel: rndis_host 2-1.1:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.1, RNDIS device, 26:fa:ce:b5:72:9d kernel: usbcore: registered new interface driver rndis_host Jedne co musimy zrobić, to skonfigurować adresację IP na interfejsie usb0 . Warto jeszcze tutaj zaznaczyć, że funkcja Turbo Pobieranie (o tym za moment) nie działa, gdy tethering jest aktywny. Bluetooth v4.0 (LE) W Neffos C5 MAX nie mogło zabraknąć również Bluetooth w wersji 4.0. Może nie jest to najnowsza wersja tego standardu ale najważniejsze, że mamy tutaj do czynienia z technologią Low Energy (LE), czyli w zamian za obniżony transfer danych, moduł bluetooth konsumuje o wiele mniej energii, co wydłuża czas pracy na baterii. A-GPS oraz GLONASS Korzystanie z analogowych map i kompasów raczej wychodzi z mody. Może warto jest mieć taki przeżytek jako backup na wypadek jakiegoś globalnego kataklizmu ale o wiele większe korzyści i komfort użytkowania daje nawigacja satelitarna, którą możemy mieć w telefonie o ile ten ma nadajnik GPS. Na szczęście Neffos C5 MAX takowe urządzenie również posiada. Ten smartfon wpiera takżę mechanizm A-GPS (Assisted GPS) oraz GLONASS (Globalnaja Nawigacionnaja Sputnikowaja Sistiema). A-GPS to system znacznie skracający czas potrzebny na pierwsze ustalenie położenia w systemie GPS (połączenie z satelitami). System ten wykorzystuje do działania serwery operatorów sieci GSM, przez co operator sieci komórkowej musi wspierać taką usługę. W przeciwnym razie będziemy mieli do dyspozycji jedynie zwykły GPS. GLONASS, z kolei to radziecki/rosyjski system nawigacyjny. To taka alternatywa dla amerykańskiego systemu GPS. Połączenie GPS i GLONASS daje możliwość bardzo akuratnych pomiarów, co przekłada się na szybsze i dokładniejsze ustalenie pozycji w terenie. Tu jeszcze tylko taka informacja, że Neffos C5 MAX ma wspólną antenę dla 2.4 GHz WiFi, 2.4 GHz Bluetooth i 1.575 GHz GPS. Radio FM Z radiem jest dokładnie taka sama sytuacja co w przypadku GPS. Mając internet raczej nie potrzebujemy już takiego wynalazku jak Radio FM, no bo przecie każda szanująca się rozgłośnia radiowa nadaje strumień w internecie, a mając dostęp do WiFi czy LTE/3G możemy bez problemu sobie dowolną stację włączyć i nie musimy przy tym się ograniczać do lokalnych stacji radiowych. Niemniej jednak, w przypadku cenzury, czy też na wypadek wojny, raczej internet zostanie zablokowany i dobrze jest mieć w zapasie zwykły odbiornik FM tak, by wiedzieć co się w świecie dzieje. By korzystać z tego radia trzeba mieć podłączone słuchawki, choć dźwięk można przesłać bezpośrednio na głośnik. OTG OTG to mechanizm umożliwiający podłączenie do portu mikro USB w smartfonie zewnętrznej klawiatury, myszy, dysku twardego, pendrive i innych tego typu urządzeń. Neffos C5 MAX jest póki co jedynym modelem, który wspiera OTG, choć w zestawie nie było dołączonego odpowiedniego adaptera. Generalnie taki przewód OTG nie jest drogi ale są dwie wersje. Ta bardziej ficzerzasta umożliwia dostarczenie zewnętrznego zasilania do podłączanych do smartfona urządzeń. Jeśli dysponujemy jedynie zwykłym adapterem, to taka klawiatura czy mysz jest zasilana przez smartfon. Ja akurat posiadam tylko zwykł kawałek przewodu ale mam też aktywny HUB USB 3.0 UH720, który może robić w roli zasilacza. Może i Neffos C5 MAX ma wsparcie dla OTG ale jest ono niepełne. Sprzęt taki jak klawiatura czy mysz będzie nam bez problemu na tym smartfonie działać, nawet bez dodatkowego zasilania ale już nie damy rady podłączyć dysku czy pendrive. Choć na dobrą sprawę nie wiem czemu, teoretycznie dioda na pendrive miga po podłączeniu do smartfona ale ten nie rozpoznaje urządzenia. Wygląda zatem na to, że brakuje w systemie jakiegoś modułu. Jestem zdania, że po ukorzenieniu Androida da radę obsługę zewnętrznych dysków włączyć, choć do końca jeszcze nie wiem jak ale jeśli będzie to możliwe to z pewnością to zrobię i podlinkuję tutaj stosowny artykuł. (FIXME) Turbo Pobieranie Kolejną ciekawą rzeczą, którą odróżnia smartfon Neffos C5 MAX od pozostałych modeli, to fakt wspierania czegoś co się nazywa Turbo Pobieranie. Standardowo w smartfonach z internetu możemy korzystać albo za sprawą domowego połączenia WiFi, albo też bezpośrednio przez łącze operatora GSM (dane pakietowe). Turbo Pobieranie oferuje nam możliwość wykorzystania obu tych łącz przy pobieraniu dużych plików. Gdy ta opcja jest aktywna, część pliku jest pobierana przez WiFi, a część przez operatora GSM. Jeśli zatem transfer na WiFi mamy 50 mbit/s i na łączu operatora GSM również 50 mbit/s, to taki plik będzie się pobierał w sumie 100 mbit/s. Wykorzystanie obu łącz jest monitorowane w czasie rzeczywistym: Android 5.1 Lollipop Smartfonem Neffos C5 MAX zarządza Android w wersji 5.1 (Lollipop). Szkoda, że jeszcze nie doczekaliśmy się aktualizacji do wersji 6.0. Nie wiem niestety czy i ewentualnie kiedy TP-LINK wypuści stosowny update. Niemniej jednak, ten system, który jest zainstalowany działa płynnie i nie mam mu praktycznie nic do zarzucenia. Komfort pracy na telefonie jest zadowalający. Smartfon się praktycznie nie grzeje i działa przyzwoicie. Jedyny minus to brak nowszej wersji systemu, no i może również fakt wykorzystywania oprogramowania FOTA od Adups, którego analiza wykazała, że przesyła ono prywatne informacje użytkowników gdzieś w świat. Poniżej jest zestawienie temperatur podczas standardowej pracy telefonu (po lewej) i przy 100% obciążeniu procesora (po prawej): Czy da radę przeprowadzić root na Neffos C5 MAX Proces ukorzeniania Androida na Neffos C5 MAX jest możliwy i jest on w miarę bezproblemowy. Opis jak przeprowadzić proces root smartfona Neffos C5 MAX jest dostępny tutaj. Jak Neffos C5 MAX sprawuje się pod linux Generalnie rzecz biorąc, Neffos C5 MAX nie sprawia problemów na linux'ie. Przynajmniej jeśli chodzi dystrybucję Debian, z której ja korzystam. Póki co biblioteka libmtp (v1.1.12) jeszcze nie rozpoznaje Neffos'a C5 MAX ale wkrótce to się powinno zmienić, bo odpowiednie zgłoszenie do developerów już posłałem. System plików telefonu można zamontować za pomocą jmtpfs i bez trudu można wymieniać dane z Androidem po USB. Transfer plików jest na poziomie 6-8 MiB/s. Podsumowanie Nie mam zbytnio większych zastrzeżeń do Neffos'a C5 MAX. W gry nie gram, a nawet jakbym grał, to z pewnością nie zadowoliłby mnie nawet smartfon za xxxx dolców (w x podstawić dowolną cyfrę). Aparat tylny mógłby być nieco lepszy i jeśli chodzi o mnie, to bez problemu bym poszedł na kompromis zakładający usunięcie przedniego aparatu, by tylko ten z tyłu smartfona robił zdjęcia w jeszcze lepszej jakości. Podoba mi się funkcja Turbo Pobierania jak i OTG. Skoda tylko, że OTG nie wspiera dysków czy pendrive. Najbardziej jednak mi się we znaki daje nie za dobra jakość dźwięku z głośnika no i brak WiFi 5 GHz. Gdyby te powyższe rzeczy poprawić, to w może w końcu trafię na niedrogi smartfon spełniający wszystkie moje oczekiwania.
  11. Dzięki uprzejmości TP-LINK Polska od jakiegoś czasu mam możliwość bawić się smartfonami Neffos, co można odczuć po sporej ilości artykułów dotyczących tych urządzeń. Postanowiłem przetestować możliwości każdego z tych telefonów dostępnymi benchmarkami na Androida, które można pobrać ze sklepu Google Play. Mnie generalnie tego typu benchmarki średnio interesują, bo zwykle nijak się mają do standardowego użytkowania telefonu ale wiem, że sporo użytkowników mobilnych technologi chciałaby tego typu test zobaczyć. Dlatego w oparciu o AnTuTu, 3DMark, PCMark oraz GFXBench zrobiłem kilka testów na każdym z podesłanych mi przez TP-LINK urządzeń. Smartfony, które wzięły udział w tym teście to: Neffos C5 MAX, Neffos C5, Neffos Y5 oraz Neffos Y5L. Ten artykuł dotyczy jedynie smartfona Neffos C5 MAX. Testy pozostałych modeli smartfonów zostaną opisane osobno. Parametry sprzętowe Neffos C5 MAX Neffos C5 MAX jest póki co najmocniejszym smartfonem od TP-LINK dostępnym na polskim rynku. Ma on 8 rdzeniowy procesor MTK MT6753 (Cortex-A53) taktowany częstotliwością maksymalną 1,3 GHz. Jest tam również procesor graficzny ARM Mali-T720 MP3. Do tego mamy również 2 GiB pamięci operacyjnej RAM. Jeśli chodzi zaś o wyświetlacz, to ma on 5,5" i rozdzielczość 1920x1080 (403.4 PPI). Smartfon działa zaś pod kontrolą systemu operacyjnego Android 5.1 Lollipop. Poniżej są fotki z CPU-Z: Wiemy zatem co Neffos C5 MAX ma z grubsza pod maską oraz jakim oprogramowaniem będziemy go testować. Pora zatem sprawdzić jakie wyniki zwrócą nam poszczególne aplikacje. Neffos C5 MAX vs. AnTuTu Neffos C5 MAX vs. GFXBench GFXBench ma w swojej ofercie kilka testów, których rozpiska jest zamieszczona poniżej: GFXBench jest w stanie rysować ciekawe wykresy podczas przeprowadzania konkretnych testów. Są tam min. wykresy temperatury i aktualnej częstotliwości pracy procesowa. Niemniej jednak, z nieznanych mi przyczyn te dwa wykresy nie były rysowane na żadnym z testowanych przeze mnie Neffos'ów. Dlatego też załączam jedynie podsumowanie oraz te wykresy, które zostały narysowane poprawnie. Neffos C5 MAX vs. PCMark PCMark również oferuje szereg testów, którym możemy poddać nasz smartfon. Poniżej jest rozpiska: Work 2.0 Performance Work 2.0 Battery Life Computer Vision Storage Work 1.0 Performance Neffos C5 MAX vs. 3DMark 3DMark również jest w stanie przeprowadzić kilka testów: Sling Shot ES 3.1 Sling Shot ES 3.0 Sling Shot Unlimited ES 3.1 Sling Shot Unlimited ES 3.0 Ice Storm Ice Storm Extreme Ice Storm Unlimited