Search the Community

Showing results for tags 'neffos y5l'.



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 13 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. W Androidzie 6.0 Marshmallow został wprowadzony ciekawy mechanizm zwany Adoptable Storage, który umożliwia zamontowanie karty SD w smartfonie jako pamięć wewnętrzna. W ten sposób pamięć flash w telefonach, które mają jej niewiele, może zostać nieco rozbudowana. Jedyny problem z tym całym Adoptable Storage jest taki, że Android szyfruje zawartość karty SD automatycznie, przez co nie jesteśmy w stanie odczytać żadnych informacji z takiego nośnika na innych urządzeniach. Istnieje jednak sposób, by rozszyfrować i tym samym uzyskać dostęp do danych zgromadzonych na karcie SD z poziomu linux'a, np. dystrybucji Debian. W tym artykule prześledzimy sobie właśnie ten proces na przykładzie smartfona Neffos Y5 od TP-LINK. Ukorzeniony Android Marshmallow (root) Jako, że w grę wchodzi szyfrowanie danych, to ten proces zwykle jest należycie chroniony przez system w naszym telefonie. Dlatego też dostęp do interesujących nas plików (np. via adb ) jest bardzo ograniczony. By uzyskać dostęp do tych plików, musimy posiadać ukorzeniony system na smartfonie, tj. przeprowadzić na nim proces root. W przypadku tych TP-LINK'owych smartfonów dostępnych na polskim rynku, to tylko Neffos Y5 i Neffos Y5L mają wgranego Androida w wersji 6.0, dlatego też cały proces zostanie opisany w oparciu o jedno z tych urządzeń. W zasadzie mocniejszym sprzętem jest Neffos Y5 i dlatego zdecydowałem się nim posłużyć. Informacje na temat ukorzeniania Androida w Neffos Y5 znajdują się tutaj. Zakładam zatem w tym miejscu, że nasz smartfon przeszedł proces root. Formatowanie karty SD jako pamięć wewnętrzna Weźmy sobie zatem w łapki nasz smartfon i wsadźmy do niego jakąś kartę SD, którą zamierzamy sformatować jako pamięć wewnętrzna. Cały proces jest niemal automatyczny i wystarczy przejść do Ustawienia => Pamięć plików i kliknąć w "Karta SD". Mamy tam pozycję "Sformatuj jako pamięć wewn." i to w nią klikamy. Postępujemy zgodnie z informacjami na ekranie i po chwili karta powinna zostać przygotowana do pracy, tj. sformatowana, zaszyfrowana i zamontowana w systemie: Możemy też sprawdzić, gdzie Android montuje naszą kartę SD w systemie (przez adb) korzystając z polecenia mount : root@Y5:/ # mount | grep expand /dev/block/dm-0 /mnt/expand/9acfb46c-f218-43e7-a14a-a3592183af6d ext4 rw,dirsync,seclabel,nosuid,nodev,noatime 0 0 Poszukiwanie klucza szyfrującego dane karty SD Kartę SD można naturalnie wyciągnąć ze smartfona (pierw trzeba ją odmontować w Androidzie) i podłączyć do komputera przez czytnik kart SD. Gdybyśmy jednak taki zabieg zrobili, to okaże się, że nasz linux w komputerze nie rozpozna nam tego nośnika. W prawdzie gdisk będzie nam w stanie podać informacje o układzie partycji ale nie dostaniemy się do samego systemu plików: # gdisk -l /dev/sdb GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdb: 3854336 sectors, 1.8 GiB Logical sector size: 512 bytes Disk identifier (GUID): 1281EE27-00C5-4CC7-8004-94DDBCEF829C Partition table holds up to 128 entries First usable sector is 34, last usable sector is 3854302 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 34815 16.0 MiB FFFF android_meta 2 34816 3854302 1.8 GiB FFFF android_expand Nas tutaj interesuje ta druga partycja, bo to tam są zgromadzone zaszyfrowane dane. By informacje na tej partycji odszyfrować, potrzebny nam jest klucz szyfrujący, a ten z kolei znajduje się gdzieś na smartfonie, pytanie tylko gdzie? Wzór nazwy klucza można wyciągnąć w poniższy sposób: root@Y5:/ # which vold /system/bin/vold root@Y5:/ # strings /system/bin/vold | grep -i expand --change-name=0:android_expand /mnt/expand/%s %s/expand_%s.key Wiemy zatem, że klucz nazywa się expand_%s.key , z tym, że do końca nie wiem za co odpowiada %s . Tak czy inaczej, wszystkie klucze są przechowywane pod /data/misc/vold/ : root@Y5:/ # ls -al /data/misc/vold/ drwx------ root root 2017-02-08 22:40 bench -rw------- root root 16 2017-02-08 22:40 expand_06bc225178c5900fe64800e4b70efd25.key Ten plik z rozszerzeniem .key jest tworzony w momencie, gdy formatujemy kartę SD jako pamięć wewnętrzna. Podobnie jest on usuwany ilekroć tylko będziemy nakazywać Androidowi zapomnienie tego nośnika. Jak widać, mając ukorzeniony system, dostęp do tego klucza jest praktycznie niechroniony (do tego brak zabezpieczenia hasłem), zatem każdy może go skopiować. Będąc w posiadaniu tego klucza, możemy odszyfrować zawartość karty SD na dowolnej maszynie wyposażonej w pierwszą lepszą dystrybucję linux'a. Odszyfrowanie zawartości karty SD Znając położenie klucza szyfrującego na smartfonie, możemy ten klucz wydobyć w poniższy sposób (zakodowany w HEX): root@Y5:/ # od -t x1 /data/misc/vold/expand_06bc225178c5900fe64800e4b70efd25.key 37777776620 6c 33 be 5d df 7b a0 d0 ca 41 fe d7 a7 8f 75 db 37777776620 Ten widoczny wyżej ciąg 16 bajtów (128 bitów) tj. 6c33be5ddf7ba0d0ca41fed7a78f75db , to nasz klucz szyfrujący dane na karcie SD, który teraz trzeba wskazać w dmsetup na linux. Dodatkowo, potrzebnych jest nam jeszcze kilka parametrów. Musimy min. wiedzieć jaki rodzaj szyfru jest wykorzystywany w procesie szyfrowania i deszyfrowania informacji na karcie SD oraz musimy znać szereg offsetów. Zgodnie z informacjami jakie znalazłem tutaj, Android korzysta z aes-cbc-essiv:sha256 . Offsety mogą być różne ale za punkt wyjścia można obrać 0 . Zatem linijka z dmsetup przybierze poniższą postać: # dmsetup create sdcard --table "0 `blockdev --getsize /dev/sdb2` crypt aes-cbc-essiv:sha256 6c33be5ddf7ba0d0ca41fed7a78f75db 0 /dev/sdb2 0" Dokładne wyjaśnienie wszystkich opcji użytych powyżej znajduje się tutaj. Jeśli to powyższe polecenie nie zwróci żadnego błędu, to możemy spróbować zamontować ten zasób w systemie. System plików, który został utworzony przez Androida w tym zaszyfrowanym kontenerze znamy i jest to linux'owy EXT4. Odszyfrowany kontener zaś jest dostępny pod /dev/mapper/sdcard : # mount -t ext4 /dev/mapper/sdcard /mnt/ # ls -al /mnt total 36K drwxr-xr-x. 8 root root 4.0K 2017-02-08 22:40:50 ./ drwxr-xr-x 25 root root 4.0K 2017-01-14 10:22:16 ../ drwxrwx--x. 2 morfik morfik 4.0K 2017-02-08 22:40:31 app/ drwxr-x--x. 3 root root 4.0K 2017-02-08 22:40:38 local/ drwx------. 2 root root 4.0K 1970-01-01 01:00:00 lost+found/ drwxrwx---. 4 1023 1023 4.0K 2017-02-08 22:42:09 media/ drwxrwx--t. 3 morfik 9998 4.0K 2017-02-08 22:40:51 misc/ drwx--x--x. 3 morfik morfik 4.0K 2017-02-08 22:40:40 user/ Zatem udało nam się uzyskać dostęp do zaszyfrowanych danych. Jeśli teraz wgralibyśmy coś tutaj do katalogu user/ czy media/ , to naturalnie Android w naszym Neffos Y5 będzie w stanie bez problemu ten plik odczytać. Standardowo w przypadku, gdy zamierzamy sformatować kartę SD jako pamięć wewnętrzna, to musimy się liczyć z faktem bezpowrotnej utraty wszystkich danych zgromadzonych w telefonie, gdy ten ulegnie jakiejś większej awarii. Posiadając jednak ukorzenionego Androida, możemy taki klucz szyfrujący skopiować sobie na dysk komputera i tam go trzymać. Gdy telefon ulegnie uszkodzeniu, to dane z karty SD będziemy w stanie odczytać. Trzeba jednak również pamiętać o tym, że z telefonu ten klucz można wyciągnąć bez problemu o ile mamy w nim odblokowany bootloader (na potrzeby root, czy custom recovery), a że nie jest on w żaden sposób zabezpieczony (PIN, hasło, itp), to każdy kto zna się trochę na telefonach będzie w stanie uzyskać dostęp do danych zgromadzonych na tej karcie SD.
  5. Może i ten najtańszy smartfon w ofercie TP-LINK nie może popisać się najmocniejszymi podzespołami ale w zasadzie ten fakt nie przeszkadza nam, by przeprowadzić na Neffos Y5L (TP801A) proces root. Ten smartfon ma zbliżony SoC do Neffos Y5, a konkretnie mamy tutaj do czynienia z Snapdragon 210 (MSM8209) od Qualcomm'a. Ten fakt sprawia, że w przypadku Neffos Y5L cały proces uzyskiwania uprawnień administratora systemu przebiega bardzo podobnie do tego opisywanego wcześniej dla Neffos Y5. Dlatego też poniższy artykuł za bardzo się nie różni i w zasadzie został jedynie lekko przerobiony pod kątem zgodności ze smartfonem Neffos Y5L. Narzędzia ADB i fastboot Przede wszystkim, by zabrać się za proces root'owania smartfona Neffos Y5L, 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. Problematyczny backup flash'a smartfona Neffos Y5L W przypadku Neffos C5 i Neffos C5 MAX, do zrobienia backup'u całego flash'a można było wykorzystać narzędzie SP Flash Tool. Niemniej jednak, to oprogramowanie jest przeznaczone jedynie dla smartfonów mających SoC od MediaTek, a jak już zostało wspomniane we wstępie, Neffos Y5L ma SoC Snapdragon 210 (MSM8209) od Qualcomm'a. Jak zatem zrobić backup flash'a tego smartfona przed wprowadzaniem w nim jakichkolwiek zmian? Generalnie trzeba się zmierzyć z problemem jajka i kury, czyli by dokonać backup'u flash'a trzeba skorzystać z niestandardowego obrazu partycji /recovery/ , np. TWRP, a nie możemy go przecież wgrać na telefon, bo wprowadzimy w ten sposób zmiany. Możemy jednak wgrać taki obraz bezpośrednio do pamięci RAM telefonu i z niej go uruchomić. W takim przypadku będziemy w stanie zrobić backup flash'a telefonu bez wprowadzania żadnych zmian. Niemniej jednak, w dalszym ciągu obraz partycji /recovery/ musimy jakoś pozyskać. Pozyskanie obrazu recovery.img z TWRP Niestety, póki co nie ma obrazów dla Neffos'a Y5L. 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). Ja posłużyłem się obrazem dla Neffos'a C5L, którego SoC (MSM8909) jest bardzo podobny do tego zastosowanego w Neffos Y5L. W zasadzie rozdziałka ekranu i wielkość flash się zgadzają ale układ partycji jest nieco inny i trzeba będzie ten obraz trochę przerobić, a do tego celu potrzebny nam będzie stock'owy obraz boot.img lub recovery.img . Gotowy obraz recovery.img dla smartfona Neffos Y5L znajduje się tutaj: neffos_y5l-tp-link-twrp.img Jedyne co, to musimy go wgrać na telefon. Jeśli jednak ktoś jest ciekaw jak proces przepakowania tego obrazu przebiega, to jest on opisany poniżej. Pozyskanie stock'owego obrazu boot/recovery Proces dostosowania obrazu recovery.img z TWRP nieco się różni w przypadku Neffos Y5L w stosunku do poprzednio opisywanych przez mnie modeli Neffos C5 i Neffos C5 MAX ale jest mniej więcej taki sam co w przypadku Neffos Y5. Chodzi o to, że w zasadzie nie mamy jak wydobyć obrazu partycji /recovery/ z telefonu, no bo przecież nie możemy skorzystać z SP Flash Tool, a póki co nie jestem świadom alternatywnego oprogramowania, które by nam z tym zadaniem pomogło w podobny sposób. Niemniej jednak, obraz recovery.img w dalszym ciągu możemy zbudować ale potrzebny nam jest firmware Neffos'a Y5L, który na szczęście możemy pobrać ze strony producenta tego smartfona. Pamiętajmy by pobrać plik przeznaczony na ten konkretny model telefonu, który posiadamy (w tym przypadku TP801A). Poniżej jest pełna specyfikacja wgranego oprogramowania oraz dokładne numery mojego smartfona: W paczce .zip z firmware, którą pobraliśmy, znajduje się plik boot.img . Musimy go wydobyć w celu wyodrębnienia pewnych plików i wgrania ich na portowany obraz recovery.img . Przepakowanie obrazu recovery.img By przepakować obraz przeznaczony na inny smartfon, który jest zbliżony parametrami do naszego Neffos'a Y5L, musimy pierw pozyskać odpowiednie narzędzia. Na linux'ie możemy skorzystać do 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 boot.img , jak i obraz recovery.img 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 boot.img z katalogu nadrzędnego i wypakowujemy go za pomocą skryptu unpackimg.sh . Następnie przenosimy tak wyodrębnioną zawartość do katalogu stock/ : $ cp ../orig_boot.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 Kernel W zasadzie to musimy tylko przekopiować plik recovery.img-zImage z oryginalnego obrazu naszego Neffos'a Y5L do obrazu TWRP: $ cp ./stock/split_img/recovery.img-zImage ./port/split_img/ Fstab Musimy także dostosować nieco plik port/ramdisk/etc/recovery.fstab , bo flash telefonu, z którego wzięliśmy obraz recovery.img z TWRP ma inny nieco inny układ partycji. W oparciu o informacje uzyskane z aplikacji DiskInfo oraz z pliku /proc/partitions w telefonie, układ flash'a w przypadku Neffos Y5L prezentuje się następująco (kolumna najbardziej na prawo została dodana przeze mnie): # adb shell shell@Y5L:/ $ cat /proc/partitions major minor #blocks name 253 0 524288 zram0 179 0 7634944 mmcblk0 179 1 65536 mmcblk0p1 modem (/firmware/ , vfat) 179 2 512 mmcblk0p2 sbl1 179 3 512 mmcblk0p3 sbl1bak 179 4 1024 mmcblk0p4 aboot 179 5 1024 mmcblk0p5 abootbak 179 6 512 mmcblk0p6 rpm 179 7 512 mmcblk0p7 rpmbak 179 8 768 mmcblk0p8 tz 179 9 768 mmcblk0p9 tzbak 179 10 1024 mmcblk0p10 pad 179 11 1536 mmcblk0p11 modemst1 179 12 1536 mmcblk0p12 modemst2 179 13 1024 mmcblk0p13 misc 179 14 1 mmcblk0p14 fsc 179 15 8 mmcblk0p15 ssd 179 16 10240 mmcblk0p16 splash 179 17 32 mmcblk0p17 DDR 179 18 1536 mmcblk0p18 fsg 179 19 16 mmcblk0p19 sec 179 20 32768 mmcblk0p20 boot 179 21 1913652 mmcblk0p21 System (/system/ , ext4) 179 22 32768 mmcblk0p22 persist (/persist/ , ext4) 179 23 262144 mmcblk0p23 Cache (/cache/ , ext4) 179 24 32768 mmcblk0p24 recovery 179 25 1024 mmcblk0p25 devinfo 179 26 512 mmcblk0p26 keystore 179 27 65536 mmcblk0p27 oem 179 28 512 mmcblk0p28 config 179 29 5077999 mmcblk0p29 Data (/data/ , ext4) 179 32 512 mmcblk0rpmb mmcblk0rpmb Rozmiary poszczególnych partycji są w blokach, a każdy z nich ma 1024 bajty. Partycja mmcblk0 odpowiada za cały obszar flash'a. Będziemy zatem w stanie zrobić backup całego flash'a albo też poszczególnych jego partycji. Tak czy inaczej potrzebne nam są odpowiednie wpisy w pliku port/ramdisk/etc/recovery.fstab . Poniżej jest zawartość mojego pliku: # mmcblk0p1 (modem) /firmware vfat /dev/block/bootdevice/by-name/modem flags=display="Firmware";backup=1;mounttodecrypt # mmcblk0p2 (sbl1) /sbl1 emmc /dev/block/bootdevice/by-name/sbl1 flags=display="sbl1";backup=1 # mmcblk0p3 (sbl1bak) /sbl1bak emmc /dev/block/bootdevice/by-name/sbl1bak flags=display="sbl1bak";backup=1 # mmcblk0p4 (aboot) /aboot emmc /dev/block/bootdevice/by-name/aboot flags=display="aboot";backup=1 # mmcblk0p5 (abootbak) /abootbak emmc /dev/block/bootdevice/by-name/abootbak flags=display="abootbak";backup=1 # mmcblk0p6 (rpm) /rpm emmc /dev/block/bootdevice/by-name/rpm flags=display="rpm";backup=1 # mmcblk0p7 (rpmbak) /rpmbak emmc /dev/block/bootdevice/by-name/rpmbak flags=display="rpmbak";backup=1 # mmcblk0p8 (tz) /tz emmc /dev/block/bootdevice/by-name/tz flags=display="tz";backup=1 # mmcblk0p9 (tzbak) /tzbak emmc /dev/block/bootdevice/by-name/tzbak flags=display="tzbak";backup=1 # mmcblk0p10 (tzbak) /pad emmc /dev/block/bootdevice/by-name/pad flags=display="pad";backup=1 # mmcblk0p11 (modemst1) /efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=display="Modemst1";backup=1 # mmcblk0p12 (modemst2) /efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=display="Modemst2";backup=1 # mmcblk0p13 (misc) /misc emmc /dev/block/bootdevice/by-name/misc flags=display="Misc";backup=1 # mmcblk0p14 (fsc) /fsc emmc /dev/block/bootdevice/by-name/fsc flags=display="fsc";backup=1 # mmcblk0p15 (ssd) /ssd emmc /dev/block/bootdevice/by-name/ssd flags=display="ssd";backup=1 # mmcblk0p16 (splash) /splash emmc /dev/block/bootdevice/by-name/splash flags=display="splash";backup=1 # mmcblk0p17 (DDR) /ddr emmc /dev/block/bootdevice/by-name/DDR flags=display="DDR";backup=1 # mmcblk0p18 (fsg) /fsg emmc /dev/block/bootdevice/by-name/fsg flags=display="fsg";backup=1 # mmcblk0p19 (sec) /sec emmc /dev/block/bootdevice/by-name/sec flags=display="sec";backup=1 # mmcblk0p20 (boot) /boot emmc /dev/block/bootdevice/by-name/boot flags=display="Boot";backup=1 # mmcblk0p21 (System) /system ext4 /dev/block/bootdevice/by-name/system flags=display="System";backup=1;wipeingui;mounttodecrypt # mmcblk0p22 (persist) /persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist";backup=1 # mmcblk0p23 (Cache) /cache ext4 /dev/block/bootdevice/by-name/cache flags=display="Cache";backup=1;wipeingui;wipeduringfactoryreset # mmcblk0p24 (recovery) /recovery emmc /dev/block/bootdevice/by-name/recovery flags=display="Recovery";backup=1 # mmcblk0p25 (devinfo) /devinfo emmc /dev/block/bootdevice/by-name/devinfo flags=display="devinfo";backup=1 # mmcblk0p26 (keystore) /keystore emmc /dev/block/bootdevice/by-name/keystore flags=display="keystore";backup=1 # mmcblk0p27 (oem) /oem emmc /dev/block/bootdevice/by-name/oem flags=display="oem";backup=1 # mmcblk0p28 (config) /config emmc /dev/block/bootdevice/by-name/config flags=display="config";backup=1 # mmcblk0p29 (Data) /data ext4 /dev/block/bootdevice/by-name/userdata flags=display="Data";backup=1;wipeingui;wipeduringfactoryreset;encryptable=footer;length=-16384 # #/mmcblk0rpmb emmc /dev/block/bootdevice/mmcblk0rpmb flags=display="mmcblk0rpmb";backup=1 # External /sdcard1 auto /dev/block/mmcblk1p1 flags=display="MicroSD";storage;wipeingui;removable #/usb-otg auto /dev/block/sda1 flags=display="USBOTG";storage;wipeingui;removable # Full partition images /firmware_image emmc /dev/block/bootdevice/by-name/modem flags=display="Firmware-Image";backup=1 /system_image emmc /dev/block/bootdevice/by-name/system flags=display="System-Image";backup=1 /persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist-Image";backup=1 /cache_image emmc /dev/block/bootdevice/by-name/cache flags=display="Cache-Image";backup=1 /data_image emmc /dev/block/bootdevice/by-name/userdata flags=display="Data-Image";backup=1 /full_flash emmc /dev/block/mmcblk0 flags=display="Full-Flash-Image";backup=1 Jeśli ktoś jest ciekaw użytych tutaj opcji, to są one wyjaśnione w tym wątku na forum XDA. Tworzenie obrazu recovery z TWRP dla Neffos Y5L Z tak przygotowanych plików w katalogu stock/ 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 bootloader'a przez fastboot. Niemniej jednak, zanim będziemy w stanie to zrobić, musimy odblokować bootloader. Jak odblokować bootloader w Neffos Y5L Może nie mamy możliwości zrobić backup'u całego flash'a telefonu przed podjęciem jakichkolwiek prac ale też raczej nie powinniśmy znowu nic namieszać. Jedyna rzecz jaką musimy zrobić, to odblokować bootloader. Chodzi o to, że na smartfonach zwykle jest ulokowana partycja /recovery/ . Na niej znajduje się oprogramowanie umożliwiające przeprowadzanie niskopoziomowych operacji, 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 w terminalu wpisujemy poniższe polecenia: # adb reboot bootloader # fastboot devices 8a8f289 fastboot # fastboot oem unlock-go Na ekranie smartfona powinien nam się pokazać zielony robocik informujący o przeprowadzaniu Factory Reset. Po chwili ten proces powinien dobiec końca, a smartfon uruchomi się ponownie na ustawieniach domyślnych. Wyłączamy urządzenie i włączamy je via przyciski VolumeDown + Power i sprawdzamy status blokady bootloader'a: # fastboot oem device-info ... (bootloader) Device tampered: false (bootloader) Device unlocked: true (bootloader) Charger screen enabled: true (bootloader) Display panel: OKAY [ 0.004s] finished. total time: 0.004s Jeśli przy Device unlocked: widnieje wartość true , to blokada bootloader'a została pomyślnie zdjęta. Jako, że proces odblokowania bootloader'a usunął wszelkie ustawienia, to jeszcze raz musimy włączyć Opcje programistyczne, a w nich tryb debugowania portu USB. Testowanie przepakowanego obrazu recovery.img Zanim jednak wgramy nowo stworzony obraz recovery.img , przydałoby się sprawdzić pierw, czy aby na pewno ten obraz działa jak należy. Podpinamy telefon do portu USB komputera i przy pomocy narzędzia fasboot przetestujmy wyżej wygenerowany obraz próbując uruchomić go z pamięci telefonu: # fastboot boot image-new.img W przypadku, gdyby pojawiła nam się informacja FAILED (remote: unlock device to use this command) , to prawdopodobnie zapomnieliśmy odblokować bootloader. Jeśli blokada została zdjęta, to wydanie tego powyższego polecenia powinno załadować do pamięci RAM telefonu zmieniony obraz partycji /recovery/ , oczywiście o ile obraz jest poprawny. Jeśli zamiast tego smartfon uruchomi się ponownie, to coś z takim obrazem jest nie tak i lepiej nie wgrywać go na telefon. Jak przeprowadzić backup flash'a Neffos Y5L Mając załadowany obraz recovery.img z TWRP do pamięci smartfona, możemy przejść do zrobienia backup'u całego flash'a telefonu. Opcje wyboru partycji, które będziemy mieć do uwzględnienia w backup'ie, zależą od pliku recovery.fstab , który edytowaliśmy sobie wcześniej. W tym przypadku mamy możliwość zrobienia backup'u całego flash'a, jak i jego poszczególnych partycji. Nie musimy jednak robić backup'u wszystkich partycji i możemy zdecydować się jedynie na niektóre z nich. Przede wszystkim, potrzebny nam będzie backup partycji /system/ , /boot/ i /recovery/ , bo to je zwykle będziemy poddawać edycji i wprowadzać w nich zmiany. Ja jednak wolę zrobić backup pozostałej części flash'a, tak na wszelki wypadek. No i skoro mam do zrobienia praktycznie backup całej pamięci flash, to można przecież upchnąć go w jednym pliku zrzucając zawartość urządzenia /dev/block/mmcblk0 . Można oczywiście zapisać sobie każdą partycję do osobnego pliku ale przecie z obrazu całego flash'a również można te poszczególne partycje wydobyć. W zasadzie cały backup zajmie około 2 GiB, chyba, że zrobiliśmy sobie pełną kopię. W przypadku tego drugiego rozwiązania potrzeba nam będzie karta SD o pojemności większej lub równej pojemności flash'a w telefonie. Dodatkowo, jako, że z reguły flash w smartfonach ma pojemność większą niż 4 GiB (zwykle 16-32 GiB), to w takim przypadku karta musi zostać sformatowana innym systemem plików niż FAT, bo ten ma ograniczenia wielkości pliku do 4 GiB, a obraz będzie przecie zajmował tyle ile zajmuje pamięć flash. TWRP obsługuje bez większego problemu karty SD sformatowane jako EXT4 i z tego systemu plików możemy skorzystać. Pamiętajmy jednak, że takiej karty Android nam nie będzie czytał standardowo. Niepełny backup z kolei można przeprowadzić zapisując go na flash'u smartfona, choć nie zaleca się tego robić, a to z tego względu, że kopia pamięci danego urządzenia powinna być zapisywana na zewnętrznym nośniku. Dlatego lepiej zakupić sobie kartę SD rozmiarem przypominającą flash telefonu. Różnica między robieniem obrazów partycji EXT4 i EMMC polega na tym, że w przypadku standardowych partycji EMMC, ich obraz można zamontować przez mount na dowolnym linux'ie. Natomiast obrazy EXT4, są w zasadzie zwykłymi archiwami plików, które można wypakować jak zwykłego ZIP'a. Druga różnica jest taka, że te spakowane paczki są dzielone na kawałki o rozmiarze 1,5 GiB, przez co można je bez problemu zapisywać na karcie SD, która ma system plików FAT. Warto w tym miejscu jeszcze dodać, że można pominąć backup partycji /cache/ i /data/ , bo one są i tak czyszczone podczas procesu Factory Reset. Jeśli zaś chcemy dokonać backup'u danych użytkownika, tj. partycji /data/ , to w jej przypadku lepiej jest spakować pliki zamiast robić backup całej partycji, bo wtedy robimy backup tylko danych i nie wchodzi w to wolne miejsce. Jak już ustalimy jakie partycje uwzględnimy w backup'ie, to przechodzimy do pozycji Backup i wybieramy kartę SD oraz zaznaczamy odpowiednie obszary pamięci flash, tak jak to widać na poniższej fotce: W przypadku robienia pełnego backup'u, cały proces może zająć dłuższą chwilę. Po jego ukończeniu, na karcie SD pojawi się obraz flash'a, który możemy sprawdzić w gdisk lub parted : Wgranie obrazu recovery z TWRP na Neffos Y5L Po sprawdzeniu czy obraz się bootuje poprawnie i dokonaniu backup'u określonych obszarów pamięci flash, możemy ten obraz wgrać na telefon lub też możemy zainstalować jedynie samo SuperSU. Ja postanowiłem wgrać TWRP recovery na mojego Neffos'a Y5L. W sumie ta procedura się za wiele nie różni od testowania samego obrazu w pamięci telefonu. Jedyne co trzeba zrobić to zrestartować telefon do trybu bootloader'a i wgrać obraz recovery przy pomocy fastboot w poniższy sposób: # adb reboot bootloader # fastboot flash recovery image-new.img # fastboot reboot SuperSU, BusyBOX, RootCheck i emulator terminala Ostatnią rzeczą na drodze do zrobienia root na Neffos Y5L 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 Install i wskazujemy paczkę .zip , którą umieściliśmy na karcie SD. Tam z kolei zaznaczamy ZIP signature verification i przeciągamy trzy strzałki na prawą stronę. Teraz możemy uruchomić ponownie Neffos'a Y5L i zainstalować jakąś aplikację, która pokaże nam czy nasz smartfon ma root'a. Sprawdzenie czy Neffos Y5L 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 w CheckRoot: Instalacja terminala Generalnie rzecz biorąc, terminal jako taki nie jest obowiązkowy, bo SuperSU jak i BusyBOX są wymagane przez konkretne aplikacje do poprawnego ich działania. Niemniej jednak, jeśli zamierzamy korzystać z tych niskopoziomowych narzędzi dostarczonych przez BusyBOX, czy też innych narzędzi obecnych standardowo w Androidzie na uprawnieniach root, to terminal jak najbardziej się nam przyda. 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. Jako, że ja korzystam na co dzień z Debiana, to instaluję 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ć aplikacje 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
  6. Bawiąc się ostatnio trochę Neffos'em Y5 nieco go uszkodziłem ale nie na tyle, by go znowu nie odratować, choć nadal nie wiem co popsułem ale grunt, że w końcu zaczął działać jak trza. Ten wątek jednak nie jest o Neffos Y5 ale o Neffos Y5L, bo tak szperając i próbując odratować Neffos'a Y5 przez przypadek w łapkach miałem w tym samym czasie te dwa smartfony i akurat się tak złożyło, że ich ekran miał ten sam programik odpalony -- CPU-Z. I tak patrząc na te ekraniki dostrzegłem, że w obu przypadkach jest SoC MSM8909. I tu jest taka dziwna sprawa, bo na stronie Neffos'a, czy to w angielskiej wersji czy polskiej, jest informacja, że ten Neffos Y5L ma SoC MSM8209: Poniżej fotki: W sumie myślałem, że strona Neffos'a jest w miarę wiarygodnym źródłem co do zastosowanych podzespołów, choć już wcześniej zauważyłem pewne nieścisłości. Niemniej jednak, wygląda na to, że albo na tej stronie jest kolejny błąd (wcześniej był tylko na polskiej, choć nadal jest ) ale tutaj sprawa przecie dotyczy SoC, czyli chyba kluczowego elementu smartfona. Generalnie to ja z rezerwą podchodzę do tego co mi zwracają te wszystkie aplikacje typu CPU-Z, bo one czasem podają nieprecyzyjne info albo wręcz wprowadzają w błąd ale jak pisałem recenzję tego smartfona to miałem do wyboru albo info z aplikacji albo info ze strony Neffos'a, chyba nie muszę mówić, które wybrałem. Dziś ponownie chciałem poszukać info na temat recovery do Neffos Y5L i wpadł mi do głowy pomysł podejrzenia logu z trybu recovery na tym smartfonie, bo ciekawych rzeczy się dopatrzyłem w logu recovery na Neffos Y5 podczas jego ratowania. Odpaliłem recovery na Neffos Y5L i zobaczyłem tam poniższe info: Oj coś mi się wydaje, że to jednak na stronie Neffos'a mają błąd i to już drugi z kolei. To by też wyjaśniało dlaczego nie mogę znaleźć recovery pod MSM8209. Co myślicie, strona Neffos'a wprowadza w błąd, czy w konfiguracji telefonu się pomylili? W poniedziałek się zapytam supportu, może tę kwestię wyjaśnią.
  7. 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:
  8. 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.
  9. Generalnie rzecz biorąc w smartfonach nie ma problemu z wyłączeniem określonych aplikacji podczas startu systemu. Podobnie jest w przypadku Neffos C5 MAX, C5 i Y5 (dwa pierwsze mają Androida 5.1, ostatni zaś 6,0). Poniżej przykład (Neffos C5 MAC i C5): A tu dla Neffos Y5: Ale najwyraźniej w Y5L zapomniano o tym ficzerze: Niby mała rzecz ale strasznie bateria siada: To jest stan kompletnego nieużywania telefonu, czyli powinien być w głębokim śnie. Tak jak ten Y5, który nieco lepiej sobie radzi: Ktoś może potwierdzić ten problem?
  10. Przeprowadzenie procesu root na smartfonie Neffos Y5L od TP-LINK nie było tak łatwe jak w przypadku innych modeli telefonów tego producenta. Niemniej jednak, trzeba zdawać sobie sprawę, że ukorzenianie Androida niesie za sobą pewne zagrożenia. Nie chodzi tutaj tylko o niezaufane aplikacje ale też trzeba brać pod uwagę możliwość przypadkowego (przypadki nie istnieją) skasowania czy zmienienia plików systemowych, przez co nasz telefon może przestać nam działać poprawnie lub też przestanie się w ogóle uruchamiać. Jeśli natomiast wgraliśmy SuperSU i praktycznie w ogóle z niego nie korzystamy, to moim zdaniem lepiej jest przeprowadzić proces unroot i korzystać z Neffos'a Y5L, tak jak ze zwykłego urządzenia z Androidem na pokładzie. Proces cofania zmian w systemie nie jest jakoś specjalnie trudny ale trzeba uważać, by w jego trakcie nie uszkodzić smartfona. Ten artykuł ma na celu pokazanie jak cofnąć wszelkie zmiany wprowadzone w telefonie za sprawą dostępu do praw administracyjnych w Neffos Y5L. Odinstalowanie SuperSU (unroot) Zmiany wprowadzane w systemie za sprawą ukorzenionego Androida mogą być niewielkie lub też mogą dość znacznie ingerować w jego struktury. W zasadzie unroot przeprowadzany z poziomu SuperSU działa OOTB. Trzeba tutaj jednak wyraźnie zaznaczyć, że SuperSU nie usunie nam zmian wprowadzonych przez inne aplikacje wymagające praw administratora root. SuperSU jest w zasadzie zdolny odinstalować sam siebie oraz (opcjonalnie) przywrócić partycję /recovery/ do stanu fabrycznego. W przypadku, gdy nie chcemy zbytnio powracać do standardowego ROM'u, a jedynie nieco zabezpieczyć nasz smartfon przez uniemożliwienie logowania się aplikacjom na użytkownika root, to możemy w zasadzie odinstalować samo SuperSU. Chodzi generalnie o to, że wprowadzone przez nas zmiany na partycji /system/ , do przeprowadzenia których potrzebny nam był SuperSU, i tak przetrwają odinstalowanie tego programiku. Po skonfigurowaniu Androida, SuperSU jest nam zwyczajnie zbędny i stwarza on tylko niepotrzebne zagrożenie dla bezpieczeństwa systemu. SuperSU w Neffos Y5L możemy odinstalować z menu tejże aplikacji przechodząc w Ustawienia => Pełny Unroot. Jeśli nie chcemy przywracać partycji /recovery/ , to w ostatnim kroku wybieramy opcję NIE. Jeśli smartfon nie uruchomi się ponownie automatycznie, to naturalnie po całym procesie telefon restartujemy ręcznie. W przypadku, gdy proces usuwania SuperSU się zawiesi nam, to trzeba zrestartować smartfon i ponowić proces unroot bezpośrednio po włączeniu telefonu. Możemy naturalnie sprawdzić czy cały proces przebiegł zgodnie z planem i czy nasz Neffos Y5L w dalszym ciągu posiada root: Niemniej jednak, jeśli w Neffos Y5L chcemy przywrócić całą partycję /system/ usuwając tym samym wszelkie zmiany wprowadzone w telefonie, to trzeba do tej kwestii podejść nieco inaczej. Wydobywanie partycji /system/ , /recovery/ i /boot/ z obrazu flash'a W zasadzie mając zrobiony pełny obraz flash'a smartfona Neffos Y5L możemy wydobyć z niego określone partycje via dd i wgrać je w stosowne miejsca przez bootloader za pomocą fastboot. Zamontujmy zatem ten obraz backup'u w systemie (za pomocą losetup ) i sprawdźmy jak wygląda jego layout, np. w gdisk : Interesują nas partycje 21 ( /system/ ), 24 ( /recovery/ ) oraz 20 ( /boot/ ). Robimy ich zrzut do osobnych plików via dd : # losetup /dev/loop0 '/smartfon/Neffos Y5L/full_flash.emmc.win' # dd if=/dev/loop0p21 of=./neffos_y5l_orig_system.img # dd if=/dev/loop0p24 of=./neffos_y5l_orig_recovery.img # dd if=/dev/loop0p20 of=./neffos_y5l_orig_boot.img Przywracanie partycji /system/ via fastboot Przywrócenie partycji /system/ w trybie bootloader'a za pomocą narzędzia fastboot nie odtworzy automatycznie nam partycji /recovery/ . Musimy ją wgrać osobno. Na początek wgrajmy obraz partycji /system/ . Wyłączamy telefon i włączamy go ponownie trzymając przyciski VolumeDown + Power (powinno pojawić się logo TP-LINK'a i Android'a). Następnie podpinamy telefon do portu USB komputera i sprawdzamy, czy narzędzie fastboot jest w stanie wykryć nasz smartfon: # fastboot devices 8a8f289 fastboot Wgrywamy teraz wydobyty wcześniej obraz neffos_y5l_orig_system.img na smartfon przy pomocy poniższego polecenia: # fastboot flash system neffos_y5l_orig_system.img target reported max download size of 262144000 bytes Invalid sparse file format at header magi erasing 'system'... OKAY [ 1.532s] sending sparse 'system' (241786 KB)... OKAY [ 10.892s] writing 'system'... OKAY [ 24.863s] sending sparse 'system' (232980 KB)... OKAY [ 10.580s] writing 'system'... OKAY [ 27.701s] ... sending sparse 'system' (185348 KB)... OKAY [ 8.556s] writing 'system'... OKAY [ 22.117s] finished. total time: 308.857s Partycja /system/ przed wgraniem nowego obrazu została pierw wyczyszczona. Następnie obraz tejże partycji został podzielony na kawałki i przesłany na telefon, no i oczywiście wszystkie części obrazu zostały pomyślnie wgrane na flash smartfona. Czyszczenie partycji /data/ i /cache/ Jako, że wgraliśmy świeży obraz partycji /system/ , to przydałoby się także wyczyścić dane użytkownika znajdujące się na partycji /data/ : # fastboot format userdata Creating filesystem with parameters: Size: 5199867904 Block size: 4096 Blocks per group: 32768 Inodes per group: 8144 Inode size: 256 Journal blocks: 19835 Label: Blocks: 1269499 Block groups: 39 Reserved block group size: 311 Created filesystem with 11/317616 inodes and 42271/1269499 blocks target reported max download size of 262144000 bytes erasing 'userdata'... OKAY [ 3.013s] sending 'userdata' (83009 KB)... OKAY [ 3.543s] writing 'userdata'... OKAY [ 6.071s] finished. total time: 12.627s Dobrze jest także wyczyścić dane znajdujące się w cache: # fastboot format cache Creating filesystem with parameters: Size: 268435456 Block size: 4096 Blocks per group: 32768 Inodes per group: 8192 Inode size: 256 Journal blocks: 1024 Label: Blocks: 65536 Block groups: 2 Reserved block group size: 15 Created filesystem with 11/16384 inodes and 2089/65536 blocks target reported max download size of 262144000 bytes erasing 'cache'... OKAY [ 0.190s] sending 'cache' (6248 KB)... OKAY [ 0.278s] writing 'cache'... OKAY [ 0.936s] finished. total time: 1.405s Warto tutaj dodać, by nie korzystać z opcji erase w miejscu format . W przypadku erase system podczas ponownego startu złapie nam bootloop'a i trzeba będzie ponawiać czyszczenie partycji /data/ i /cache/ z wykorzystaniem format . Opcja erase przydaje się jedynie przed ponownym flash'owaniem. Przywracanie partycji /recovery/ i /boot/ via fastboot Podobnie jak w przypadku partycji /system/ , partycje /recovery/ i /boot/ również przywracamy z poziomu bootloader'a za pomocą narzędzia fastboot . Ten proces się zbytnio wcale nie różni, tylko wymaga wskazania pozostałych obrazów i wgrania ich na odpowiednie partycje: # fastboot flash recovery neffos_y5l_orig_recovery.img # fastboot flash boot neffos_y5l_orig_boot.img Ponowny restart Neffos'a Y5L Po wgraniu świeżego obrazu na partycję /system/ , /recovery/ i /boot/ oraz wyczyszczeniu partycji /data/ i /cache/ , możemy zresetować naszego Neffos'a Y5L i sprawdzić czy się uruchomi on ponownie. Wpisujemy zatem w terminal poniższe polecenie: # fastboot reboot Neffos Y5L powinien się uruchomić bez większych problemów, o ile przeprowadziliśmy powyższe kroki tak jak trzeba. Proces pierwszego startu zajmie dłuższą chwilę ale ostatecznie powinniśmy zobaczyć znajomy nam wszystkim ekran pierwszego logowania z wyborem języka systemu. Zablokowanie bootloader'a w Neffos Y5L To jednak nie jest koniec i w zasadzie możemy sobie darować konfigurację telefonu w tej fazie. A to z tego względu, że bootloader w dalszym ciągu jest odblokowany. Jeśli teraz byśmy skonfigurowali wstępnie system, to po zablokowaniu bootloader'a ponownie będziemy musieli wszystko ustawiać. Dlatego też wyłączamy telefon i uruchamiamy go w trybie bootloader'a za pomocą przycisków VolumeDown + Power. Następnie w terminalu wpisujemy poniższe polecenie: # fastboot oem lock Nasz Neffos Y5L powinien nam się uruchomić ponownie, a na jego ekranie powinniśmy zobaczyć zielonego robocika przeprowadzającego proces Factory Reset. Po chwili smartfon uruchomi się ponownie, a po jeszcze dłuższej chwili system powinien się załadować już na fabrycznych ustawieniach:
  11. Wśród ludzi panuje przekonanie, że by zakupić smartfona trzeba wydać niemałą sumkę pieniędzy, bo przecież te urządzenia muszą sporo kosztować. No i nie da się ukryć, że na rynku są dostępne modele telefonów, których cena przekracza kilka tysięcy złotych. Niemniej jednak, w ofertach niektórych producentów takich sprzętów są również i sporo tańsze modele, które byłyby w stanie zaspokoić niejednego użytkownika mobilnych technologii. Oczywiście te tańsze smartfony nie mają zwykle w sobie całej masy wynalazków ale czy tak naprawdę każdy z nas ich potrzebuje? Znam sporo ludzi, którzy wyznają zasadę, że telefon jest "tylko do dzwonienia" ale znowu korzystanie z 5-10 letnich zabawek jest trochę pozbawione sensu, podobnie zresztą jak kupowanie przez takie osoby smartfona za równowartość ich miesięcznej pensji. W ofercie TP-LINK jest dostępny jeden smartfon, którego cena zamyka się w granicach 300 zł. Mowa tutaj o Neffos Y5L. Czy taki telefon jest nam w stanie w ogóle coś zaoferować? Zawartość opakowania Neffos Y5L W pudełku Neffos'a Y5L, poza smartfonem znajdziemy w zasadzie jedynie podstawowe wyposażenie. W zestawie znalazła się oczywiście standardowa ładowarka 5V/1A: Mamy również przewód USB, przy pomocy którego możemy podłączyć smartfon do ładowarki lub portu USB komputera: No i jest też bateria 2020 mAh, model NBL-46A2020: Szkoda, że w przypadku tego Neffos'a Y5L zabrakło słuchawek. Specyfikacja Neffos Y5L Neffos Y5L jest dość malutki jak na smartfon i jest na dobrą sprawę najmniejszy ze wszystkich Neffos'ów, które póki co miałem okazję przetestować. Jego fizyczne wymiary wskazują mniej więcej na 133.4 x 66.6 x 9.8 mm (wy/sz/gr). Samo urządzenie nie należy także do najcięższych, bo waży jedynie 127 gram. Kolor obudowy tego telefonu może być biały, szary albo żółty. Obudowa Rzućmy zatem okiem na obudowę tego niewielkiego telefonu. Generalnie rzecz biorąc, to lewa krawędź jest niezagospodarowana, co nie dziwi, bo praktycznie żaden Neffos nic na lewym boku obudowy nie ma. Jeśli zaś chodzi o prawą krawędź, to tutaj mamy standardowo przycisk regulacji głośności (VolumeUp/VolumeDown) oraz przycisk zasilania (Power): Na górnej krawędzi mamy jedynie wyjście dla słuchawek w standardzie minijack 3,5 mm: Dolna krawędź ma w zasadzie port mikro USB oraz mikrofon do rozmów telefonicznych: Nad ekranem mamy czerwoną diodę powiadomień, głośnik, czujnik światła oraz aparat selfie 2 mpix (fotki 1600x1200 px, video 1280x720 px, 5 FPS). Pod ekranem zaś mamy trzy podświetlane przyciski oraz logo TP-LINK: Tył obudowy Neffos'a Y5L może pochwalić się aparatem 5 mpix z autofokusem (fotki 2592x1944 px, video 1280x720 px 20 FPS), mikrofonem z redukcją szumów, no i oczywiście jedną diodą robiącą za lampę błyskową i latarkę: Niżej zaś mamy głośnik multimedialny: Po zdjęciu tylnej klapki, wnętrze Neffos'a Y5L prezentuje się w następujący sposób: Jak widzimy, Neffos Y5L ma dwa sloty na kartę SIM oraz jeden slot na kartę mikro SD (max. 32G). Jest też spore gniazdo na baterię: Dobrze, że Neffos Y5L umożliwia bezproblemowe wyciągnięcie karty mikro SD i to bez potrzeby wyjmowania baterii i wyłączania telefonu: Wyświetlacz 4,5" Wiemy zatem jak z grubsza wygląda smartfon Neffos Y5L. Sprawdźmy teraz czego możemy się po tym urządzeniu spodziewać. Na sam początek rzućmy okiem na wyświetlacz. W porównaniu do pozostałych Neffos'ów, które wpadły mi w łapki (C5, C5MAX i Y5), model Y5L odbiega znacznie pod względem jakości wyświetlacza. Nie jest on jakoś specjalnie duży (4,5 cala) i jest on wykonany w technologi Twisted Nematic (TN). Są zatem widoczne problemy z kolorami i kątami widzenia. Na dobrą sprawę na wyświetlacz telefonu zwykle patrzymy prostopadle lub też pod niewielkimi kątami. Niemniej jednak, Neffos Y5L przy spoglądaniu na niego nawet leciutko z boku już przekłamuje kolory i to w dość znacznym stopniu, co psuje nieco komfort pracy na tym urządzeniu. Nawet jeśli patrzymy niemalże pionowo na ten ekran, to i tak te kolory są jakieś takie wyblakłe. Następna sprawa to rozdzielczość ekranu, która w tym przypadku wynosi zaledwie 854 x 480 px (FWVGA). Przekłada się to też na około 220 PPI (pikseli na cal). Do tych minimalnych 300 PPI trochę brakuje i wyraźnie wzrok się meczy od patrzenia na ekran tego smartfona, bo gołym i nieuzbrojonym okiem można dostrzec pojedyncze piksele. W moim odczuciu ten wyświetlacz nie jest do zaakceptowania w obecnych czasach. Dla mnie może i "rozmiar nie ma większego znaczenia" w przypadku ekranu telefonów ale skoro patrzymy na niego z dość bliska i w miarę często, to ten wyświetlacz powinien cechować się nieco większą jakością, tak by nie męczył nam oczu od samego patrzenia na niego. To co może zmartwić jeszcze potencjalnego użytkownika tego smartfona, to fakt, że powierzchnia tego wyświetlacza rozpoznaje jedynie dwa punkty stuku. Z reguły tych punków jest 5: Pasywny dual SIM Neffos Y5L ma naturalnie dwa sloty na dwie karty SIM. Niemniej jednak, żaden slot nie wspiera 4G/LTE. Idąc dalej, jeden ze slotów wspiera tylko 2G. Może i możemy zapomnieć o korzystaniu z bezprzewodowego internetu w technologi LTE na tym smartfonie ale jakby nie patrzeć, ten dual SIM nie jest do końca bezużyteczny. W dalszym ciągu możemy załadować tutaj SIM od Aero2 i mieć darmowy internet w technologi 3G. Neffos Y5L wspiera co prawda tethering ale w przypadku braku LTE, ta funkcja nie jest raczej zbyt użyteczna. Procesor Qualcomm Snapdragon 210 (MSM8209) Neffos Y5L został wyposażony w 32-bity procesor Snapdragon 210 (MSM8209) od producenta Qualcomm, który dysponuje czterema rdzeniami ARM Cortex-A7 taktowanymi częstotliwością od 200 MHz do 1,1 GHz. Został tutaj także wbudowany układ graficzny Adreno 304 taktowany częstotliwością 400 MHz. 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, OpenGL 3.1 oraz DirectX 11.1. Technologia wykonania tego SoC'a to 28 nm. Pamięć RAM i flash Patrząc dalej na specyfikację Neffos'a Y5L, można zauważyć, że mamy tutaj jedynie 1 GiB pamięci operacyjnej RAM. Jest to stanowczo za mało, by płynnie obsługiwać system, który w tym telefonie został zainstalowany (Android 6.0). Generalnie rzecz biorąc, sam system po uruchomieniu telefonu już zaczyna upychać dane w wirtualnym urządzeniu ZRAM, które robi za przestrzeń wymiany. To urządzenie ZRAM jest skompresowanym wycinkiem pamięci operacyjnej RAM,przez co kompresowanie/dekompresowanie danych w trakcie dostępu do nich spowalnia po pierwsze pracę systemu, a po drugie powoduje większe obciążenie dla procesora, co skraca czas pracy na baterii. Jakby tego było mało, nie mogłem znaleźć w Neffos Y5L autostartu aplikacji. W efekcie część z tych wbudowanych programów działa w tle, choć są one zupełnie zbędne i użytkownik mógłby je wyłączyć zwalniając nieco pamięci RAM, co z pewnością poprawiło by płynność pracy systemu. Niemniej jednak, takiej opcji tutaj najwyraźniej zabrakło, no a skoro sam system ma mało pamięci, to co dopiero powiedzieć o ewentualnej instalacji naszych ulubionych aplikacji? Pamięć flash również nie należy do tych pojemniejszych, bo mamy tutaj 8 GiB, z czego dla użytkownika pozostaje poniżej 5 GiB. Na powyższej fotce mamy również statystyki pamięci operacyjnej RAM. Z lewej strony mamy sytuację zaraz po starcie smartfona, z prawej zaś przy standardowym użytkowaniu telefonu. Widzimy, że urządzenie ZRAM (przestrzeń wymiany SWAP) się zapełnia, co powoduje postępującą degradację wydajności telefonu za sprawą dodatkowych obliczeń przy odczycie/zapisie skompresowanych danych, przez co cierpi również i bateria. Bateria Neffos Y5L jest wyposażony w wyjmowalną baterię litowo-jonową (Li-ion) o pojemności 2020 mAh. Ten akumulator można naładować od 0% do 100% w jakieś 2 godziny i 40 minut dołączoną do zestawu ładowarką. Poniżej są wykresy z procesu ładowania: Jeśli zaś chodzi o rozładowanie baterii, to jest ono nieco szybsze niż powinno być. Działanie zbędnych aplikacji w tle za sprawą braku konfiguracji uruchomionych programów (autostartu) oraz niewystarczająca ilość pamięci operacyjnej RAM odbija się negatywnie na czasie pracy Neffos'a Y5L na baterii. Podczas bezczynności jest on w stanie przetrzymać prawie miesiąc. W przypadku pracy na smartfonie, rozładuje się on nam w jakieś 7 godzin i 50 minut, przynajmniej jeśli brać pod uwagę szacunki, które zwrócił test wydajności Neffos'a Y5L. Wbudowany głośnik Dźwięki wydobywające się z tego wbudowanego głośnika multimedialnego nie zachwycają zbytnio. Szkoda też, że nie było w zestawie słuchawek, które mogłyby nadrobić niezbyt dobrą jakość samego głośnika. Do odtwarzania standardowych rzeczy, typu audycje radiowe czy podkasty raczej się nada. Niemniej jednak, odtwarzanie muzyki czy ścieżki dźwiękowej z filmu już mocno kuleje. Czujniki Zestaw czujników w przypadku Neffos'a Y5L jest nieco uboższy w stosunku do pozostałych modeli telefonów TP-LINK'a. Mamy naturalnie czujnik światła, akcelerometr oraz czujnik zbliżeniowy ale zabrakło magnetometru i nie damy rady przerobić tego smartfona na kompas, a szkoda. Łączność 2G/3G oraz WiFi 2,4 GHz Niestety w Neffos Y5L nie mamy wbudowanego modemu LTE i dostępne są jedynie sieci 2G i 3G. Szkoda też, że tylko jeden ze slotów wspiera 3G. Neffos Y5L obsługuje jedynie standardy DC-HSPA+/HSPA/UMTS: B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM: B2/B3/B5/B8 (1900/1800/900/850) MHz. Może i nie mamy LTE w smartfonie Neffos Y5L ale przynajmniej nie zabrakło tutaj WiFi 2,4 GHz w standardzie N. Transfer jaki idzie osiągnąć przez tę sieć oscyluje w granicach 50 mbit/s. Jeśli zaś chodzi o zasięg WiFi, to 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: Bluetooth v4.1 (LE) Neffos Y5L ma wbudowany bluetooth w wersji 4.1, który zapewnia o wiele większy zasięg w stosunku do v4.0 przez brak konieczności stosowania połączenia bezpośredniego. GPS, A-GPS + GLONASS W Neffos Y5L mamy również zaszyty nadajnik GPS. Ten smartfon wpiera także 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. Radio FM Dobrze, że nie zabrakło w tym smartfonie radia FM. Szkoda tylko, że nie mamy za bardzo jak go odtworzyć, bo do tego celu są potrzebne przecież słuchawki, które robią za antenę, a takowych w zestawie nie było. Android 6.0 Marshmallow Na uwagę zasługuje również fakt, że Neffos Y5L ma wgrany Android 6.0 Marshmallow. Niestety ten system wymaga minimum tych 2 GiB pamięci operacyjnej RAM, których ten smartfon nie posiada. Dobrze chociaż, że partycja /system/ zajmuje 2 GiB, przez co mamy o 2 GiB więcej na dane użytkownika. Poniżej znajduje się rozpiska temperatur podczas zwykłej pracy telefonu oraz przy 100% obciążeniu procesora: Czy da radę przeprowadzić root na Neffos Y5L Ukorzenienie Androida na Neffos Y5L jest możliwe do przeprowadzenia. Jak Neffos Y5L sprawuje się pod linux Neffos Y5L 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 Y5L 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 Jak wynika z powyższych informacji, Neffos Y5L do najmocniejszych smartfonów nie należy. Bardzo słaby wyświetlacz, brak LTE, mało pamięci RAM i niewielkich rozmiarów flash świadczą raczej o adresowaniu tego urządzenia do użytkowników, którzy nie mają zbytnio wymagań co do nowszych technologi, a jedynie chcą korzystać z tego smartfona jak ze zwykłego telefonu. Generalnie nie mam nic przeciwko takim osobom, którzy wykorzystują telefon "jedynie do dzwonienia", czy od czasu do czasu zrobią nim jakąś fotkę. Ja jednak byłbym w stanie tego Neffos'a Y5L zaakceptować dopiero w momencie, gdyby jakość wyświetlacza nie odbiegała od tego stosowanego w modelach C5, C5MAX czy Y5.
  12. 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.
  13. 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 Y5L. Testy pozostałych modeli smartfonów zostaną opisane osobno. Parametry sprzętowe Neffos Y5L Neffos Y5L ma 4 rdzeniowy procesor Qualcomm MSM8209 (Cortex-A7) taktowany częstotliwością maksymalną 1,1 GHz. Jest tam również procesor graficzny Adreno 304. Do tego mamy też 1 GiB pamięci operacyjnej RAM. Jeśli chodzi zaś o wyświetlacz, to ma on 4,5" i rozdzielczość 854x480 (220 PPI). Smartfon działa zaś pod kontrolą systemu operacyjnego Android 6.0 Marshmallow. Poniżej są fotki z CPU-Z: Wiemy zatem co Neffos Y5L ma z grubsza pod maską oraz jakim oprogramowaniem będziemy go testować. Pora zatem sprawdzić jakie wyniki zwrócą nam poszczególne aplikacje. Neffos Y5L vs. AnTuTu Neffos Y5L 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 Y5L vs. PCMark PCMark również oferuje szereg testów: Work 2.0 Performance Work 2.0 Battery Life Computer Vision Storage Work 1.0 Performance Neffos Y5L vs. 3DMark 3DMark również jest w stanie przeprowadzić kilka testów: Sling Shot ES 3.1 oraz Sling Shot Unlimited ES 3.1 Sling Shot ES 3.0 Sling Shot Unlimited ES 3.0 Ice Storm Ice Storm Extreme Ice Storm Unlimited