Search the Community

Showing results for tags 'morfitronik.pl'.



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 59 results

  1. Zainspirowany wątkiem na forum JDtech na temat testów transferów w konkretnych pasmach/częstotliwościach LTE, postanowiłem sprawdzić jak ta sprawa wygląda w mojej okolicy. Generalnie ja obecnie u siebie mam modem Huawei E3372s-153 w wersji NON-HiLink podpięty do routera TP-LINK Archer C2600. Oczywiście na tym routerze jest wgrany alternatywny firmware LEDE/OpenWRT, bo inaczej nie miałbym możliwości skorzystać z tego modemu. Standardowa konfiguracja LTE w LEDE/OpenWRT daje nam jedynie możliwość wyboru między ustawieniami auto , gsm , umts , lte , preferumts oraz preferlte . W przypadku internetu LTE, zwykle wybieramy tutaj tryb auto , ewentualnie też lte , by wymusić konkretny tryb pracy modemu, co może mieć kolosalne znaczenie przy darmowym internecie od RBM/Play. Niemniej jednak, nawet w przypadku wyboru lte , częstotliwość na jakiej będzie pracował modem w dalszym ciągu jest dobierana automatycznie w oparciu o parametry sygnału docierającego z dostępnych w okolicy BTS'ów. W przypadku modemu E3372 można jednak wymusić, by połączenie LTE było realizowane na konkretnej częstotliwości, np. 2100/1800/2600/900/800 MHz i by taki stan rzeczy osiągnąć, trzeba nieco przerobić konfigurację tego alternatywnego oprogramowania znajdującego się w naszym routerze WiFi. Dostosowanie konfiguracji LEDE/OpenWRT na potrzeby LTE Przede wszystkim, by móc operować na modemie LTE z poziomu routera WiFi z wgranym firmware LEDE/OpenWRT, musimy pierw zainstalować stosowne oprogramowanie. Nie będę tutaj opisywał tego zagadnienia, bo to zostało zrobione już w osobnym wątku. Zakładam też, że nasz modem LTE działa bez większego problemu na routerze i nie mamy problemów ze zmuszeniem go do pracy. Nas tutaj bardziej interesować będzie konfiguracja modemu, a konkretnie plik /etc/gcom/ncm.json . To w tym pliku jest zawarta instrukcja, tj. poszczególne polecenia, które są przesyłane do modemu w celu jego konfiguracji. Jako, że my tutaj dysponujemy modemem LTE od Huawei, to interesuje nas sekcja "huawei": { } . Tam z kolei mamy podsekcję "modes": { } i tutaj właśnie są zlokalizowane konfiguracje trybów pracy modemu. Standardowo mamy tutaj te poniższe wpisy: "modes": { "preferlte": "AT^SYSCFGEX=\\\"030201\\\",3fffffff,2,4,7fffffffffffffff,,", "preferumts": "AT^SYSCFGEX=\\\"0201\\\",3fffffff,2,4,7fffffffffffffff,,", "lte": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,7fffffffffffffff,,", "umts": "AT^SYSCFGEX=\\\"02\\\",3fffffff,2,4,7fffffffffffffff,,", "gsm": "AT^SYSCFGEX=\\\"01\\\",3fffffff,2,4,7fffffffffffffff,,", "auto": "AT^SYSCFGEX=\\\"00\\\",3fffffff,2,4,7fffffffffffffff,," }, Mając dostępne tylko te powyższe tryby, nie da rady wymusić konkretnego pasma LTE, bo każdy z tych trybów ma 7fffffffffffffff , co odpowiada za obsługę wszystkich pasm. Możemy jednak zmienić tę wartość na taką, którą odpowiada za konkretną częstotliwość. Najprościej jest po prostu dodać kilka dodatkowych wpisów i odpowiednio przerobić 7fffffffffffffff , poniżej przykład: "lte-fdd-2100": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,1,1,,", "lte-fdd-1800": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,4,,", "lte-fdd-2600": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,40,,", "lte-fdd-900": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,80,,", "lte-fdd-800": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,80000,," Pierwsza wartość liczbowa w komendzie AT, czyli 03 , wymusza LTE, zatem modem ma pracować tylko w tym trybie. Ostatnia wartość liczbowa, tj. 1 , 4 , 40 , 80 oraz 80000 , odpowiada kolejno pasmom B1 (2100 MHz), B3 (1800 MHz), B7 (2600 MHz), B8 (900 MHz) i B20 (800 MHz) w technologi FDD. Każdy taki wpis, za wyjątkiem ostatniego, ma być zakończony przecinkiem ( , ). Jakie pasma/częstotliwości LTE są dostępne w mojej okolicy Dostosowanie konfiguracji dla modemu LTE to jedna rzecz ale trzeba także zrobić lekkie rozeznanie na temat tego jakie częstotliwości LTE są dostępne w okolicy naszego miejsca zamieszkania/przebywania. Tutaj nie ma prostej metody, by takie informacje zdobyć. Niby można posłużyć się serwisami w stylu BTSEARCH ale zawarte w nich dane dotyczące konkretnych stacji bazowych czasami są błędne lub też w ogóle ich tam nie znajdziemy. Możemy jednak przełączyć modem w każdy ze zdefiniowanych wyżej trybów i sprawdzić czy uda się uzyskać połączenie w pasmach obsługiwanych przez modem. Edytujemy zatem plik /etc/config/network na routerze. Interesuje nas sekcja konfigurująca interfejs sieciowy przypisany modemowi LTE: config interface 'lte' ... option mode 'lte-fdd-2600' ... Teraz już wystarczy tylko dostosować opcję mode wpisując nazwy zdefiniowane w pliku /etc/gcom/ncm.json oraz przeprowadzić szereg pomiarów prędkości łącza internetowego, np. w serwisie speedtest. Ja dla wygody testy robiłem z poziomu aplikacji na smartfona. Uzyskałem wyniki dla 2100 MHz, 1800 MHz, 2600 MHz i 800 MHz. Niestety na 900 MHz modem nie był w stanie zrealizować połączenia. Widać zatem, że największą prędkość udało się uzyskać w paśmie 2600 MHz i w zasadzie można tę częstotliwość wymusić. Niemniej jednak, jeśli zmieniamy dość często miejsce pobytu, to lepiej jest pozostać przy automatycznym doborze częstotliwości, bo nie zawsze będziemy w zasięgu, np. tego pasma 2600 MHz.
  2. W artykułach dotyczących przeprowadzania procesu root na smartfonach Neffos Y5 oraz Y5L był pokazany sposób na dokonanie backup'u całego flash'a tych urządzeń. Jeśli Android w naszym telefonie jest ukorzeniony albo chociaż mamy wgrany obraz TWRP na partycję /recovery/ , to jesteśmy w stanie przeprowadzać regularny backup wszystkich danych użytkownika z poziomu trybu recovery. Proces takiego backup'u będzie się nieco różnił w stosunku do tego opisywanego w wyżej podlinkowanych artykułach. W tym przypadku nie będziemy robić kopii binarnej, a jedynie zgramy sobie wszystkie pliki znajdujące się na partycji /data/ . W tym artykule zostanie pokazany sposób na przeprowadzanie procesu kopii zapasowej w smartfonie Neffos Y5. Niemniej jednak, taki regularny backup można przeprowadzać praktycznie w każdym smartfonie posiadającym recovery z TWRP. Kopia binarna czy kopia plików Dysponując obrazem z recovery TWRP w zasadzie jesteśmy w stanie przeprowadzić dwa rodzaje kopii zapasowych: kopia binarna i kopia zwykłych plików. Nas średnio interesuje kopia binarna, a to ze względu na fakt zgrywania z partycji /data/ każdego pojedynczego bita danych. Partycja /data/ jest największą partycją w naszych telefonach i zwykle ma ona rozmiar 10-12 GiB (przy rozmiarze flash'a 16 GiB). W tych bardziej wypasionych smartfonach, ta partycja może mieć sporo większy rozmiar. Jeśli teraz byśmy stworzyli kopię binarną takiej partycji, to system zrzuci nam wszystkie dane na niej zawarte wliczając w to wolne miejsce. W efekcie możemy mieć na tej partycji zajętych 2 GiB, a i tak zostanie utworzony plik o rozmiarze tych 12 GiB. Marnujemy zatem sporo miejsca, bo przecież taki backup trzeba gdzieś przechowywać. W przypadku kopii zapasowej plików, system zgrywa poszczególne pliki z partycji /data/ i robi z nich skompresowane archiwum, coś jak paczka .zip . W porównaniu do kopii binarnej, takie spakowane archiwum plików zajmuje parokrotnie mniej miejsca, no i oczywiście sam proces backup'u (i późniejszego kopiowania danych z telefonu na komputer) trwać będzie o wiele krócej. Odblokowany bootloader Technicznie rzecz biorąc, tryby recovery w smartfonach z Androidem mają różne opcje. Niektóre z nich oferują możliwość zrobienia backup'u partycji /data/ , a inne takiej funkcji nie posiadają. Jeśli stock'owy obraz partycji /recovery/ nie daje nam możliwości przeprowadzenia procesu kopii zapasowej, to nie pozostaje nam nic innego jak sięgnięcie po obraz recovery z TWRP. Problem z tym obrazem jest jednak taki, że musimy go albo wgrać na partycję /recovery/ , albo tez odpalić go w pamięci telefonu, tak by nie wprowadzać żadnych zmian na flash'u urządzenia. Rzecz w tym, by móc tego typu zabieg przeprowadzić, trzeba odblokować bootloader, a to, jak zapewne wiemy, inicjuje proces Factory Reset i czyści wszystkie dane użytkownika zgromadzone na partycji /data/ . Mając na uwadze ten fakt, kopia zapasowa plików użytkownika przez tryb recovery z TWRP dotyczy tylko i wyłącznie telefonów z odblokowanym bootloader'em. Zakładam w tym miejscu, że mamy już odblokowany bootloader w naszym smartfonie. Kopia zapasowa z poziomu aplikacji Inny problem, jaki może mieć dla nas znaczenie przy kopii zapasowej przez tryb recovery, to potrzeba chwilowego wyłączenia telefonu. Ten sposób nie jest zatem optymalny dla użytkowników, którzy muszą być ciągle online i nie mogą na te kilkanaście minut rozłączyć się ze światem. Jest za to kilka programików, które umożliwiają zrobienie tego typu backup'u z poziomu działającego telefonu. Ja jednak nigdy nie testowałem tego oprogramowania i za bardzo nie mogę nic na jego temat powiedzieć. Zwykle też oferowane za sprawą takich programików rozwiązania są płatne. Z kolei zaś obrazy TWRP, które możemy wgrać na swój telefon, mamy za free. Uruchamianie smartfona w trybie recovery Zwykle jak korzystamy z telefonu przez dłuższy czas, to jest wielce prawdopodobne, że sporo rzeczy zmieniliśmy w konfiguracji takiego urządzenia. Mamy zapewne też wgranych szereg niestandardowych aplikacji, których ustawienia również zostały przez nas dostosowane do naszych potrzeb. O ile pliki graficzne, dźwiękowe czy też video można sobie bez problemu zgrać na komputer, o tyle właśnie tych ustawień telefonu za bardzo nie mamy jak sobie skopiować. Wejdźmy zatem w tryb recovery naszego telefonu. W przypadku, gdy obraz TWRP jest wgrany na flash smartfona, to wyłączamy urządzenie i przyciskamy jednocześnie przyciski VolumeUp + Power. Jeśli zaś chcemy uruchomić TWRP w pamięci RAM telefonu, to musimy uruchomić to urządzenie w trybie bootloader'a i zaaplikować obraz z partycją /recovery/ za pomocą narzędzia fastboot . Instalacja i konfiguracja fastboot pod linux jest opisana w osobnym wątku. Niezależnie od wybranego sposobu, naszym oczom powinno ukazać się menu TWRP podobne do tego poniżej (w opcjach można wybrać język polski): Jak widać na obrazku, mamy dwie pozycje: Kopia i Przywróć. Jeśli zamierzamy dokonać backup'u, to naturalnie przechodzimy do pozycji Kopia. Jeśli zaś zamierzamy uprzednio utworzoną kopię zapasową odtworzyć, to przechodzimy do Przywróć . Tworzenie kopii zapasowej partycji /data/ przez TWRP Po przejściu do pozycji Kopia zostaną nam zaprezentowane opcje wyboru poszczególnych partycji, których kopie zamierzamy przeprowadzić. To jakie partycje znajdziemy w tym okienku zależy głównie od pliku fstab , który znalazł się w obrazie TWRP. Niektóre są bardziej rozbudowane, a inne ograniczają się jedynie do podstawowych wpisów. W każdym razie, partycja /data/ powinna być widoczna na liście: W tym przypadku na liście mamy dwie pozycje z nazwą Data . Ta zaznaczona pozycja odpowiada za zrobienie backup'u samych plików na partycji /data/ . Ta druga opcja umożliwia naturalnie zrobienie kopii binarnej ale nie będziemy z niej korzystać. Niemniej jednak, warto zauważyć różnice w ilości kopiowanych danych. Same pliki w tym przypadku mają nieco ponad 100 MiB, podczas gdy cała partycja ma ponad 12 GiB. Różnica jest ogromna. Po zaznaczeniu odpowiedniej pozycji upewniamy się jeszcze, że wybraliśmy stosowną pamięć do zapisu pliku kopii zapasowej, tj. Kartę SD. Jako, że tutaj nie ma dużo danych do zapisu, to można wykorzystać nawet małe karty SD, które mają rozmiar 1-2 GiB. Obraz partycji na taką małą kartę SD by nam się nie zmieścił, a same dane wejdą bez większego problemu. Warto tutaj jeszcze dodać, że w przypadku, gdy rozmiar danych na partycji /data/ jest duży, to plik backup'u zostanie podzielony automatycznie na mniejsze kawałki (~1,5 GiB). Nie ma zatem obawy o zapis takich plików na kartę SD sformatowaną system plików z rodziny FAT. Obraz całej partycji /data/ , jako, że przekracza on limit 4 GIB, trzeba by umieścić na karcie SD sformatowanej innym systemem plików, np. linux'owym EXT4. By zrobić backup, przesuwamy strzałki na prawą stronę: Po zakończeniu całego procesu, na karcie SD zostaną utworzone następujące pliki: data.ext4.win (archiwum TAR), data.ext4.win.md5 (zawiera sumę kontrolną archiwum), recovery.log (zawiera log z backup'u) oraz data.info (zawiera info na temat rozmiaru, typu i liczby plików archiwum). Lepiej nie kasować żadnego z tych plików, bo inaczej TWRP będzie miało prawdopodobnie problemy z odtworzeniem backup'u. Odtwarzanie kopii zapasowej partycji /data/ przez TWRP Kopię zapasową partycji /data/ można również odtworzyć. Nie zaleca się jednak wgrywania takiego backup'u w momencie, gdy był on sporządzany na innej wersji Androida. Dla przykładu załóżmy, że stworzyliśmy sobie kopię na Androidzie 5.1 Lollipop, zaktualizowaliśmy system do nowszej wersji i chcemy tę kopię odtworzyć na Androidzie 6.0 Marshmallow. Ja generalnie nie robiłbym tego, a to z tego względu, że różnice między tymi systemami są znaczne. Tak odtworzona kopia mogłaby uszkodzić system, w sensie takim, że nie uruchomiłby nam się on ponownie i trzeba by przeprowadzić proces Factory Reset. Odtworzenie kopii zapasowej w każdym innym przypadku, tj. na tym samym urządzeniu po uprzednim przywróceniu jego ustawień do fabrycznych, czy też na innych smartfonach mających tę samą wersję Androida, nie powinno raczej nam zaszkodzić. Choć w przypadku wgrywania backup'u na inne telefony również bym uważał. Zakładając jednak, że coś namieszaliśmy w systemie naszego smartfona i wiemy, że nie obędzie się bez przywracania go do ustawień fabrycznych, możemy naturalnie po zainicjowaniu Factory Reset wgrać uprzednio zrobiony backup również przez tryb recovery. Będąc w trybie recovery, w głównym menu TWRP wybieramy pozycję Przywróć . Tam z kolei mamy listę plików kopii zapasowych, które możemy przywrócić. Po kliknięciu na interesującą nas pozycję zostanie nam zwrócona informacja na temat danych, które w takim pliku się znajdują, tj. partycji, które zostały w tej kopii zawarte. W tym przypadku mamy dane z partycji /data/ : Na dole mamy również opcję Włącz weryfikację MD5 kopii zapasowych . Tę opcję można naturalnie zaznaczyć ale trzeba mieć na uwadze, że proces odtwarzania backup'u będzie trwał dłużej, zwłaszcza w przypadku, gdy danych w kopii jest dość sporo. Po zaznaczeniu stosownych opcji, przeciągamy strzałki na prawą stronę: Jak widać z komunikatów na fotce, nie ma potrzeby przeprowadzania wcześniej procesu Factory Reset, bo partycja przed wgraniem na nią backup'u jest automatycznie czyszczona. Problem z odblokowaniem ekranu po odtworzeniu backup'u Wiele osób ma zabezpieczony dostęp do telefon za pomocą kodu PIN. W takich przypadkach, by móc używać tego urządzenia w innych celach niż połączenia alarmowe trzeba podać cztery cyferki. Jeśli tego nie zrobimy, nie damy rady zdjąć blokady ekranu i nie dostaniemy się do systemu. Jeśli kopia partycji /data/ była przeprowadzana na telefonie, który miał włączoną blokadę ekranu, to w pewnych sytuacjach po odpaleniu systemu nie damy rady ściągnąć tej blokady nawet podając poprawny PIN: Problem naturalnie można poprawić ale trzeba odpalić telefon ponownie w trybie recovery. Tam z menu TWRP przechodzimy do Zaawansowane => Menadżer Plików: W menadżerze plików przechodzimy do katalogu /data/system/ , z którego to musimy skasować kilka plików. Kasujemy wszystko to co ma w nazwie .key oraz locksettings. : W tym przypadku skasowanych zostało 5 plików: gatekeeper.password.key , gatekeeper.pattern.key , locksettings.db , locksettings.db-shm oraz locksettings.db-wal . Po ich usunięciu restartujemy telefon i już powinniśmy być w stanie zalogować się w systemie. Jedyna różnica jest taka, że teraz nie byliśmy pytani o PIN, bo usunęliśmy wcześniej zarówno klucze jak ustawienia blokady. W przypadku, gdy blokada ekranu jest dla nas dość ważna, to naturalnie możemy ją ustawić sobie ponownie w tradycyjny sposób. Jak tylko blokada zostanie włączona, to system wygeneruje nowe klucze i nimi zabezpieczy nasz telefon. Pamiętajmy jednak, że mając TWRP na partycji /recovery/ , czy w ogóle odblokowany bootloader, to te klucze/ustawienia możemy usuwać bez problemu i w ten sposób obchodzić mechanizm blokady ekranu w telefonach z Androidem. Warto mieć zatem świadomość, że blokada ekranu w takich urządzeniach nie chroni nas zupełnie przed niczym. Oczywiście można nieco minimalizować zagrożenie przez wgrywanie TWRP tylko do pamięci telefonu, a na partycji /recovery/ trzymać stock'owy soft, choć i tak lepiej jest nie zostawić telefonu bez nadzoru na dłuższy czas.
  3. 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:
  4. Smartfony mają to do siebie, że ogromna większość z nich pracuje pod kontrolą systemu linux, a konkretnie jest to jakiś Android. Tak też jest w przypadku Neffos'a C5 od TP-LINK, gdzie mamy zainstalowaną wersję 5.1 (Lollipop). My linux'iarze chcemy mieć pełny dostęp do systemu operacyjnego, by bez większych przeszkód móc zarządzać urządzeniem, które pod jego kontrolą pracuje. Problem w tym, że ten Neffos C5 nie ma w standardzie root'a i nie mamy administracyjnego dostępu do całego systemu plików telefonu. Jest kilka metod root'owania smartfona, np. za pomocą Kingoroot/Kingroot ale nie działają one w przypadku tego telefonu (i całe szczęście). W tym artykule zostanie pokazany sposób na root systemu Neffos'a C5 przy zachowaniu wszelkich norm bezpieczeństwa, które w sytuacjach podbramkowych pomogą nam odzyskać kontrolę nad telefonem. Narzędzia ADB i fastboot Przede wszystkim, by zabrać się za proces root'owania smartfona Neffos C5, musimy przygotować sobie odpowiednie narzędzia. Zapewnią one nam możliwość rozmawiania z telefonem. Będziemy potrzebować adb (Android Debug Bridge) oraz fastboot . Proces instalacji tych narzędzi na linux, a konkretnie w dystrybucji Debian, został opisany osobno. Narzędzie SP Flash Tool Kolejnym narzędziem, które będzie nam niezbędne jest SP Flash Tool. Niestety nie jest ono włączone do dystrybucji Debian i musimy posiłkować się paczką, którą można znaleźć w podanym wyżej linku. Tutaj ważna uwaga. SP FLash Tool jest przeznaczony tylko dla smartfonów mających SoC od Mediatek. Pobieramy paczkę .zip dla linux'a i wypakowujemy ją. Jako, że SP Flash Tool wykorzystuje do komunikacji interfejs /dev/ttyACM0 , to do poprawnej pracy wymaga on operowania na tym interfejsie. Standardowo tylko administrator systemu oraz członkowie grupy dialout są w stanie korzystać z tego interfejsu. Musimy zatem dodać naszego użytkownika do tej grupy w poniższy sposób: # gpasswd -a morfik dialout Kompletny backup flash'a Neffos C5 Mając zainstalowane te powyższe narzędzia, możemy przejść do zrobienia backup'u całego flash'a, który jest w naszym smartfonie. Proces backup'u najprościej przeprowadzić za pomocą SP Flash Tool. Niemniej jednak, potrzebne nam są pewne informacje, które możemy uzyskać przy pomocy adb . Podpinamy zatem telefon do portu USB komputera i w terminalu wpisujemy poniższe polecenie: # adb shell cat /proc/partinfo Name Start Size pgpt 0x0000000000000000 0x0000000000080000 proinfo 0x0000000000080000 0x0000000000300000 nvram 0x0000000000380000 0x0000000000500000 protect1 0x0000000000880000 0x0000000000a00000 protect2 0x0000000001280000 0x0000000000a00000 lk 0x0000000001c80000 0x0000000000080000 para 0x0000000001d00000 0x0000000000080000 boot 0x0000000001d80000 0x0000000001000000 recovery 0x0000000002d80000 0x0000000001000000 logo 0x0000000003d80000 0x0000000000800000 expdb 0x0000000004580000 0x0000000000a00000 seccfg 0x0000000004f80000 0x0000000000080000 oemkeystore 0x0000000005000000 0x0000000000200000 secro 0x0000000005200000 0x0000000000600000 keystore 0x0000000005800000 0x0000000000800000 tee1 0x0000000006000000 0x0000000000500000 tee2 0x0000000006500000 0x0000000000500000 frp 0x0000000006a00000 0x0000000000100000 nvdata 0x0000000006b00000 0x0000000002000000 metadata 0x0000000008b00000 0x0000000002500000 system 0x000000000b000000 0x0000000100000000 cache 0x000000010b000000 0x0000000019000000 userdata 0x0000000124000000 0x000000027ed80000 flashinfo 0x00000003a2d80000 0x0000000001000000 sgpt 0x00000003a3d80000 0x0000000000080000 Ten zwrócony wyżej wynik jest dla smartfona Neffos C5. W przypadku innych telefonów, ta tabelka może mieć inną postać i nie możemy kopiować z niej wartości jeśli mamy inne urządzenie. Generalnie rzecz biorąc, to te dane potrzebne nam są do zbudowania pliku scatter.txt , w oparciu o który działa SP Flash Tool. Ten plik to zwyczajna mapa przestrzeni flash'a telefonu, który podzielony jest na szereg widocznych wyżej partycji. Plik scatter.txt dla Neffos C5 Tutaj znajduje się plik scatter.txt, który ja wykorzystałem do pracy z Neffos C5 (mt6735-neffos-c5-tp-link-scatter.txt). Kluczowa sprawa, to opisanie każdej partycji. W sumie to musimy odpowiednio dostosować pole partition_index , które jest zwyczajnie kolejnym numerkiem. Z kolei w partition_name podajemy nazwę partycji, którą uzyskaliśmy przez adb . Dalej w linear_start_addr oraz physical_start_addr wpisujemy tę wartość, która została wypisana przez adb w kolumnie Start . Na podobnej zasadzie uzupełniamy partition_size , podając wartość, którą widzieliśmy w adb w kolumnie Size . I to w zasadzie wszystkie zmiany, które musimy wprowadzić do pliku scatter.txt . Póki co nie mam informacji co do pozostałych opcji w tym pliku, wiem tylko, że część z nich jest uzupełniana przez SP Flash Tool podczas przeprowadzania działań w tym programie. Tworzenie backupu Mając plik scatter.txt możemy go wskazać w SP Flash Tool. Przechodzimy zatem do katalogu z wypakowaną zawartością pobranej paczki i uruchamiamy SP Flash Tool wpisując w terminalu ./flash_tool . Powinniśmy zobaczyć okienko, z kilkoma zakładkami. Na jednej z nich widnie napis Download . W niej z kolei znajduje się pozycja Scatter-loading file . To tutaj musimy wskazać ścieżkę do pliku scatter.txt , który utworzyliśmy wcześniej: Teraz przechodzimy na zakładkę Readback i tam dodajemy nową pozycję w tabelce. To tutaj określamy przestrzeń flash'a w telefonie, która zostanie skopiowana na dysk komputera. Nas interesuje cały flash. Dlatego też początek ustawiamy na 0x0 , a koniec musimy obliczyć z danych dostarczanych przez adb . Interesuje nas ostatnia partycja. Ma ona początek na 0x3a3d80000 , a jej rozmiar to 0x80000 . Te dwie wartości musimy do siebie dodać, w wyniku czego otrzymujemy 0x3a3e00000 i to tę wartość wpisujemy w SP Flash Tool. Region określamy jako EMC_USER : Dodajemy również drugą pozycję, która zrobi nam backup preloader'a. Z tym, że tutaj wybieramy region EMMC_BOOT_1 i określamy początek jako 0x0 , a koniec jako 0x40000 : Teraz wyłączamy telefon i podłączamy go do portu USB komputera. Następnie w SP Flash Tool aktywujemy proces backup'u Neffos'a C5 przyciskając Read Back . Włączamy teraz telefon przyciskając i trzymając przycisk Volume Up + Power do momentu aż nam zawibruje. Smartfon się nie włączy ale za to rozpocznie się kopiowanie danych z telefonu na dysk. Proces backup'u potrwa dłuższą chwilę. W moim przypadku trwało prawie dwie godziny (transfer na poziomie 3 MiB/s). Ten backup jest nas w stanie zabezpieczyć na wypadek popełnionych błędów przy flash'owaniu telefonu. Podejrzymy jeszcze ten obraz w fdisk/gdisk , by mieć absolutną pewność, że jest w nim faktyczna kopia flash'a Neffos'a C5: Jak odblokować bootloader w Neffos C5 Mając zrobiony kompletny backup flash'a, możemy przejść do odblokowania bootloader'a. Chodzi o to, że na smartfonach zwykle jest ulokowana partycja /recovery/ . Na niej znajduje się oprogramowanie umożliwiające przeprowadzanie operacji na poziomie systemowym, np. backup lub też flash'owanie ROM'u. Problem w tym, że to oprogramowanie w standardzie zwykle za wiele nie potrafi i by przeprowadzić proces root'owania Androida, musimy pozyskać bardziej zaawansowany soft, np. ClockworkMod czy TWRP, i wgrać go na partycję /recovery/ . By to zrobić musimy pierw odblokować bootloader. Proces odblokowania bootloader'a usuwa wszystkie dane, które wgraliśmy na flash telefonu, tj. podczas odblokowywania jest inicjowany factory reset. Dane na karcie SD pozostają nietknięte. By ten proces zainicjować zaczynamy od przestawienia jednej opcji w telefonie. W tym celu musimy udać się w Ustawienia => Opcje Programistyczne i tam przełączyć Zdjęcie blokady OEM : Następnie wyłączamy telefon i włączamy go trzymając Volume Up + Power. Z menu wybieramy tryb fastboot. Następnie w terminalu wpisujemy poniższe polecenia: # fastboot devices TSL7DA69OBSO49PJ fastboot # fastboot oem unlock Na ekranie smartfona powinno nam pokazać się poniższe ostrzeżenie: Unlock bootloader? If you unlock the bootloader, you will be able to install custom operating system software on this phone. A custom OS is not subject to the same testing as the original OS, and can cause your phone and installed application to stop working properly. To prevent unauthorized access to your personal data, unlocking the bootloader will also delete all personal data from your phone "factory reset". Press the Volume UP/Down buttons to select Yes/No. Wciskamy Volume Up, by potwierdzić chęć odblokowania bootloader'a, po czym restartujemy smartfon: # fastboot reboot Jako, że proces odblokowania bootloader'a usunął wszelkie ustawienia, to jeszcze raz musimy włączyć Opcje programistyczne, a w nich tryb debugowania portu USB. Wyodrębnianie obrazu partycji /recovery/ z obrazu Neffos'a C5 Mając zrobiony backup flash'a telefonu, możemy z niego wyciągnąć obraz partycji /recovery/ . Musimy tylko zamontować ten obraz w systemie za pomocą losetup . Pamiętajmy, że ten obraz ma wiele partycji. Trzeba zatem nieco dostosować moduł kernela, by wszystkie z tych partycji zostały zamontowane za pomocą jednego polecenia. Informacje na temat tego jak dostosować moduł loop znajdują się tutaj. Przechodzimy zatem w miejsce, w którym zapisaliśmy obraz i montujemy go w poniższy sposób: # cd /path/to/image/ # losetup /dev/loop0 ROM_0 Teraz tworzymy obraz partycji /recovery/ . W tym przypadku /dev/loop0p8 jest urządzeniem, które musimy podać dd : # dd if=/dev/loop0p8 of=./recovery.img # file recovery.img recovery.img: Android bootimg, kernel (0x40080000), ramdisk (0x44000000), page size: 2048, cmdline (bootopt=64S3,32N2,64N2) Pozyskanie obrazu recovery.img z TWRP Musimy także pozyskać obraz recovery.img zawierający TWRP. Niestety, póki co nie ma obrazów dla Neffos'a C5. 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). Warto tutaj zaznaczyć, że nie zawsze taki obraz będzie nam działać bez problemu. W takim przypadku trzeba próbować innych obrazów, aż któryś zadziała. Nie musimy się tez obawiać wgrania złego obrazu na partycję /recovery/ . Jeśli zdarzy nam się wgrać niedziałający obraz recovery.img , to nie uszkodzimy smartfona. Zamiast tego telefon się zrestartuje i przywróci sobie starą partycję /recovery/ , a nas zaloguje do systemu jak gdyby nigdy nic. Moje pierwsze podejście do wgrania obrazu recovery.img na Neffos'a C5 się nie powiodło. Prawdopodobnie obraz nie był odpowiednio przygotowany i w efekcie trzeba było wgrać inny obraz. Ja skorzystałem z obrazu podrzuconego przez użytkownika @GWJ. Musiałem go tylko dostosować pod Neffos'a C5 (recovery-neffos-c5-tp-link-twrp.img). Przepakowanie obrazu recovery.img z innego smartfona By przepakować obraz przeznaczony na inny smartfon, który jest zbliżony parametrami do naszego Neffos'a C5, musimy pierw pozyskać odpowiednie narzędzia. Na linux'ie możemy skorzystać tego celu z abootimg lub też ze skryptów Android Image Kitchen. Ja będę korzystał z tego drugiego rozwiązania. Tworzymy sobie jakiś katalog roboczy i kopiujemy do niego zarówno oryginalny obraz partycji /recovery/ jak i ten z innego smartfona. Następnie znajdując się w tym katalogu roboczym, pobieramy skrypty z github'a (wymagane zainstalowane narzędzie git w systemie) i przechodzimy do utworzonego w ten sposób katalogu. W nim zaś tworzymy dwa podkatalogi stock/ oraz port/ : $ git clone https://github.com/ndrancs/AIK-Linux-x32-x64/ $ chmod +x ./AIK-Linux-x32-x64/* $ chmod +x ./AIK-Linux-x32-x64/bin/* $ cd ./AIK-Linux-x32-x64/ $ mkdir stock/ port/ Kopiujemy oryginalny obraz partycji /recovery/ z katalogu nadrzędnego i wypakowujemy go za pomocą skryptu unpackimg.sh . Następnie przenosimy tak wyodrębnioną zawartość do katalogu stock/ : $ cp ../recovery_orig.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ stock/ $ rm recovery.img Kopiujemy teraz obraz partycji /recovery/ mający TWRP i wypakowujemy go. Przenosimy jego zawartość do katalogu port/ : $ cp ../recovery_twrp.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ port/ $ rm recovery.img Zgodnie z informacją zawartą w tym HOWTO (windows), musimy przekopiować kilka plików z oryginalnego obrazu naszego Neffos'a C5 do obrazu TWRP: $ cp ./stock/split_img/recovery.img-kerneloff ./port/split_img/ $ cp ./stock/split_img/recovery.img-zImage ./port/split_img/ $ cp ./stock/ramdisk/fstab.mt6735 ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.modem.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.project.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.rc ./port/ramdisk/ $ cp ./stock/ramdisk/ueventd.rc ./port/ramdisk/ Z tak przygotowanych plików w katalogu port/ trzeba zrobić nowy obraz recovery.img przy pomocy skryptu repackimg_x64.sh : $ rm -R stock/ $ mv port/ramdisk ./ $ mv port/split_img ./ $ rmdir port/ $ ./repackimg_x64.sh W katalogu roboczym powinien zostać utworzony nowy plik o nazwie image-new.img . To jest właśnie nasz nowy obraz partycji /recovery/ , który musimy wgrać na telefon w trybie fastboot. Wgrywanie przepakowanego obrazu recovery.img na Neffos'a C5 Wyłączamy telefon i podpinamy go do portu USB. Następnie włączamy go trzymając VolumeUP + Power. Z menu, które nam się pokaże na ekranie telefonu wybieramy tryb fastboot. Wracamy na komputer i przy pomocy narzędzia fasboot wgrywamy wyżej wygenerowany obraz na telefon. # fastboot flash recovery image-new.img target reported max download size of 134217728 bytes sending 'recovery' (12642 KB)... OKAY [ 1.301s] writing 'recovery'... OKAY [ 0.279s] finished. total time: 1.580s Restartujemy telefon ( fastboot reboot ) i wchodzimy w tryb recovery (VolumeUp + Power), by potwierdzić, że nasz nowy obraz recovery się wgrał pomyślnie. W przypadku wgrania poprawnego obrazu, powinniśmy zobaczyć logo TWRP. Jeśli wgrany obraz był nieprawidłowy, to zobaczymy jedynie czarny ekran i nasz Neffos C5 się po chwili uruchomi ponownie w normalnym trybie przywracając oryginalną partycję /recovery/ . SuperSU, BusyBOX, RootCheck i emulator terminala Ostatnią rzeczą na drodze do zrobienia root na Neffos C5 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 kolejno do Instaluj (TWRP jest również w języku polskim): Następnie wskazujemy paczkę .zip , którą umieściliśmy na karcie SD. Tam z kolei zaznaczamy Weryfikuj sygnatury pliku zip i przeciągamy trzy strzałki na prawą stronę. Teraz możemy uruchomić ponownie Neffos'a C5 i zainstalować jakąś aplikację, która pokaże nam czy nasz smartfon ma root'a. Sprawdzenie czy Neffos C5 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 w CheckRoot: Instalacja terminala Z BusyBOX'em zostały dostarczone niskopoziomowe narzędzia, które mogą korzystać z uprawnień administratora systemu za sprawą SuperSU. Niemniej jednak, by móc odpalać te programiki, musimy w czymś je uruchomić. Do tego celu potrzebny jest nam shell oraz emulator terminala. Domyślny shell ash jest dostarczany razem z BusyBOX. Terminal musimy doinstalować osobno. Generalnie to znalazłem dwa terminale, które są OpenSource i bez reklam/opłat. Są to Android-Terminal-Emulator oraz Termux. Wybieramy sobie jeden z nich i instalujemy w systemie. Tutaj warto jeszcze zaznaczyć, że ten drugi terminal instaluje sobie również shell dash (domyślny shell w Debianie) . Również w jego przypadku możemy łatwo doinstalować sobie aplikacje za pomocą apt , podobnie jak w Debianie (do tego celu nie jest wymagany root). Jako, że ja korzystam na co dzień z Debiana, to instaluje Termux'a. Aplikacje i prawa administracyjne Teraz już pozostało nam tylko odpalenie terminala i zalogowanie się na użytkownika root. Do tego celu służy polecenie su . Wpiszmy je zatem w okienku Termux'a: I teraz możemy uruchamiać aplikacjie z prawami admina, tak jak to zwykliśmy robić w każdym innym linux'ie. Pamiętajmy tylko, że standardowo system plików jest zamontowany w trybie tylko do odczytu (RO) i by móc zmieniać pliki systemowe z poziomu tego terminala, musimy przemontować system plików w tryb do zapisu (RW). Robimy to w poniższy sposób: $ su # mount -o remount,rw /system Gdy skończymy się bawić, to montujemy ten system plików ponownie w tryb RO: # mount -o remount,ro /system
  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: # Use platform/soc.0 or mmcblk0p* in the path # mmcblk0p1 (modem) /firmware vfat /dev/block/platform/soc.0/by-name/modem flags=display="Firmware";mounttodecrypt;backup=1 # mmcblk0p2 (sbl1) /sbl1 emmc /dev/block/platform/soc.0/by-name/sbl1 flags=display="sbl1";backup=1 # mmcblk0p3 (sbl1bak) /sbl1bak emmc /dev/block/platform/soc.0/by-name/sbl1bak flags=display="sbl1bak";backup=1 # mmcblk0p4 (aboot) /aboot emmc /dev/block/platform/soc.0/by-name/aboot flags=display="aboot";backup=1 # mmcblk0p5 (abootbak) /abootbak emmc /dev/block/platform/soc.0/by-name/abootbak flags=display="abootbak";backup=1 # mmcblk0p6 (rpm) /rpm emmc /dev/block/platform/soc.0/by-name/rpm flags=display="rpm";backup=1 # mmcblk0p7 (rpmbak) /rpmbak emmc /dev/block/platform/soc.0/by-name/rpmbak flags=display="rpmbak";backup=1 # mmcblk0p8 (tz) /tz emmc /dev/block/platform/soc.0/by-name/tz flags=display="tz";backup=1 # mmcblk0p9 (tzbak) /tzbak emmc /dev/block/platform/soc.0/by-name/tzbak flags=display="tzbak";backup=1 # mmcblk0p10 (tzbak) /pad emmc /dev/block/platform/soc.0/by-name/pad flags=display="pad";backup=1 # mmcblk0p11 (modemst1) /efs1 emmc /dev/block/platform/soc.0/by-name/modemst1 flags=display="EFS";backup=1 # mmcblk0p12 (modemst2) /efs2 emmc /dev/block/platform/soc.0/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 # mmcblk0p13 (misc) /misc emmc /dev/block/platform/soc.0/by-name/misc flags=display="Misc";backup=1 # mmcblk0p14 (fsc) /fsc emmc /dev/block/platform/soc.0/by-name/fsc flags=display="fsc";backup=1 # mmcblk0p15 (ssd) /ssd emmc /dev/block/platform/soc.0/by-name/ssd flags=display="ssd";backup=1 # mmcblk0p16 (splash) /splash emmc /dev/block/platform/soc.0/by-name/splash flags=display="splash";backup=1 # mmcblk0p17 (DDR) /ddr emmc /dev/block/platform/soc.0/by-name/DDR flags=display="DDR";backup=1 # mmcblk0p18 (fsg) /fsg emmc /dev/block/platform/soc.0/by-name/fsg flags=display="fsg";backup=1 # mmcblk0p19 (sec) /sec emmc /dev/block/platform/soc.0/by-name/sec flags=display="sec";backup=1 # mmcblk0p20 (boot) /boot emmc /dev/block/platform/soc.0/by-name/boot flags=display="Boot";backup=1 # mmcblk0p21 (System) /system ext4 /dev/block/platform/soc.0/by-name/system flags=display="System";backup=1;wipeingui # mmcblk0p22 (persist) /persist ext4 /dev/block/platform/soc.0/by-name/persist flags=display="Persist";backup=1 # mmcblk0p23 (Cache) /cache ext4 /dev/block/platform/soc.0/by-name/cache flags=display="Cache";backup=1;wipeingui;wipeduringfactoryreset # mmcblk0p24 (recovery) /recovery emmc /dev/block/platform/soc.0/by-name/recovery flags=display="Recovery";backup=1 # mmcblk0p25 (devinfo) /devinfo emmc /dev/block/platform/soc.0/by-name/devinfo flags=display="devinfo";backup=1 # mmcblk0p26 (keystore) /keystore emmc /dev/block/platform/soc.0/by-name/keystore flags=display="keystore";backup=1 # mmcblk0p27 (oem) /oem emmc /dev/block/platform/soc.0/by-name/oem flags=display="oem";backup=1 # mmcblk0p28 (config) /config emmc /dev/block/platform/soc.0/by-name/config flags=display="config";backup=1 # mmcblk0p29 (Data) /data ext4 /dev/block/platform/soc.0/by-name/userdata flags=display="Data";backup=1;length=-16384;wipeingui;wipeduringfactoryreset;encryptable=footer # #/mmcblk0rpmb emmc /dev/block/platform/soc.0/mmcblk0rpmb flags=display="mmcblk0rpmb";backup=1 # External /sdcard1 auto /dev/block/mmcblk1p1 flags=display="MicroSD";storage;wipeingui;removable;encryptable=footer #/usb-otg auto /dev/block/sda1 flags=display="USBOTG";storage;wipeingui;removable # Full partition images /firmware_image emmc /dev/block/platform/soc.0/by-name/modem flags=display="Firmware-Image";backup=1 /system_image emmc /dev/block/platform/soc.0/by-name/system flags=display="System-Image";backup=1 /persist_image emmc /dev/block/platform/soc.0/by-name/persist flags=display="Persist-Image";backup=1 /cache_image emmc /dev/block/platform/soc.0/by-name/cache flags=display="Cache-Image";backup=1 /data_image emmc /dev/block/platform/soc.0/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. Przeprowadzenie procesu root na smartfonie Neffos Y5 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 Y5, 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 Y5. 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 Y5 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 Y5 w dalszym ciągu posiada root: Niemniej jednak, jeśli w Neffos Y5 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 Y5 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 Y5/full_flash.emmc.win # dd if=/dev/loop0p24 of=./neffos_y5_orig_recovery.img # dd if=/dev/loop0p21 of=./neffos_y5_orig_system.img # dd if=/dev/loop0p20 of=./neffos_y5_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 90169635 fastboot Wgrywamy teraz wydobyty wcześniej obraz neffos_y5_orig_system.img na smartfon przy pomocy poniższego polecenia: # fastboot flash system neffos_y5_orig_system.img target reported max download size of 262144000 bytes Invalid sparse file format at header magi erasing 'system'... OKAY [ 1.048s] sending sparse 'system' (249905 KB)... OKAY [ 11.503s] writing 'system'... OKAY [ 21.036s] sending sparse 'system' (247311 KB)... OKAY [ 11.460s] writing 'system'... OKAY [ 21.086s] ... sending sparse 'system' (122860 KB)... OKAY [ 5.744s] writing 'system'... OKAY [ 10.501s] finished. total time: 245.337s 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: 13015953408 Block size: 4096 Blocks per group: 32768 Inodes per group: 8192 Inode size: 256 Journal blocks: 32768 Label: Blocks: 3177723 Block groups: 97 Reserved block group size: 775 Created filesystem with 11/794624 inodes and 90399/3177723 blocks target reported max download size of 262144000 bytes erasing 'userdata'... OKAY [ 6.614s] sending 'userdata' (137090 KB)... OKAY [ 6.278s] writing 'userdata'... OKAY [ 2.406s] finished. total time: 15.298s 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.308s] writing 'cache'... OKAY [ 0.173s] finished. total time: 0.671s 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_y5_orig_recovery.img # fastboot flash boot neffos_y5_orig_boot.img Ponowny restart Neffos'a Y5 Po wgraniu świeżego obrazu na partycję /system/ , /recovery/ i /boot/ oraz wyczyszczeniu partycji /data/ i /cache/ , możemy zresetować naszego Neffos'a Y5 i sprawdzić czy się uruchomi on ponownie. Wpisujemy zatem w terminal poniższe polecenie: # fastboot reboot Neffos Y5 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 Y5 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 Y5 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:
  7. Nie we wszystkich smartfonach Neffos da radę przeprowadzić proces root tak łatwo jak to miało miejsce w przypadku modeli Neffos C5 i Neffos C5 MAX. TP-LINK ma w swojej ofercie również model Neffos Y5 (TP802A) i on w odróżnieniu do tych dwóch poprzednich ma inne podzespoły, a konkretnie SoC, którzy pochodzi od producenta Qualcomm (Snapdragon 210, model MSM8909). Root smartfonów opartych o tego typu SoC przebiega nieco inaczej ale jest generalnie do zrobienia, choć trzeba trochę się przyłożyć do procesu backup'u flash'a telefonu. Pozostała część jest w miarę standardowa. W tym wpisie zostanie przeprowadzony proces root smartfona Neffos Y5. Narzędzia ADB i fastboot Przede wszystkim, by zabrać się za proces root'owania smartfona Neffos Y5, 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 Y5 W przypadku wspomnianych już Neffos'ów C5 i 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ż również zostało powiedziane, Neffos Y5 ma SoC Snapdragon 210 (MSM8909) 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 Y5. 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). Po wielu dniach poszukiwań udało mi się znaleźć w końcu pasujący obraz. Posłużyłem się obrazem dla HTC Desire 626s. W zasadzie SoC i rozdziałka ekranu się zgadzają ale wielkość flash już jest inna i trzeba będzie nieco ten obraz przerobić, a do tego celu potrzebny nam będzie stock'owy obraz boot.img lub recovery.img . Gotowy obraz recovery.img dla smartfona Neffos Y5 znajduje się tutaj: recovery-neffos-y5-tp-link-twrp.img i 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 Y5 w stosunku do poprzednio opisywanych przez mnie modeli Neffos C5 i Neffos C5 MAX. 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 Y5, 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 TP802A). 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 Y5, musimy pierw pozyskać odpowiednie narzędzia. Na linux'ie możemy skorzystać tego celu z abootimg lub też ze skryptów Android Image Kitchen. Ja będę korzystał z tego drugiego rozwiązania. Tworzymy sobie jakiś katalog roboczy i kopiujemy do niego zarówno oryginalny obraz 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 Y5 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 przecie flash telefonu, z którego wzięliśmy obraz recovery.img z TWRP ma inny rozmiar, więc wielce prawdopodobne, że ma inny układ i rozmiar poszczególnych partycji. W oparciu o informacje uzyskane z aplikacji DiskInfo oraz pliku /proc/partitions w telefonie, układ flash'a w przypadku Neffos Y5 prezentuje się następująco (kolumna najbardziej na prawo została dodana przeze mnie): # adb shell shell@Y5:/ $ cat /proc/partitions major minor #blocks name 253 0 524288 zram0 179 0 15267840 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 12710895 mmcblk0p29 Data (/data/ , ext4) 179 32 4096 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: # Use platform/soc.0/7824900.sdhci or bootdevice in the path # mmcblk0p1 (modem) /firmware vfat /dev/block/bootdevice/by-name/modem flags=display="Firmware";mounttodecrypt;backup=1 # 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="EFS";backup=1 # mmcblk0p12 (modemst2) /efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 # 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 # 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;length=-16384;wipeingui;wipeduringfactoryreset;encryptable=footer # #/mmcblk0rpmb emmc /dev/block/bootdevice/by-name/mmcblk0rpmb flags=display="mmcblk0rpmb";backup=1 # External /sdcard1 auto /dev/block/mmcblk1p1 flags=display="MicroSD";storage;wipeingui;removable;encryptable=footer /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 Y5 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 Y5 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 Y5 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żda 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 Kopia 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 Y5 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 Y5. 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 Y5 jest wgranie aplikacji umożliwiającej korzystanie różnym programom z praw administratora systemu w telefonie. My skorzystamy z SuperSU. Dodatkowo, musimy wgrać sobie BusyBOX, który zawiera minimalistyczne odpowiedniki linux'owych narzędzi, co pozwoli nam swobodnie operować w Androidzie, tak jakbyśmy to robili pod pełnowymiarowym pingwinem. Potrzebny nam także będzie jakiś emulator terminala, w którym to będziemy wpisywać wszystkie nasze polecenia. Instalacja SuperSU Zacznijmy od pobrania stosownej paczki z SuperSU. Jako, że my nie mamy jeszcze zrobionego root'a, to musimy pobrać TWRP / FlashFire installable ZIP . Tej paczki nie wypakowujemy, tylko wrzucamy ją w pobranej formie na kartę SD w telefonie. Odpalamy teraz tryb recovery w smartfonie (VolumeUp + Power) i przechodzimy do Instaluj i wskazujemy paczkę .zip , którą umieściliśmy na karcie SD. Tam z kolei zaznaczamy Weryfikuj sygnatury pliku ZIP i przeciągamy trzy strzałki na prawą stronę. Teraz możemy uruchomić ponownie Neffos'a Y5 i zainstalować jakąś aplikację, która pokaże nam czy nasz smartfon ma root'a. Sprawdzenie czy Neffos Y5 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
  8. Energii nigdy nie jest za dużo. Problem w tym, że w przypadku jej nadmiaru, część zasobów zwyczajnie się marnuje. Można naturalnie takiemu stanu rzeczy przeciwdziałać próbując zmagazynować energię w jakimś obiekcie tak, by można ją było wykorzystać w późniejszym czasie, gdy zajdzie taka potrzeba. Większość sprzętów elektronicznych, takich jak smartfony, tablety czy nawet przenośne routery WiFi, posiada wbudowane baterie, które mają na celu umożliwić im działanie, gdy zostaną one odcięte od stałego źródła zasilania. Niemniej jednak, akumulator w takich urządzeniach zwykle nie wystarcza na długo, choć generalnie jego zużycie zależy od sposobu użytkowania. Dlatego też można pokusić się o zakupienie dodatkowych baterii zdolnych zmagazynować energię w większym stopniu niż samo urządzenie, które wymaga zasilania. Mowa oczywiście o power bankach, które cenowo nie są zbyt wygórowane, a w krytycznych sytuacjach są wręcz niezastąpione. W tym artykule rzucimy sobie okiem na power bank TL-PBG6700 od TP-LINK. Zawartość opakowania TL-PBG6700 No to zacznijmy może od samych fotek obrazujących pudełko i jego zawartość. W zasadzie to co się rzuca w oczy na samym początku, to fakt, że to urządzenie nie jest zbytnio dużych rozmiarów (97x45x25 mm, dł/sz/gr) ale trochę waży, bo około 140 gram. No i oczywiście na plus można mu zaliczyć wygląd, a konkretnie kolorystykę, bo ja niezbyt przepadam za urządzeniami w kolorze białym. Niżej są jeszcze fotki samego power banku TL-PBG6700 pokazujące jego detale: Jak widać wyżej, na obudowie mamy jeden przycisk Power, przy pomocy którego jesteśmy w stanie podejrzeć aktualny stan rozładowania akumulatora. Po przyciśnięciu tego przycisku zapalą nam się białe diody. Im więcej diod się zapali, tym pełniejsza jest bateria. Mamy co prawda 4 diody ale współczynnik naładowania akumulatora procentowo przedstawia się mniej więcej tak: 100-75 - 4 diody, 75-50 - 3 diody, 25-50 - 2 diody, 25-10 1 dioda, no i po niżej 10 ta jedna dioda będzie nam migać. Do zestawu jest także dołączony standardowy przewód mikro USB: Specyfikacja TL-PBG6700 Na stronie TP-LINK możemy wyczytać, że litowo-jonowe ogniwa zastosowane w TL-PBG6700 pochodzą od LG. Ktoś się orientuje co dokładnie siedzi wewnątrz tego power banku? Tak czy inaczej na obudowie możemy wyczytać, że ten akumulator ma deklarowaną pojemność 6700 mAh. W zasadzie jest to wartość nawet dość optymalna w stosunku do zachowanych rozmiarów i wagi, choć zawsze mogłoby być lepiej zarówno pod względem pojemności jak i fizycznych gabarytów. To co najbardziej cieszy w przypadku TL-PBG6700, to fakt zwiększa mu mocy zarówno wejściowej jak i wyjściowej (2,4A/5V). Standardowo prąd ładowania power banków wynosi zwykle 1A, a przez jego zwiększenie i zaimplementowanie technologi szybkiego i inteligentnego ładowania, proces napełnienia tego urządzenia energią jest znacznie krótszy. Prąd ładowania w przypadku TL-PBG6700 wynosi 2,4 A, no i można powiedzieć, że na mojej ładowarce 3,1A faktyczna wartość oscyluje w granicach 2,40 A - 2,65A, choć częściej 2,40A. TP-LINK deklaruje zachowanie oryginalnej pojemności TL-PBG6700 przez około 500 cykli ładowania tego urządzenia. Niemniej jednak, dokładnie nie wiem jak jest liczony taki cykl, bo zapewne zdajemy sobie wszyscy sprawę, że takie akumulatory litowo-jonowe cechują się inną żywotnością w zależności od tego czy je ładujemy/rozładujemy w pełni, czy też będziemy wykorzystywać je w widełkach 30% - 90%. Także, nie wiem do czego ta wartość 500 się odnosi. Pojemność TL-PBG6700 Ilość zgromadzonej energii w TL-PBG6700 jest nieco niższa niż faktycznie można zakładać po oznaczeniu czy deklarowanych przez producenta wartościach. Sprawdziłem bowiem czy da radę mojego smartfona Neffos C5 MAX, który ma baterię 3045 mAh, podładować bez większego problemu dwukrotnie. Okazało się, że nie dało rady. Sumaryczna wartość procentów wyniosła jakieś 136 punków. Generalnie ładowałem smartfona dwa razy. Pierwszy cykl od 1% - 77%, a drugi od 29% do 89%. Daje to zatem 76+60, czyli 136%. Ilość przesłanej energii to około 136%*3045=4141.2 mAh, czyli około 61-62% faktycznej pojemności power banku. Potwierdza to regułę 60% deklarowanej przez producenta pojemności. Można naturalnie policzyć w drugą stronę, tj. 6700 mAh (pojemność power banku) * 3,6V (standardowe napięcie ogniw) daje nam 24120 mWh energii. Na wyjściu power banku ma być napięcie rzędu 5V (bo to port USB). Zatem 24120 mWh / 5V = 4824 mAh. No i od tej wartości trzeba odjąć jeszcze straty spowodowane przez sprawność energetyczną, która zwykle jest na poziomie 90%, czyli 10% z powyższej wartości odejmujemy, co daje nam wartość 4341 mAh. Wartość jest mniej więcej porównywalna z tym co wyszło wyżej, a ewentualna nadwyżka 200 mAh spowodowana jest niedokładnym pomiarem stanu baterii w telefonie. Według TP-LINK, power bank TL-PBG6700 można naładować od 0% do 100% w około 2 godziny i 40 minut. Z moich obserwacji wynika, że ten czas wynosi około 3 godzin i 10 minut. Przyglądając się wskazaniom wyświetlacza mojego miernika mogę dodać jeszcze, że przez około dwie pierwsze godziny, power bank pobierał w zasadzie te 2,4A - 2,6A. Niemniej jednak po upływie tego czasu do końca procesu ładowania, ta wartość stopniowo malała i generalnie i tak około 40 minut przed zakończeniem tego procesu, urządzenie pobierało już niespełna 1A, no i tak co 5 minut ubywało kolejne 0,1A. Zabezpieczenia W każdym szanującym się power banku nie może zabraknąć ochrony przed czynnikami niepożądanymi. TL-PBG6700 posiada szereg zabezpieczeń, które chronią go przed zwarciami, przepięciami, przetężeniami elektrycznymi, nadmiernymi ładowaniami i rozładowywaniami, oraz przed przegrzaniem. Mamy zatem pewność, że użytkowanie tego urządzenia będzie bezpieczne. Warto dodać, że ten power bank podczas procesu ładowania prądem 2,4A trochę się grzeje. Po około 1,5 godziny obudowa już jest dość ciepła. Biorąc pod uwagę fakt zastosowanych zabezpieczeń termicznych, trzeba uważać, by nie ładować tego urządzenia w pobliżu źródeł ciepła, bo jest wielce prawdopodobne, że mechanizm bezpieczeństwa zadziała i uniemożliwi proces ładowania. Innym rozwiązaniem jest naturalnie ładowanie power banku prądem 1A czy 0,5A ale taki zabieg z kolei znacząco wydłuży proces ładowania. Można również pokusić się o zakup małego wiatraczka, który będzie chłodził zarówno ładowarkę jak i sam power bank. Podsumowanie Może i power bank TL-PBG6700 nie ma tych obiecanych 6700 mAh ale jakby nie patrzeć 4141 mAh to całkiem sporo. Dobrze też, że nie trzeba czekać pół dnia, by taki akumulator naładować. No i chyba najważniejsza zaleta tego banku energetycznego, to fakt bardzo szybkiego oddawania energii ładowanym urządzeniom. Ten mój smartfon Neffos C5 MAX na tej dołączonej do zestawu ładowarce, ładuje się około 4 godzin. A w przypadku tego power banku, do 77% naładował się w około 1,5 godziny.
  9. Do momentu upowszechnienia się technologii LTE, ludzkość była zdana na przewodowe łącza internetowe oferowane przez lokalnych ISP. Jeśli chodzi o tych lokalnych providerów, to zwykle nie mają oni praktycznie żadnej konkurencji w danej części miasta/wsi. Czy taki stan rzeczy jest wynikiem dostarczania najlepszych jakościowo usług za najniższą cenę? W moim przypadku nie były to ani najlepsze usługi, ani też najniższa cena, tylko tak dobrane przepisy prawne, by zewnętrznemu ISP nie opłacało się świadczyć usług w mojej okolicy, bo za ten fakt dostawał on z miejsca szereg opłat/kar. Teraz, gdy już praktycznie każdy z nas jest w zasięgu LTE, możemy porzucić tych lokalnych ISP i obserwować ich nieuchronny upadek, no chyba, że w końcu zaczną dbać o swoich klientów. Niemniej jednak, w dalszym ciągu, by korzystać z technologi LTE potrzebny nam jest odpowiedni sprzęt, zwykle jest to jakiś modem, np. Huawei E3372s-153. Problem z modemem jest taki, że standardowo można go podłączyć tylko do jednego komputera w danej chwili, no chyba, że mamy router WiFi z wgranym alternatywnym oprogramowaniem pokroju OpenWRT/LEDE. Niemniej jednak, w dalszym ciągu trzeba nieco wprawy, by ten modem ogarnąć i udostępnić połączenie internetowe hostom w lokalnej sieci. Dlatego też od jakiegoś czasu na rynku zaczęły pojawiać się routery WiFi, które mają wbudowany modemem LTE. Jedno z takich urządzeń dotarło do mnie kilka dni temu, a konkretnie jest model Archer MR200 od TP-LINK. Postanowiłem zatem zobaczyć co oferuje ten sprzęt w standardzie, oraz czy jest dla niego jakieś alternatywne oprogramowanie. Zawartość pudełka routera Archer MR200 No to jedziemy z tym routerem LTE. Na początek jak zawsze fotki opakowania i tego co znajduje się w środku: Archer MR200 nie jest jakoś specjalnie duży. W sumie to jest on nawet mniejszy od TL-WR1043NDv2 i jego dokładne wymiary to 202x141x34 mm. W zasadzie na górnej części obudowy tego urządzenia nie widać nic specjalnego na pierwszy rzut oka. Obudowa czarna, połyskująca no i łatwo też się rysująca. Na spodzie obudowy mamy zaś kartkę wentylacyjną: W górnej części widzimy naklejkę z informacjami dotyczącymi numeru seryjnego urządzenia, jego wersji sprzętowej oraz danymi logowania do sieci WiFi. Może i mamy także informację o adresie URL panelu administracyjnego ale zabrakło adresu IP (w tym przypadku to 192.168.1.1) oraz nie ma danych logowania do tego panelu (hasło się ustawia przy pierwszej próbie dostępu do panelu). Otwory wentylacyjne znajdują się również po bokach routera, tuż pod pokrywą: Panel tyny wygląda raczej zwyczajnie, choć są pewne różnice. Przede wszystkim switch ma cztery porty Ethernet (RJ-45), które mogą działać w konfiguracji 4LAN lub 3LAN+1WAN. Próżno też szukać portu USB, bo takiego zwyczajnie nie zaimplementowano. No i oczywiście mamy również slot na kartę SIM. Przyciski nie odbiegają od przyjętych standardów, tj. Power, WPS/RESET oraz WiFi ON/OFF: Archer MR200 ma w zasadzie 5 anten: 2 wewnętrzne dla sieci WiFi 2,4 GHz, 1 wewnętrzna dla sieci WiFi 5 GHz oraz 2 zewnętrzne (widoczne poniżej) dla sieci LTE: W zestawie mamy również jeden nieekranowany przewód Ethernet CAT5 od długości około 120 cm. Archer MR200 wymaga do zasilania energii elektrycznej i nie mogło w zestawie zabraknąć odpowiedniego zasilacza 1A/12V: Jako, że mamy do czynienia z routerem LTE, to do realizowania połączenia w tej technologii potrzebna jest karta SIM, a ta z kolei może mieć różne wymiary w zależności od standardu tej karty (zwykła, mini, mikro). Dobrze, że TP-LINK pomyślał o dołączeniu do zestawu dwóch adapterów (mikro/mini) i bez problemu możemy do routera wsadzić kartę SIM w dowolnym formacie. Poniżej są jeszcze fotki tylnego panelu routera z włożoną kartą SIM: Na koniec jeszcze fotka Archer'a MR200 z przykręconymi antenami: Mało co i bym zapomniał o diodach, które naturalnie i ten router posiada. Oprócz standardowych lampek, tj. sygnalizujących stan zasilania, połączenia z internetem, połączenia 4G, WiFi oraz portów switch'a, mamy również informacje na temat poziomu sygnału LTE. Specyfikacja routera Archer MR200 Jak widzieliśmy wyżej, ten router LTE w sumie za wiele się nie różni pod względem wyglądu od tradycyjnego routera WiFi. Niemniej jednak, te różnice są i to dość znaczne. Poniżej znajdują się fotki z wnętrza obudowy routera Archer MR200: Modem LTE To co z pewnością odróżnia Archer'a MR200 od reszty routerów, to fakt zainstalowania w nim modemu LTE. Dokładnie nie wiadomo jednak jakiej kategorii jest ten modem. Jedni mówią, że jest to standardowy CAT4 umożliwiający transfer 150/50 mbit/s. Z kolei zaś na stronie producenta jest oznaczenie LTE adv CAT4, LTE FDD/TDD CAT3 . Poruszając tę kwestię forum JDTech okazało się, że Qualcomm nieco nagina rzeczywistość i ten modem może ma frazę adv sugerującą agregację pasm (tj. LTE-A) ale w zasadzie jest to agregacja wewnątrz tego samego pasma. Dokładnie nie wiem jak mam rozumieć to powyższe oznaczenie ale jedyne co mi przyszło do głowy, to, że ten modem ma CAT3 (100/50 mbit/s), a dopiero po agregacji (w ciąż w tym samym paśmie) jest w stanie osiągnąć te 150/50 mbit/s. Czy tak jest w istocie, tego nie wiem ale bezpiecznie można tak założyć, bo gdyby napisano te parametry w przejrzysty i bardziej zrozumiały dla człowieka sposób, to nie byłoby wątpliwości. Ten modem jest w stanie realizować połączenie LTE w technologi zarówno FDD, kanały B1/B3/B7/B8/B20 (2100/1800/2600/900/800 MHz), jak i TDD kanały B38 i B40 (2600/2300 MHz). Sam modem obsługuje także DC-HSPA+/HSPA+/HSPA/UMTS, kanały B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM, kanały B2/B3/B5/B8 (1900/1800/900/850). Tak ten modem wygląda z obu stron: Na PCB modemu znajduje się czip LTE Qualcomm MDM9225 (procek): Modem ma 256 MiB NAND flash i 128 DDRII SDRAM pamięci operacyjnej, układ ESMT FM6BD2G1GA: Znajdziemy też tam wzmacniacz sygnału LTE, moduł SKYWORKS SKY77814 (FDD: B7 oraz TDD: B38, B40), oraz przełącznik antenowy SKYWORKS 13492. Na modemie można także znaleźć jeszcze czip Qualcomm PM8019, który zarządza zasilaniem podpiętych do niego układów: Jest też drugi czip LTE Qualcomm WTR1605L (część RF): I kolejny wzmacniacz sygnału LTE i GSM, moduł SKYWORKS SKY77629 (FDD: B1, B3, B8, GSM: B2, B3 ,B5, B8): WiSoC MT7620A (MediaTek) Archer MR200 został wyposażony w SoC MT7620A (datasheet) od MediaTek'a, z procesorem MIPS 24KEc taktowanym zegarem 580 MHz. Ten SoC ma wbudowany czip WiFi 2,4 GHz (MediaTek RT5390) oraz układ switch'a (MediaTek MT7530). WiFi 2,4 GHz jest w standardzie N do 300 mbit/s (dwa strumienie przestrzenne). Dla tego pasma sieci bezprzewodowej mamy dwie anteny wewnętrzne rozlokowane po bokach PCB (wlutowane na stałe). Poniżej jest fotka jednej z tych anten: WiFi 5GHz Router Archer MR200 jest także wyposażony w osobny układ dla WiFi w paśmie 5 GHz (MediaTek MT7610EN) ze wzmacniaczem SKYWORKS 85703: W tym przypadku mamy do czynienia ze standardem AC do 433 mbit/s, czyli jeden strumień przestrzenny, no i jedną antenę wewnętrzną: Switch 100 mbit/s Niestety Archer MR200 nie może się pochwalić jeśli chodzi o switch. Ma on cztery porty w stosunku do standardowych 5, choć zwykle więcej i tak nie trzeba. Natomiast maksymalna przepustowość tych portów to niestety tylko 100 mbit/s. Transformatory Ethernet pochodzą od GROUP-TEK, model HST-2027DAR. 64 MiB pamięci RAM Jeśli zaś chodzi o kwestię pamięci operacyjnej RAM, to Archer MR200 ma jej raczej niewiele, bo 64 MiB. Układ pamięci to Winbond W9751G6KB-25: 8 MiB pamięć flash Podobnie jak i pamięci RAM, pamięć flash również nie jest zbyt duża, bo jedyne 8 MiB. Flash pochodzi od Macronix i jest to model 25L6433FM2I-08G Konfiguracja routera Archer MR200 Nie da się ukryć, że posiadanie routera WiFi z wbudowanym modemem LTE, ma swoje liczne zalety. W przypadku tego Archer'a MR200 na stock'owym firmware nie musimy przeprowadzać praktycznie żadnych dodatkowych czynności, by udostępnić internet LTE komputerom w domowej sieci. Jedyne co musimy zrobić to wsadzić kartę SIM i w zasadzie to wszystko. Panel administracyjny routera znajduje się standardowo pod adresem http://192.168.1.1/ i za jego pomocą możemy dostosować sobie poszczególne aspekty pracy urządzenia. Ci, którzy chcą rzucić okiem na ten panel i sprawdzić czy znajdą w nim określone opcje, zawsze mogą skorzystać z emulatora dostępnego na stronie TP-LINK. W zasadzie wszystkie funkcje standardowego routera WiFi jak i modemu LTE są zaimplementowane w Archer MR200. Niemniej jednak, jest kilka rzeczy, o których warto wspomnieć. Tryby pracy routera Sam router można przełączyć w tryb zwykły (WiFi) lub LTE. W przypadku trybu LTE, wszystkie cztery porty switch'a są w konfiguracji LAN. Jeśli wybierzemy tryb zwykły (WiFi), to modem LTE zostanie wyłączony, a jeden z portów switch'a zostanie skonfigurowany jako WAN i będziemy mogli podpiąć się pod przewodowego ISP. Tryby pracy modemu LTE Modem LTE może pracować w trzech trybach: auto, LTE lub 3G. Niestety nie mamy możliwości określenia częstotliwości pracy: Nie zabrakło także obsługi kodu PIN dla karty SIM z automatycznym odblokowaniem karty przy starcie routera: Jak i również mamy możliwość ustawienia limitu transferu z opcją odłączenia od sieci po jego przekroczeniu. Zabrakło jedynie ficzera, który by nie naliczał transferu w określonych godzinach: WPS Jeśli zaś chodzi o WiFi, to mamy możliwość szybkiej konfiguracji parametrów połączenia za pomocą funkcji WPS. Obsługiwane są zarówno PIN jak i PBC (przyciski): Sieć gościnna Nie mogło zabraknąć też bezprzewodowej sieci gościnnej. W przypadku Archer'a MR200 mamy możliwość skonfigurowania izolowania od siebie konkretnych jej użytkowników oraz też możemy zdecydować czy zezwalamy im na ewentualny dostęp do sieci lokalnej. Sieć gościnną możemy włączyć osobno dla WiFi 2,4 GHz i 5 GHz i skonfigurować je niezależnie. Innym użytecznym dodatkiem jest także kontrola pasma jakie jest przeznaczone dla sieci gości: Harmonogram pracy WiFi Dostępny jest również harmonogram pracy sieci WiFi i to osobny dla pasma 2,4 GHz jak i 5 GHz. Przy jego pomocy możemy sobie ustawić automatyczne włączanie i wyłączanie sieci WiFi w zależności od pory dnia: Pisanie i odbieranie SMS'ów Routery LTE mają to do siebie, że odbierają one również sygnał sieci GSM, czyli jesteśmy w stanie odbierać i wysyłać wiadomości SMS. Darmowy internet od Aero2 Jeśli posiadamy kartę SIM od Aero2, to Archer MR200 jest w stanie zapewnić naszej sieci darmowy internet od tego operatora. Niemniej jednak, konfiguracja w tym przypadku nie jest automatyczna. Z tego co można zauważyć w panelu administracyjnym, to błędnie jest konfigurowany APN. Dlatego też trzeba stworzyć nowy profil i odpowiednio go uzupełnić: Użytkownik i hasło może być albo puste, albo można też wpisać aero . Wydajność sieci WiFi i LTE Generalnie rzecz biorąc, router Archer MR200 ma WiFi 2,4 GHz (max. transfer 300 mbit/s), WiFi 5 GHz (max. transfer 433 mbit/s), LTE (max transfer 150/50 mbit/s) no i switch z portami Fast Ethernet (max transfer 100 mbit/s). W efekcie komunikacja przewodowo-bezprzewodowa będzie limitowana z automatu do 100 mbit/s. Jeśli zaś chodzi o bezprzewodowych klientów to powinniśmy wyczerpać możliwości modemu LTE. Natomiast transfer w sieci bezprzewodowej (między dwoma klientami) powinien wynieść 150 mbit/s i 215 mbit/s odpowiednio dla 2,4 GHz i 5 GHz. Oczywiście wszystkie wartości są teoretyczne i przydałoby się je poddać weryfikacji. Może i znamy realną przepustowość portów Ethernet (~93 mbit/s) ale na dobrą sprawę nie znamy faktycznej przepustowości sieci WiFi 2 i 5 GHz. Dlatego też zanim sprawdzimy sobie na ile wydolny jest modem LTE, to pierw ustalmy ile damy radę wyciągnąć po samym WiFi. Transfer jaki udało mi się uzyskać w sieci WiFi w paśmie 2,4 GHz między dwoma bezprzewodowymi klientami, to około 80 mbit/s, czy ogólny transfer jest na poziomie 160 mbit/s. Jeśli na drodze staną dwie niezbyt grube ściany (dystans 5 metrów), wtedy ten transfer spada do około 30 mbit/s. Jeśli zaś chodzi o transfer w paśmie 5 GHz, to udało się osiągnąć nieco ponad 120 mbit/s wewnątrz sieci WiFi, czyli transfer na poziomie około 250 mbit/s. Generalnie ta niezbyt wypasiona antena wewnętrzna powoduje, że zasięg tego routera w tym paśmie WiFi jest, by nikogo nie urazić, bardzo ograniczony. Generalnie to nie jest problemem sama odległość ale ściany i inne przeszkody na drodze. W przypadku tego routera wystarczy jedna ściana, by praktycznie zatrzymać sygnał 5 GHz, tj. transfer spada poniżej 10 mbit/s. Dwóch ścian już sygnał nie jest w stanie pokonać. Jeśli rozważamy zakup tego routera pod kątem korzystania z sieci 5 GHz i planujemy z niej korzystać w miarę komfortowo, to upewnijmy się, że nic nie będzie stać na drodze sygnału. Wiemy zatem, że obie sieci WiFi są nam w stanie zapewnić prędkość, która jest porównywalna z prędkością modemu LTE (100 mbit/s, w agregacji tego samego pasma 150 mbit/s). Przeprowadziłem w sumie dwie serie testów posługując się moim smartfonem. Pierwsza seria testowała transfer modemu LTE w routerze Archer MR200. Druga seria zaś badała mój modem Huawei E3372s-153, który jest podłączony pod router Archer C2600. Poniżej jest zestawienie wyników: O ile generalnie prędkość pobierania jest w miarę porównywalna, choć się bardzo waha (w końcu LTE), to w przypadku transferu danych do BTS już widać różnicę. Transfer jest dwa razy większy, więc jakość sygnału docierająca do BTS jest o wiele lepsza niż w przypadku modemu Huawei E3372s-153. Niemniej jednak, jeśli przestawię te urządzenia okolice okna, to wtedy różnicy zbytnio już nie ma (odległość od BTS to około 1 km, widoczność zachowana). Pobór energii W zasadzie router Archer MR200 nie utylizuje za dużo energii elektrycznej. Podczas startu urządzenia jest to wartość nieprzekraczająca 1,5 W. Przy włączonym WiFi i LTE router zjada w stanie spoczynku około 3W. Zużycie energii wzrasta dość znacznie, gdy zaczynamy pobierać/wysyłać dane w sieci WiFi=>LTE. W takim przypadku pobieranie z prędkością około 50 mbit/s owocuje wzrostem poboru prądu do około 5,5W. Przy wysyłaniu danych z prędkością około 25 mbit/s, ta wartość jest jeszcze większa i sięga około 7-8W. Naturalnie im szybciej będziemy dane pobierać/wysyłać, tym bardziej prądożerny będzie nasz router. Wsparcie w LEDE/OpenWRT Router Archer MR200 doczekał się wsparcia w LEDE ale ten firmware można wgrać póki co jedynie przez tryb recovery bootloader'a. Instrukcja jak to zrobić znajduje się tutaj. Jeśli zaś jest ktoś zainteresowany alternatywnym firmware pod kątem tego routera, to tutaj jest wątek na forum OpenWRT oraz na forum eko.one.pl. Warto też dodać, że nie wszystkie rzeczy jeszcze działają, np. WiFi w paśmie 5 GHz. TL;DR Zewnętrzne anteny LTE zapewniają Archer'owi MR200 nawet dość przyzwoitą jakość sygnału w stosunku do tradycyjnego modemu Huawei E3372s-153. Ten router oferuje zbliżoną prędkość pobierania danych z BTS ale jeśli chodzi o prędkość wysyłania, to już tutaj te anteny zewnętrzne trochę pomagają mu. Niemniej jednak, anteny wewnętrzne dla WiFi 2,4 GHz i 5 GHz sprawiają, że jakość sygnału docierającego do komputerów/telefonów nie jest najlepszej jakości, przez co możemy zapomnieć o bonusie płynącym z zewnętrznych anten LTE. Jeśli BTS jest dość daleko to faktycznie te anteny mogą zaważyć na tym czy w ogóle jakiś sygnał LTE zostanie odebrany przez modem w routerze. Niemniej jednak jeśli BTS jest w zasięgu wzroku i nie ma żadnych przeszkód na drodze sygnału, to WiFi będzie wąskim gardłem jeśli sygnał będzie musiał się przebijać przez ściany domu/mieszkania, by dotrzeć do naszych sprzętów. Pamiętajmy też, że może i te anteny LTE są zewnętrzne ale nadal nie są zamocowane na zewnątrz budynku i nie są skierowane w stronę BTS'a. Porty Ethernet 100 mbit/s? Jakby nie patrzeć routery WiFi są rdzeniem naszej sieci domowej i powinny być w stanie zapewnić przyzwoitą komunikację przynajmniej w jej obrębie. Nawet te tanie routery pokroju TL-WR1043NDv2 mają gigabitowy switch, a 100 mbit/s po przewodzie w LAN, to już nie te czasy. Brak portu USB boli chyba najbardziej. Ja generalnie korzystam z portu USB mojego głównego routera Archer C2600 zwykle w celu udostępniania drukarki w sieci. W efekcie nie muszę ani przełączać samej drukarki, ani też stawiać dedykowanej maszyny do jej obsługi. W przypadku Acher'a MR200 takie rozwiązanie niestety odpada. Archer MR200 jest stosunkowo drogim routerem (~540 zł) jak na te parametry, które oferuje. Gdybym miał wybierać, to jednak zdecydowałbym się na zakup Archer'a C7 v2 + modem Huawei E3372s-153 (wersja zwykła) i cenowo by wyszło podobnie (400+150 zł) ale pod względem wydajności, to ten zestaw bije Archer'a MR200 praktycznie pod każdym względem (no za wyjątkiem LTE), już pomijając, że są to dwa niezależne urządzenia, które w przypadku awarii/zużycia można wymienić bez potrzeby wymiany również i drugiego urządzenia. Dobrze chociaż, że pojawia się wsparcie dla tego routera w LEDE/OpenWRT. Niemniej jednak, jeśli chodzi o alternatywny firmware, to uważam, że Archer C7 v2 + Huawei E3372s-153 jest lepszym wyborem, gdy rozważamy zabawę z tym oprogramowaniem. Niemniej jednak, w przypadku stock'owego firmware, Archer MR200 nie wymaga znajomości żadnych zagadnień informatycznych i praktycznie każdy jest go w stanie skonfigurować bez większego problemu, co nie zawsze ma miejsce w przypadku LEDE/OpenWRT.
  10. Nowsze technologie wymagają do działania energii elektrycznej. Ta z kolei musi być dostarczana danemu urządzeniu na bieżąco, by było ono w stanie w ogóle funkcjonować i realizować swoje zadanie. Niemniej jednak, od już dłuższego czasu specyfikacja otaczającej nas rzeczywistości wymaga od naszych urządzeń, by potrafiły one gromadzić w sobie jakiś zapas energii i pracować nawet nie będąc podłączone do stałego źródła zasilania. Dlatego też nasze smartfony, tablety, mp3player'y i innego tego typu sprzęty elektroniczne mają wbudowany mniej lub bardziej pojemny akumulator. Tak czy inaczej, ta pojemność jest skończona i zwykle wystarcza na kilka dni, najwyżej tydzień pracy, np. naszego telefonu. Dlatego też w pewnych okolicznościach dobrze jest mieć zapas energii zgromadzony w jakimś power banku. Na rynku jest cała masa takich banków energetycznych i różnią się one pod względem parametrów. W tym artykule rzucimy sobie okiem na bank energii TL-PB2600 od TP-LINK. Zawartość opakowania TL-PB2600 Poniżej znajdują się fotki opakowania power banku TL-PB2600 oraz jego całej zawartości. Samo urządzenie jest dość niewielkich rozmiarów (94x26x26 mm) i waży zaledwie 70 gram. Tak wygląda TL-PB2600 z bliska: Jak widzimy wyżej, TL-PB2600 ma na przednim panelu standardowy port USB 2.0 oraz port mikro USB. Drugi z tych portów służy do ładowania power banku, a do pierwszego podłączamy ładowane urządzenie. Zarówno sam power bank, jak i urządzenie podpięte do niego mogą być ładowane maksymalnie natężeniem 1A przy 5V. Gdy power bank jest podłączony pod ładowarkę, nie da rady z niego ładować innego urządzenia. Niektóre power banki oferują tego typu funkcjonalność ale nie jest zalecane korzystanie z tej opcji. Jak widzieliśmy wyżej, na spodniej części obudowy power banku jest informacja, że to urządzenie na wejściu może pobierać maksymalnie 1A. I faktycznie pobór prądu przez to urządzenie podczas jego ładowania w stanie kompletnego rozładowania oscyluje w granicach 1A (ładowarka 3,1A). Naturalnie im pełniejsza bateria, tym wartość natężenia prądu spada do 0. By naładować ten TL-PB2600 od 0% do 100% potrzebny jest czas około 2,5 godziny. Na boku obudowy jest przycisk, przy pomocy którego możemy sprawdzić stan rozładowania akumulatora. Sygnalizuje go widoczna niżej dioda. Gdy akumulator jest pełen, to wtedy dioda się świeci ciągle przez okres kilku sekund. Jeśli akumulator jest na wyczerpaniu, to wtedy dioda będzie migać. Do zestawu został także dołączony przewód mikro USB. W zestawie nie ma natomiast ładowarki. Może to i dobrze, bo tylko by podbiła cenę samego power banku, a i tak raczej każdy z nas ma już kilka takich ładowarek USB. Sprawność TL-PB2600 Chciałem sobie sprawdzić w jakim stopniu TL-PB2600 jest w stanie podładować mojego smartfona Neffos C5 MAX. Prawdę mówiąc, to jestem nieco zawiedziony, bo procent na ikonce baterii wskazał trochę ponad połowę, a konkretnie wartość 54. Ten smartfon ma baterię o pojemności około 3045 mAh, zatem energia, która została przekazana z banku do telefonu jest na poziomie 1644 mAh. To nie za dużo skoro TL-PB2600 miał mieć 2600 mAh i nieco więcej powinno w tego smartfona wejść. Chyba, że te cyferki na opakowaniu ponownie nijak się mają do faktycznych właściwości urządzeń. Szukając informacji na temat tak drastycznie niskiej wartości przetransferowanej energii w stosunku do tego co jest napisane na opakowaniu, natrafiłem na kilka ciekawych informacji. Przede wszystkim, ogniwa power banków (nie tylko tego ale generalnie wszystkich) mają napięcia rzędu 3,6-3,7V, a jak wiadomo, na wyjściu takiego urządzenia mamy mieć 5V, czyli tyle ile w standardzie ma zwykły port USB. Można zatem prosto wyliczyć, że 2600 mAh * 3,6V daje nam zgromadzoną energię na poziomie 9360 mWh. Jeśli teraz będziemy taki power bank rozładowywać napięciem 5V, to 9360 mWh / 5V da nam wartość 1872 mAh. To i tak jest więcej niż zostało przesłane do smartfona w procesie ładowania. Okazuje się jeszcze, że do strat trzeba także doliczyć wydajność energetyczną urządzenia, która dla TL-PB2600 wynosi według TP-LINK około 90%. Zatem 1872 mAh * 90% daje nam około 1684 mAh i zakładając niewielki błąd pomiarowy i lekkie odchyły od niektórych wartości, można przyjąć, że ten power bank potrafi zgromadzić jakieś 1650 mAh, a nie 2600 mAh energii. Generalnie to obowiązuje zasada przyjmowania 60% wartości tego co zostało napisane na opakowaniu. Mi tutaj wyszło około 63%. Zabezpieczenia TP-PB2600 Jak można wyczytać na stronie TP-LINK, power bank TP-PB2600 jest wyposażony w kilka zabezpieczeń i są to zabezpieczenia przed spięciami, przepięciami, przetężeniami, przeładowaniami, wyładowaniami i przegrzewaniem. Zabezpieczenia przed przeładowaniem i zbytnim wyładowaniem akumulatora mają na celu wpłynąć na żywotność jak i zdolność magazynowania energii przez to urządzenie. Z kolei zabezpieczenie przed przegrzewaniem ma na celu kontrolować temperaturę ogniw power banku, tak by nam one nie wybuchły w trakcie procesu ładowania. Podsumowanie Power bank TP-PB2600 nie należy do najpojemniejszych banków energii. Nie naładujemy nim zbytnio smartfona do pełna, no może za wyjątkiem tych modeli, które mają baterię o pojemności w granicach 1600 mAh. Niemniej jednak, należy też pamiętać, że smartfony nie są jedynymi urządzeniami, które wymagają ładowania i posiadają przy tym nieco mniej pojemne akumulatory. Nawet jeśli nie dysponujemy takim sprzętem, to w krytycznych sytuacjach podładowanie telefonu do 50% może okazać się zbawienne, a biorąc pod uwagę niewielkie wymiary TP-PB2600, można go schować praktycznie wszędzie tak, by czekał na tego typu podbramkową sytuację.
  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. Oferta TP-LINK'a ciągle powiększa się o nowe urządzenia. Nie chodzi mi tutaj o routery WiFi, z których ten producent jest znany nam wszystkim ale raczej o nowe modele smartfonów niskobudżetowych. Jakiś czas temu TP-LINK wprowadził do obiegu smartfony Neffos Y5 oraz Neffos Y5L. Ten artykuł będzie dotyczył jedynie tego pierwszego urządzenia ale w niedługim czasie pojawi się również recenzja drugiego z wyżej wymienionych telefonów. Czy w przypadku Neffos'a Y5 (TP802A), TP-LINK jest nas w stanie czymś zaskoczyć? Zawartość opakowania Neffos Y5 W stosunku do poprzednich modeli smartfonów TP-LINK (C5 i C5 MAX), które miałem okazję testować, Neffos Y5 nie ma dołączonych w zestawie słuchawek. Poza brakiem tego elementu, który moim zdaniem powinien znaleźć się w zestawie każdego smartfona, zawartość pudełka jest raczej standardowa: Poza smartfonem mamy naturalnie ładowarkę 5V/1A: Oraz przewód mikro USB umożliwiający podłączenie smartfona do ładowarki lub też do portu USB komputera: Niewątpliwą zaletą smartfona Neffos Y5 jest wymienna bateria o pojemności 2130 mAh (model NBL-39A2130): No i to z grubsza wszystko co było w zestawie, oczywiście nie licząc skróconych instrukcji obsługi i innych tego typu papierzysk. Specyfikacja Neffos Y5 Może w pudełku nie było za wiele elementów ale urządzenia, na którym nam najbardziej zależy, na szczęście nie zabrakło. Przyjrzymy się zatem bliżej smartfonowi Neffos Y5. Obudowa w przypadku tego modelu może być biała albo szara. Jeśli zaś chodzi o wymiary, to można by rzecz, że są one dobrane w sam raz: 144x72x8,8 mm (wy/sz/gr). Są one dokładnie takie same co w przypadku Neffos C5. Niemniej jednak, gdy się trzyma w ręku Neffos'a Y5, to sprawia on wrażenie nieco grubszego i solidniejszego niż C5. Generalnie porównując te dwa modele, to gdybym miał wybierać między nimi, to zdecydowałbym się na Y5. Poza tym, ten smartfon jest nieco cięższy, bo waży 154 gram w stosunku do 141 gramów w przypadku C5. Nie jest to wielka różnica ale zawsze jakaś jest. Obudowa Neffos'a Y5 W przypadku smartfona Neffos Y5 mamy do czynienia ze standardową obudową wykonaną w całości z plastiku. Lewej krawędzi obudowy TP-LINK zdaje się nie wykorzystywać w swoich smartfonach zupełnie i robi jedynie użytek z pozostałych trzech krawędzi. Przyciski są umieszczone jak zawsze na prawym boku obudowy. Mamy tutaj jeden większy przycisk głośności robiący za VolumeUp/VolumeDown oraz przycisk zasilania. Górna krawędź Neffos'a Y5 skrywa jedynie gniazdo słuchawkowe minijack 3,5 mm: Jeśli zaś chodzi o dolną krawędź, to tutaj mamy standardowo port mikro USB oraz mikrofon do rozmów telefonicznych: Tuż nad ekranem mamy czerwoną diodę powiadomień, czujnik światła, głośnik oraz aparat selfie 2 mpix (1600x1200 px fotki, 1280x720 px video). Może i kamera jest w stanie nagrywać obraz w rozdzielczości HD ale ma z tym zdaniem pewne problemy, bo ilość FPS jest na poziomie 5/s. Z tyłu obudowy mamy zaś mikrofon z redukcją szumów, aparat 8 mpix (fotki 2448x3264, video 1280x720 px 20 FPS ) oraz jedną diodę robiącą za lampę błyskową i latarkę: Niżej na obudowie mamy zaś dziurki na głośnik. Może jest ich dość sporo ale sam głośnik jest o wiele mniejszy niż przestrzeń przeznaczona na te małe otworki. Generalnie to chyba dźwięk nieco łatwiej ma się wydostać z obudowy przy takim rozwiązaniu. Niemniej jednak, ja nie przepadam za bardzo za głośnikami umiejscowionymi z tyłu obudowy. Po ściągnięciu tylnej klapki możemy zauważyć, że bateria w Neffos Y5 jest wyjmowalna i bez problemu będziemy ją w stanie sami wymienić, gdy ta się już zużyje. Widać także usprawnienia konstrukcyjne w stosunku do Neffos C5, który miał nieco inne rozmieszczenie slotów na karty SIM i kartę mikro SD. W przypadku smartfona Neffos Y5, bateria przysłania jedynie sloty na karty SIM, przez co mamy możliwość wyciągnięcia karty SD bez potrzeby wyciągania baterii i wyłączania telefonu: Wyświetlacz IPS 5.0" Wyświetlacz zastosowany w Neffos Y5 jest bardzo podobny do tego, który znalazł się w Neffos C5. Mamy tutaj te same wymiary (5.0 cali) i tę samą rozdzielczość ekranu (1280x720 px), co daje ten sam współczynnik PPI na poziomie 293, czyli mniej więcej tyle ile minimalnie potrzebuje ludzkie oko, by się zbytnio nie męczyło od patrzenia na wyświetlany obraz. Na dobrą sprawę to nie widzę żadnej różnicy w stosunku do Neffos C5, przynajmniej jeśli chodzi o wyświetlacz. Kolory są żywe i dobrze nasycone, a kąty widzenia przyzwoite. Generalnie to nie mam nic do zarzucenia samemu wyświetlaczowi, no może za wyjątkiem minimalnej jasności. Ta maksymalna jest dość dobra ale nad minimalną TP-LINK musi trochę popracować, by można było jeszcze niżej z nią zjechać, tak by czytanie tekstu na smartfonie w nocy było bardziej komfortowe. Ciekawą rzeczą z kolei w przypadku Neffos'a Y5 jest ilość punków stycznych, które zostały uzyskane w teście multitouch. W zasadzie to nie do końca byłem w stanie sprawdzić ilość styków, bo zabrakło mi palców, a wynik mówi raczej sam za siebie: Pasywny dual SIM Jak w pozostałych modelach smartfonów TP-LINK, tak i w przypadku Neffos Y5 mamy do czynienia z pasywnym dual SIM'em. Naturalnie każda karta SIM może być 2G/3G/4G i bez problemu możemy je sobie skonfigurować w opcjach Android'a. Nawet jeśli mamy tylko jedną kartę SIM, bo korzystamy tylko z jednego operatora GSM, to zawsze możemy pokusić się o pozyskanie karty SIM od Aero2, przez co będziemy mieć darmowy internet w telefonie. Procesor Qualcomm Snapdragon 210 (4 rdzenie) W Neffos'ie Y5 został zastosowany 32-bitowy procesor Snapdragon 210 (MSM8909) od producenta Qualcomm. Ma on cztery rdzenie oparte na architekturze ARM Cortex-A53 taktowane dynamicznie zegarem od 200 MHz do 1,3 GHz. Układ graficzny zaś to Adreno 304 taktowany zegarem 400 MHz (nie wiem czemu CPU-Z pokazuje 450 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. Proces technologiczny tego SoC'a to 28 nm. Pamięć RAM i flash Neffos Y5 jest wyposażony w 2 GiB pamięci operacyjnej RAM i jest to moim zdaniem optymalne minimum, którym muszą władać smartfony pracujące pod kontrolą systemu Android. Po uruchomieniu telefonu, ilość zajętego miejsca prezentuje się następująco: W przypadku pamięci flash, Neffos Y5 ma do dyspozycji 16 GiB. Z czego około 12 GiB jest dostępne dla użytkownika. Tutaj warto zaznaczyć, że modele C5 i C5 MAX udostępniały użytkownikowi jedynie 10 GiB, czyli o 2 GiB mniej. Generalnie jest to zaletą przycięcia partycji /system/ , która miała zwykle 4 GiB zapełnione jedynie w połowie, przez co 2 GiB przestrzeni flash szły zwyczajnie na zmarnowanie. Zatem TP-LINK poczynił krok w dobrą stronę: Bateria Bateria Neffos'a Y5 ma pojemność 2130 mAh. Nie jest to jakoś szczególnie dużo ale samo urządzenie potrafi nawet zaskoczyć czasem pracy na tym akumulatorze. Generalnie rzecz ujmując, to testy wydajnościowe Neffos'a Y5 szacunkowo wykazały, że jest on w stanie pracować pod obciążeniem non stop przez nieco ponad 8 godzin. Poniżej zaś znajdują się fotki obrazujące proces ładowania baterii. Niemniej jednak, jeśli chodzi o stan spoczynku, to ten smartfon potrafi wytrzymać prawie miesiąc bez ponownego ładowania, czyli nieco dłużej niż w przypadku pozostałych modeli smartfonów TP-LINK. Głośnik i brak słuchawek Szkoda, że zabrakło słuchawek w zestawie Neffos'a Y5. Z jednej strony jest to przecież kluczowy element ale z drugiej też prawie każdy z nas już kilka par słuchawek powinien mieć. Niemniej jednak, jeśli producent telefonu nie dorzuca słuchawek to moim zdaniem powinniśmy się czegoś więcej spodziewać po tym wbudowanym głośniku multimedialnym. Jakość dźwięku może nie zachwyca ale moim zdaniem jest ona nieco lepsza niż w Neffos C5. Nie wiem czy to jest jest zasługą większego odziurkowania tylnej klapki ale różnicę słychać. Czujniki Jeśli chodzi o czujniki, w które został wyposażony Neffos Y5, to nie ma tutaj zbytnio większej fantazji. Standardowo mamy akcelerometr, czujnik zbliżeniowy i czujnik światła. Zabrakło jedynie magnetometru oraz wszystkich tych dodatkowych czujników, które przydałyby się na wypadek apokalipsy zombi: Łączność 2G/3G/LTE Neffos Y5 ma naturalnie na pokładzie modem LTE kategorii 4 (Cat4). Przy jego pomocy teoretycznie jesteśmy w stanie osiągnąć transfer na poziomie 150/50 mbit/s (download/upload). Z testów wynika, że ten transfer jest trochę niższy ale wciąż na zadowalającym poziomie: Ten modem obsługuje standardowe europejskie pasma częstotliwości dla LTE w technologi FDD, kanały B1/B3/B7/B8/B20 (2100/1800/2600/900/800 MHz). Neffos Y5 jest także w stanie obsługiwać standardy DC-HSPA+/HSPA/UMTS: B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM: 850/900/1800/1900 MHz. WiFi 2,4 GHz Szkoda, że Neffos Y5 nie dysponuje WiFi 5 GHz. Dobrze jednak, że ma chociaż WiFi 2,4 GHz obsługujące standard N. Transfer jaki udało mi się uzyskać był na poziomie około 50 mbit/s, czyli trochę mało. Chcąc wyeliminować ewentualne zakłócenia podłączyłem na chwilę inny telefon ale tamten uzyskał 100 mbit/s. Także nie wiem z jakiego powodu ten smartfon ma 2x niższą prędkość transferu. Zasięg WiFi jest 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: By być szczerym, to dziwne są te wyniki. Niby ogólna jakość połączenia jest słabsza w stosunku do pozostałych smartfonów TP-LINK ale też za bardzo nie ma wielkiej różnicy między poszczególnymi AP. Udostępnianie połączenia 3G/LTE oraz WiFi (tethering) Neffos Y5 wspiera naturalnie tethering, czyli możliwość udostępniania połączenia internetowego (3G/LTE) komputerom podłączonym do smartfona po WiFi. Jest też możliwość udostępnienia połączenia WiFi, jeśli komputer podepniemy do portu mikro USB w telefonie. Raczej nie powinno być problemów z podłączeniem się do AP, który skonfigurujemy sobie na smartfonie. Niemniej jednak, z tego co obserwuję, to w Neffos'ach ESSID sieci WiFi zawiera spacje. Spacje w nazwach sieci są znane z tego, że powodują problemy z połączeniem. Zatem jeśli dane logowania do sieci podaliśmy prawidłowe ale nie możemy nawiązać połączenia, to zmieńmy sobie nazwę sieci WiFi na taką bez spacji. Jeśli chodzi zaś o udostępnianie połączenia via USB, to na linux działa ono bez większego problemu. Poniżej jest log z mojego Debiana po podpięciu Neffos'a Y5 do portu USB komputera i przełączeniu telefonu w tryb tethering'u: kernel: usb 2-1.1: new high-speed USB device number 35 using ehci-pci kernel: usb 2-1.1: New USB device found, idVendor=2357, idProduct=032c kernel: usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 2-1.1: Product: Android kernel: usb 2-1.1: Manufacturer: Android kernel: usb 2-1.1: SerialNumber: 90169635 kernel: usbcore: registered new interface driver cdc_ether kernel: rndis_host 2-1.1:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.1, RNDIS device, f6:aa:d6:10:fa:ff kernel: usbcore: registered new interface driver rndis_host Jedne co musimy zrobić, to skonfigurować adresację IP na interfejsie usb0 . Bluetooth v4.1 (LE) Neffos Y5 ma na pokładzie 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. To niewątpliwie bardzo użyteczna technologia i w sumie jestem zadowolony z faktu, że TP-LINK postanowił ją w tym smartfonie zaimplementować. GPS, A-GPS, GLONASS i Galileo W Neffos Y5 mamy również zaszyty nadajnik GPS. Ten smartfon wpiera A-GPS (Assisted GPS), GLONASS (Globalnaja Nawigacionnaja Sputnikowaja Sistiema) oraz Galileo (europejski system nawigacji satelitarnej). 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. A Galileo to europejska alternatywa dla tych dwóch powyższych. Połączenie tych systemów daje możliwość bardzo akuratnych pomiarów, co przekłada się na szybsze i dokładniejsze ustalenie pozycji w terenie. Radio FM Nie mogło też zabraknąć odbiornika FM. Nie to bym jakoś specjalnie potrzebował tego przestarzałego już wynalazku, bo w końcu mamy internet ale zawsze to radio może nam się przydać, zwłaszcza tam, gdzie nie ma zasięgu internetu. No i oczywiście zakładając, że mamy jakieś słuchawki pod ręką, bo takowych w zestawie przecież zabrakło. Brak OTG Skoda, że w Neffos Y5 zabrakło jakże użytecznej właściwości jaką jest OTG, czyli możliwość pdłączenia do smartfona zewnętrznej klawiatury czy myszy. Android 6.0 Marshmallow Na plus za to można zaliczyć nowszą wersję Androida, tj. 6.0 Marshmallow. Jeśli chodzi zaś działanie samego systemu, to jak najbardziej jest ono płynnie. Jeśli ktoś jest ciekaw jak wyglądają temperatury podczas zwykłej pracy telefonu oraz przy 100% obciążeniu procesora (po 5 minutach), to poniżej są stosowne wyniki: Czy da radę przeprowadzić root na Neffos Y5 Proces ukorzeniania Androida (root) na Neffos Y5 jest możliwy, choć nie należy do najprostszych. Jak Neffos Y5 sprawuje się pod linux Generalnie rzecz biorąc, Neffos Y5 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 Y5 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 Neffos Y5 jest dość przyzwoitym smartfonem i pod wieloma względami przypomina Neffos C5 (4 rdzenie, 2 GiB RAM, 16 GiB flash, 8 mpix aparat główny, te same wymiary, ten sam wyświetlacz). Niemniej jednak, jak wykazały benchmarki (Y5/C5), Neffos Y5 zostaje nieco w tyle za Neffos C5. Ceny tych dwóch modeli są obecnie mniej więcej podobne, choć wybór konkretnego modelu nie jest zbytnio oczywisty. Neffos Y5 ma nowszego Androida (6.0) oraz o 2 GiB więcej na pamięci flash (dla partycji /data/ ). Ten smartfon radzi sobie także lepiej jeśli chodzi o czas pracy na baterii w stanie spoczynku no i wspiera również nowszy standard bluetooth. Brak OTG mogę jakoś przeżyć ale WiFi 5 GHz by się przydało.
  13. Bawiąc się ostatnio smartfonem Neffos C5 MAX od TP-LINK, obiecałem sobie, że jak tylko będę miał chwilę czasu, to postaram się ukorzenić Androida, który w tym telefonie siedzi (Lollipop). Generalnie rzecz biorąc, sposób root'owania tego urządzenia jest bardzo podobny do tego, który miałem już możliwość przeprowadzić na innym modelu TP-LINK'a, tj. Neffos C5. Dlatego też poniższy artykuł jest bardzo zbliżony treścią, choć lekko zaktualizowany pod kątem Neffos'a C5 MAX. Grunt, że nie było żadnych problemów z przeprowadzeniem backup'u flash'a telefonu jak i samego procesu root. Narzędzia ADB i fastboot Przede wszystkim, by zabrać się za proces root'owania smartfona Neffos C5 MAX, musimy przygotować sobie odpowiednie narzędzia. Zapewnią one nam możliwość rozmawiania z telefonem. Będziemy potrzebować adb (Android Debug Bridge) oraz fastboot . Proces instalacji tych narzędzi na linux, a konkretnie w dystrybucji Debian, został opisany osobno. Narzędzie SP Flash Tool Kolejnym narzędziem, które będzie nam niezbędne jest SP Flash Tool. Niestety nie jest ono włączone do dystrybucji Debian i musimy posiłkować się paczką, którą można znaleźć w podanym wyżej linku. Tutaj ważna uwaga. SP FLash Tool jest przeznaczony tylko dla smartfonów mających SoC od Mediatek. Pobieramy paczkę .zip dla linux'a i wypakowujemy ją. Jako, że SP Flash Tool wykorzystuje do komunikacji interfejs /dev/ttyACM0 , to do poprawnej pracy wymaga on operowania na tym interfejsie. Standardowo tylko administrator systemu oraz członkowie grupy dialout są w stanie korzystać z tego interfejsu. Musimy zatem dodać naszego użytkownika do tej grupy w poniższy sposób: # gpasswd -a morfik dialout Kompletny backup flash'a Neffos C5 MAX Mając zainstalowane te powyższe narzędzia, możemy przejść do zrobienia backup'u całego flash'a, który jest w naszym smartfonie. Proces backup'u najprościej przeprowadzić za pomocą SP Flash Tool. Niemniej jednak, potrzebne nam są pewne informacje, które możemy uzyskać przy pomocy adb . Podpinamy zatem telefon do portu USB komputera i w terminalu wpisujemy poniższe polecenie: # adb shell cat /proc/partinfo Name Start Size pgpt 0x0000000000000000 0x0000000000080000 proinfo 0x0000000000080000 0x0000000000300000 nvram 0x0000000000380000 0x0000000000500000 protect1 0x0000000000880000 0x0000000000a00000 protect2 0x0000000001280000 0x0000000000a00000 lk 0x0000000001c80000 0x0000000000080000 para 0x0000000001d00000 0x0000000000080000 boot 0x0000000001d80000 0x0000000001000000 recovery 0x0000000002d80000 0x0000000001000000 logo 0x0000000003d80000 0x0000000000800000 expdb 0x0000000004580000 0x0000000000a00000 seccfg 0x0000000004f80000 0x0000000000080000 oemkeystore 0x0000000005000000 0x0000000000200000 secro 0x0000000005200000 0x0000000000600000 keystore 0x0000000005800000 0x0000000000800000 tee1 0x0000000006000000 0x0000000000500000 tee2 0x0000000006500000 0x0000000000500000 frp 0x0000000006a00000 0x0000000000100000 nvdata 0x0000000006b00000 0x0000000002000000 metadata 0x0000000008b00000 0x0000000002500000 system 0x000000000b000000 0x0000000100000000 cache 0x000000010b000000 0x0000000019000000 userdata 0x0000000124000000 0x0000000286780000 flashinfo 0x00000003aa780000 0x0000000001000000 sgpt 0x00000003ab780000 0x0000000000080000 Ten zwrócony wyżej wynik jest dla smartfona Neffos C5 MAX. W przypadku innych telefonów, ta tabelka może mieć inną postać i nie możemy kopiować z niej wartości jeśli mamy inne urządzenie. Generalnie rzecz biorąc, to te dane potrzebne nam są do zbudowania pliku scatter.txt , w oparciu o który działa SP Flash Tool. Ten plik to zwyczajna mapa przestrzeni flash'a telefonu, który podzielony jest na szereg widocznych wyżej partycji. Plik scatter.txt dla Neffos C5 MAX Tutaj znajduje się plik scatter.txt (mt6753-neffos-c5-max-tp-link-scatter.txt), który ja wykorzystałem do pracy z Neffos C5 MAX. Kluczowa sprawa, to opisanie każdej partycji. W sumie to musimy odpowiednio dostosować pole partition_index , które jest zwyczajnie kolejnym numerkiem. Z kolei w partition_name podajemy nazwę partycji, którą uzyskaliśmy przez adb . Dalej w linear_start_addr oraz physical_start_addr wpisujemy tę wartość, która została wypisana przez adb w kolumnie Start . Na podobnej zasadzie uzupełniamy partition_size , podając wartość, którą widzieliśmy w adb w kolumnie Size . I to w zasadzie wszystkie zmiany, które musimy wprowadzić do pliku scatter.txt . Póki co nie mam informacji co do pozostałych opcji w tym pliku, wiem tylko, że część z nich jest uzupełniana przez SP Flash Tool podczas przeprowadzania działań w tym programie. Tworzenie backupu Mając plik scatter.txt możemy go wskazać w SP Flash Tool. Przechodzimy zatem do katalogu z wypakowaną zawartością pobranej paczki i uruchamiamy SP Flash Tool wpisując w terminalu ./flash_tool . Powinniśmy zobaczyć okienko, z kilkoma zakładkami. Na jednej z nich widnie napis Download . W niej z kolei znajduje się pozycja Scatter-loading file . To tutaj musimy wskazać ścieżkę do pliku scatter.txt , który utworzyliśmy wcześniej: Teraz przechodzimy na zakładkę Readback i tam dodajemy nową pozycję w tabelce. To tutaj określamy przestrzeń flash'a w telefonie, która zostanie skopiowana na dysk komputera. Nas interesuje cały flash. Dlatego też początek ustawiamy na 0x0 , a koniec musimy obliczyć z danych dostarczanych przez adb . Interesuje nas ostatnia partycja. Ma ona początek na 0x3ab780000 , a jej rozmiar to 0x80000 . Te dwie wartości musimy do siebie dodać, w wyniku czego otrzymujemy 0x3ab800000 i to tę wartość wpisujemy w SP Flash Tool. Region określamy jako EMC_USER : Dodajemy również drugą pozycję, która zrobi nam backup preloader'a. Z tym, że tutaj wybieramy region EMMC_BOOT_1 i określamy początek jako 0x0 , a koniec jako 0x40000 : Teraz wyłączamy telefon. Następnie w SP Flash Tool aktywujemy proces backup'u Neffos'a C5 MAX przyciskając Read Back . Podłączamy telefon do portu USB komputera. Po chwili smartfon powinien nam zawibrować ale nie uruchomi się. Rozpocznie się za to kopiowanie danych z telefonu na dysk. Proces backup'u potrwa dłuższą chwilę. W moim przypadku trwało prawie dwie godziny (transfer na poziomie 3 MiB/s). Ten backup jest nas w stanie zabezpieczyć na wypadek popełnionych błędów przy flash'owaniu telefonu. Podejrzymy jeszcze ten obraz w fdisk/gdisk , by mieć absolutną pewność, że jest w nim faktyczna kopia flash'a Neffos'a C5 MAX: Jak odblokować bootloader w Neffos C5 MAX Mając zrobiony kompletny backup flash'a, możemy przejść do odblokowania bootloader'a. Chodzi o to, że na smartfonach zwykle jest ulokowana partycja /recovery/ . Na niej znajduje się oprogramowanie umożliwiające przeprowadzanie operacji na poziomie systemowym, np. backup lub też flash'owanie ROM'u. Problem w tym, że to oprogramowanie w standardzie zwykle za wiele nie potrafi i by przeprowadzić proces root'owania Androida, musimy pozyskać bardziej zaawansowany soft, np. ClockworkMod czy TWRP, i wgrać go na partycję /recovery/ . By to zrobić musimy pierw odblokować bootloader. Proces odblokowania bootloader'a usuwa wszystkie dane, które wgraliśmy na flash telefonu, tj. podczas odblokowywania jest inicjowany factory reset. Dane na karcie SD pozostają nietknięte. By ten proces zainicjować zaczynamy od przestawienia jednej opcji w telefonie. W tym celu musimy udać się w Ustawienia => Opcje Programistyczne i tam przełączyć Zdjęcie blokady OEM : Następnie wyłączamy telefon i włączamy go trzymając Volume Up + Power. Z menu wybieramy tryb fastboot. Następnie w terminalu wpisujemy poniższe polecenia: # fastboot devices 8HCMMZFI89ROBI9H fastboot # fastboot oem unlock Na ekranie smartfona powinno nam pokazać się poniższe ostrzeżenie: Unlock bootloader? If you unlock the bootloader, you will be able to install custom operating system software on this phone. A custom OS is not subject to the same testing as the original OS, and can cause your phone and installed application to stop working properly. To prevent unauthorized access to your personal data, unlocking the bootloader will also delete all personal data from your phone "factory reset". Press the Volume UP/Down buttons to select Yes/No. Wciskamy Volume Up, by potwierdzić chęć odblokowania bootloader'a, po czym restartujemy smartfon: # fastboot reboot Jako, że proces odblokowania bootloader'a usunął wszelkie ustawienia, to jeszcze raz musimy włączyć Opcje Programistyczne, a w nich tryb debugowania portu USB. Wyodrębnianie obrazu partycji /recovery/ z obrazu Neffos'a C5 MAX Mając zrobiony backup flash'a telefonu, możemy z niego wyciągnąć obraz partycji /recovery/ . Musimy tylko zamontować ten obraz w systemie za pomocą losetup . Pamiętajmy, że ten obraz ma wiele partycji. Trzeba zatem nieco dostosować moduł kernela, by wszystkie z tych partycji zostały zamontowane za pomocą jednego polecenia. Informacje na temat tego jak dostosować moduł loop znajdują się tutaj. Przechodzimy zatem w miejsce, w którym zapisaliśmy obraz i montujemy go w poniższy sposób: # cd /path/to/image/ # losetup /dev/loop0 ROM_0 Teraz tworzymy obraz partycji /recovery/ . W tym przypadku /dev/loop0p8 jest urządzeniem, które musimy podać dd : # dd if=/dev/loop0p8 of=./recovery.img # file recovery.img recovery.img: Android bootimg, kernel (0x40080000), ramdisk (0x44000000), page size: 2048, cmdline (bootopt=64S3,32N2,64N2) Pozyskanie obrazu recovery.img z TWRP Musimy także pozyskać obraz recovery.img zawierający TWRP. Niestety, póki co nie ma obrazów dla Neffos'a C5 MAX. Dlatego też musimy sobie taki obraz recovery.img stworzyć sami przerabiając inny obraz, który jest przeznaczony na telefon zbliżony parametrami do naszego urządzenia (ten sam SoC, wielkość flash i rozdzielczość ekranu). Tutaj znajduje się gotowy obraz recovery, który można wgrać na telefon (recovery-neffos-c5-max-tp-link-twrp.img). Warto tutaj zaznaczyć, że nie zawsze taki obraz będzie nam działać bez problemu. W takim przypadku trzeba próbować innych obrazów, aż któryś zadziała. Nie musimy się tez obawiać wgrania złego obrazu na partycję /recovery/ . Jeśli zdarzy nam się wgrać niedziałający obraz recovery.img , to nie uszkodzimy smartfona. Zamiast tego telefon się zrestartuje i przywróci sobie starą partycję /recovery/ , a nas zaloguje do systemu jak gdyby nigdy nic. Przepakowanie obrazu recovery.img z innego smartfona By przepakować obraz przeznaczony na inny smartfon, który jest zbliżony parametrami do naszego Neffos'a C5 MAX, musimy pierw pozyskać odpowiednie narzędzia. Na linux'ie możemy skorzystać tego celu z abootimg lub też ze skryptów Android Image Kitchen. Ja będę korzystał z tego drugiego rozwiązania. Tworzymy sobie jakiś katalog roboczy i kopiujemy do niego zarówno oryginalny obraz partycji /recovery/ jak i ten z innego smartfona. Następnie znajdując się w tym katalogu roboczym, pobieramy skrypty z github'a (wymagane zainstalowane narzędzie git w systemie) i przechodzimy do utworzonego w ten sposób katalogu. W nim zaś tworzymy dwa podkatalogi stock/ oraz port/ : $ git clone https://github.com/ndrancs/AIK-Linux-x32-x64/ $ chmod +x ./AIK-Linux-x32-x64/* $ chmod +x ./AIK-Linux-x32-x64/bin/* $ cd ./AIK-Linux-x32-x64/ $ mkdir stock/ port/ Kopiujemy oryginalny obraz partycji /recovery/ z katalogu nadrzędnego i wypakowujemy go za pomocą skryptu unpackimg.sh . Następnie przenosimy tak wyodrębnioną zawartość do katalogu stock/ : $ cp ../recovery_orig.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ stock/ $ rm recovery.img Kopiujemy teraz obraz partycji /recovery/ mający TWRP i wypakowujemy go. Przenosimy jego zawartość do katalogu port/ : $ cp ../recovery_twrp.img ./recovery.img $ ./unpackimg.sh recovery.img $ mv split_img/ ramdisk/ port/ $ rm recovery.img Zgodnie z informacją zawartą w tym HOWTO (windows), musimy przekopiować kilka plików z oryginalnego obrazu naszego Neffos'a C5 MAX do obrazu TWRP: $ cp ./stock/split_img/recovery.img-kerneloff ./port/split_img/ $ cp ./stock/split_img/recovery.img-zImage ./port/split_img/ $ cp ./stock/ramdisk/fstab.mt6735 ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.modem.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.project.rc ./port/ramdisk/ $ cp ./stock/ramdisk/meta_init.rc ./port/ramdisk/ $ cp ./stock/ramdisk/ueventd.rc ./port/ramdisk/ Z tak przygotowanych plików w katalogu port/ trzeba zrobić nowy obraz recovery.img przy pomocy skryptu repackimg_x64.sh : $ rm -R stock/ $ mv port/ramdisk ./ $ mv port/split_img ./ $ rmdir port/ $ ./repackimg_x64.sh W katalogu roboczym powinien zostać utworzony nowy plik o nazwie image-new.img . To jest właśnie nasz nowy obraz partycji /recovery/ , który musimy wgrać na telefon w trybie fastboot. Wgrywanie przepakowanego obrazu recovery.img na Neffos'a C5 MAX Wyłączamy telefon i podpinamy go do portu USB. Następnie włączamy go trzymając VolumeUP + Power. Z menu, które nam się pokaże na ekranie telefonu wybieramy tryb fastboot. Wracamy na komputer i przy pomocy narzędzia fasboot wgrywamy wyżej wygenerowany obraz na telefon. # fastboot flash recovery image-new.img target reported max download size of 134217728 bytes sending 'recovery' (12868 KB)... OKAY [ 1.125s] writing 'recovery'... OKAY [ 0.360s] finished. total time: 1.485s Restartujemy telefon ( fastboot reboot ) i wchodzimy w tryb recovery (VolumeUp + Power), by potwierdzić, że nasz nowy obraz recovery się wgrał pomyślnie. W przypadku wgrania poprawnego obrazu, powinniśmy zobaczyć logo TWRP. Jeśli wgrany obraz był nieprawidłowy, to zobaczymy jedynie czarny ekran i nasz Neffos C5 MAX się po chwili uruchomi ponownie w normalnym trybie przywracając oryginalną partycję /recovery/ . SuperSU, BusyBOX, RootCheck i emulator terminala Ostatnią rzeczą na drodze do zrobienia root na Neffos C5 MAX jest wgranie aplikacji umożliwiającej korzystanie różnym programom z praw administratora systemu w telefonie. My skorzystamy z SuperSU. Dodatkowo, musimy wgrać sobie BusyBOX, który zawiera minimalistyczne odpowiedniki linux'owych narzędzi, co pozwoli nam swobodnie operować w Androidzie, tak jakbyśmy to robili pod pełnowymiarowym pingwinem. Potrzebny nam także będzie jakiś emulator terminala, w którym to będziemy wpisywać wszystkie nasze polecenia. Instalacja SuperSU Zacznijmy od pobrania stosownej paczki z SuperSU. Jako, że my nie mamy jeszcze zrobionego root'a, to musimy pobrać TWRP / FlashFire installable ZIP . Tej paczki nie wypakowujemy, tylko wrzucamy ją w pobranej formie na kartę SD w telefonie. Odpalamy teraz tryb recovery w smartfonie (VolumeUp + Power) i przechodzimy do Instaluj (TWRP jest również w języku polskim): Następnie wskazujemy paczkę .zip , którą umieściliśmy na karcie SD. Tam z kolei zaznaczamy Weryfikuj sygnatury pliku zip i przeciągamy trzy strzałki na prawą stronę. Teraz możemy uruchomić ponownie Neffos'a C5 MAX i zainstalować jakąś aplikację, która pokaże nam czy nasz smartfon ma root'a. Sprawdzenie czy Neffos C5 MAX ma root'a Po uruchomieniu się systemu na smartfonie, instalujemy aplikację RootCheck, po czym uruchamiamy ją. Powinien się pojawić monit informujący, że ta aplikacja żąda praw administracyjnych, na co zezwalamy. Jeśli nasz telefon ma root'a, to powinien się pojawić stosowny komunikat: Instalacja BusyBOX Kolejnym krokiem jest instalacja BusyBOX'a. Po wgraniu tej aplikacji na smartfona, musimy ją uruchomić i wcisnąć w niej przycisk install . BusyBOX również nas poprosi o dostęp do praw administracyjnych: Po zainstalowaniu, weryfikujemy jeszcze, czy aby wszystko zostało pomyślne wgrane. Możemy to zrobić zarówno w samej aplikacji BusyBOX, jak i w CheckRoot: Instalacja terminala Z BusyBOX'em zostały dostarczone niskopoziomowe narzędzia, które mogą korzystać z uprawnień administratora systemu za sprawą SuperSU. Niemniej jednak, by móc odpalać te programiki, musimy w czymś je uruchomić. Do tego celu potrzebny jest nam shell oraz emulator terminala. Domyślny shell ash jest dostarczany razem z BusyBOX. Terminal musimy doinstalować osobno. Generalnie to znalazłem dwa terminale, które są OpenSource i bez reklam/opłat. Są to Android-Terminal-Emulator oraz Termux. Wybieramy sobie jeden z nich i instalujemy w systemie. Tutaj warto jeszcze zaznaczyć, że ten drugi terminal instaluje sobie również shell dash (domyślny shell w Debianie) . Również w jego przypadku możemy łatwo doinstalować sobie aplikacje za pomocą apt , podobnie jak w Debianie (do tego celu nie jest wymagany root). Jako, że ja korzystam na co dzień z Debiana, to instaluje Termux'a. Aplikacje i prawa administracyjne Teraz już pozostało nam tylko odpalenie terminala i zalogowanie się na użytkownika root. Do tego celu służy polecenie su . Wpiszmy je zatem w okienku Termux'a: I teraz możemy uruchamiać aplikacjie z prawami admina, tak jak to zwykliśmy robić w każdym innym linux'ie. Pamiętajmy tylko, że standardowo system plików jest zamontowany w trybie tylko do odczytu (RO) i by móc zmieniać pliki systemowe z poziomu tego terminala, musimy przemontować system plików w tryb do zapisu (RW). Robimy to w poniższy sposób: $ su # mount -o remount,rw /system Gdy skończymy się bawić, to montujemy ten system plików ponownie w tryb RO: # mount -o remount,ro /system
  14. Proces root na smartfonie Neffos C5 MAX od TP-LINK można przeprowadzić w miarę bez większych problemów, choć nie jest to rozwiązanie działające OOTB. Niemniej jednak, taki root telefonu czyni go bardziej podatnym na zagrożenia ze strony wrogich aplikacji. Ponadto, kasując czy też zmieniając pliki systemowe, możemy sprawić, że nasze urządzenie zwyczajnie przestanie nam działać, tj. już się nie uruchomi. Niektórzy użytkownicy smartfonów nie zdają sobie z tego sprawy i ukorzeniają Androida bez głębszego zastanowienia się. Mi jako linux'iarzowi, root jest niezbędny do pracy ale czy aby na pewno każdy musi go mieć? Ci z was, którzy taki root systemu przeprowadzili i nie korzystają z niego praktycznie wcale, zastanawiają się pewnie czy istnieje sposób, by cofnąć wprowadzone zmiany i przywrócić Androida do stanu pierwotnego. Krótka odpowiedź brzmi: "oczywiście, że tak" i temu procesowi przyjrzymy się w niniejszym artykule. Czy potrzebny mi jest root Android'a Standardowo w Androidzie każda aplikacja zainstalowana w telefonie ma przypisane indywidualne UID/GID (użytkownika i grupę). Żadna aplikacja nie jest w stanie odczytać danych innych programów, które zainstalowaliśmy w systemie. Zaprzęgając mechanizm root dajemy możliwość pewnym aplikacjom na dostęp do danych każdego innego programu. Jeśli teraz wgramy podejrzaną aplikację, to może ona wykorzystać fakt ukorzenienia Androida i uzyskać dostęp do poufnych danych czy nawet przejąc całkowitą kontrolę nad systemem operacyjnym telefonu, wliczając to podsłuch z mikrofonu, kamery i klawiatury. Dlatego też w pewnych sytuacjach root Androida nie jest wskazany. Trzymając się pewnych zdroworozsądkowych zasad można uniknąć zagrożeń, które niesie ze sobą root systemu. Niemniej jednak, jeśli niezbyt rozważnie korzystamy z telefonu, np. pobieramy aplikacje bez ich uprzedniej weryfikacji, to root może tylko przyczynić się do kompromitacji zabezpieczeń telefonu, przez co potencjalny atakujący może bez problemu uzyskać dostęp, np. do danych konta bankowego. Jakie zmiany po przeprowadzaniu procesu root można cofnąć Standardowo na smartfonie z Androidem mamy min. partycję /system/ oraz /data/ . Na /system/ znajduje się fabryczny Android, czyli ten system, który w tym przypadku został wypuszczony przez TP-LINK. Tej partycji nie można zapisać bez przeprowadzenia procesu ukorzeniania systemu. Z kolei zaś na partycji /data/ są przechowywane wszystkie zmiany jakie użytkownik telefonu wprowadził, np. za sprawą wgrania plików, zmiany konfiguracji/ustawień czy aktualizacji poszczególnych aplikacji. W przypadku posiadania smartfona, który przeszedł proces root, to na takim urządzeniu zostały poczynione pewne zmiany. Przede wszystkim, aplikacje SuperSU i BusyBox wgrały nam pliki do katalogu /system/xbin/ (przynajmniej na Android 5.1 Lollipop). Dodatkowo, każda aplikacja wymagająca uprawnień administratora mogła również wprowadzić jakieś zmiany na partycji /system/ . Wszelkie niestandardowe zmiany (edycja/dodanie/usunięcie plików systemowych) wprowadzane czy to przez nas czy przez aplikacje wymagające root mogą zostać cofnięte przez wgranie wcześniej zrobionego backup'u flash'a telefonu. Oczywiście nie musimy wgrywać całego backup'u, a jedynie tę część, na której znajduje się partycja /system/ oraz /data/ . O ile przywrócenie partycji /system/ jest wielce niezbędne, o tyle przywrócenie partycji /data/ może trwać sporo czasu. Biorąc pod uwagę, że są tam jedynie dane użytkownika, których nie ma za wiele tuż po wyjęciu smartfona z pudełka, to przydałoby się wyczyścić również i tę przestrzeń przed odkorzenieniem Androida. Ten proces możemy przeprowadzić korzystając z Factory Reset z poziomu systemu. Powinien nam on efektywnie te dane bardzo szybko usunąć. Trzeba także pamiętać, że zmiany wprowadzone w procesie ukorzeniania telefonu nie ograniczają się jedynie do partycji /system/ . Została zmieniona przecież także partycja recovery , bez której nie byłby możliwy root Neffos'a C5 MAX. Tę partycję również musimy przywrócić. Odinstalowanie SuperSU (unroot) Od czego zatem zacząć powrót do stock'owego oprogramowania naszego Neffos'a C5 MAX? To pytanie trzeba rozważyć pod kątem wprowadzanych zmian po dokonaniu procesu root. Jeśli nie były one zbyt zaawansowane, np. instalowaliśmy jedynie kilka aplikacji wymagających praw administracyjnych w celu odczytu plików systemowych, to możemy skorzystać z opcji dostępnej w SuperSU, tj. Pełny unroot : Pamiętajmy tylko, by usunąć wszelkie aplikacje wymagające root przed usunięciem SuperSU. W przypadku moich smartfonów Neffos C5 i Neffos C5 MAX, opcja unroot widoczna w SuperSU nie zadziałała z początku. Po przyciśnięciu na ekranie pojawiła się jedynie informacja o czyszczeniu, a proces się zawiesił. Jeśli też natrafiliśmy na tego typu problem, to trzeba zresetować smartfon i ponowić proces unroot bezpośrednio po włączeniu urządzenia. Po odinstalowaniu SuperSU trzeba uruchomić smartfon ponownie. Spróbujmy się teraz zalogować na użytkownika root z poziomu jakiegoś terminala. Powinniśmy zobaczyć poniższy komunikat: Nie musimy się obawiać o dane zgromadzone na partycji /data/ , bo nie zostaną one ruszone w żaden sposób. Podobnie sprawa ma się w przypadku karty SD. No i nie zostaną cofnięte żadne zmiany na partycji /system/ , oczywiście w przypadku, gdy coś zmienialiśmy. Zatem widzimy, że proces likwidacji root w Neffos C5 MAX jest praktycznie automatyczny. Niemniej jednak, co w przypadku, gdy mamy jakieś zmiany na partycji /system/ lub też wgraliśmy niestandardowy ROM? Odpowiedź jest prosta: trzeba przeprowadzić Factory Reset, który wyczyści dane na partycji /data/ oraz przywrócić partycję /system/ z wcześniej utworzonego backupu flash'a smartfona. Trzeba będzie także przywrócić partycję recovery , bo nie została ona odtworzona w procesie unroot przeprowadzonym z poziomu SuperSU. Factory Reset W przypadku wprowadzenia zmian na partycji /system/ (innych niż wgranie SuperSU i BusyBox) dobrze jest pierw usunąć wszystkie dane znajdujące się na partycji /data/ . Chodzi o to, że pliki zgromadzone na tej partycji mogą generować różne problemy w sytuacji, gdy przywraca się oryginalny ROM. Nie jest to regułą ale jeśli chcemy uniknąć błędów, to zalecane jest przeprowadzić pierw Factory Reset. Oczywiście możemy ten krok całkowicie pominąć. W przypadku ewentualnych problemów po flash'owaniu telefonu, Factory Reset będziemy mogli przeprowadzić z poziomu trybu recovery (przyciski Power + Volume UP trzymane podczas startu telefonu). Jeśli jednak chcemy wyczyścić wszystkie dane na partycji /data/ przed flash'owaniem telefonu, to możemy to zrobić z poziomu działającego systemu przechodząc do Ustawienia => Kopia i kasowanie danych => Ustawienia fabryczne: Przywrócenie partycji /system/ na Neffos C5 MAX Jak już zostało wspomniane wyżej, na partycji /system/ znajduje się ROM TP-LINK z Androidem 5.1 (Lollipop). By powrócić do niego, musimy przywrócić całą partycję. Możemy to zrobić z poziomu aplikacji SP Flash Tool, oczywiście zakładając, że pierw utworzyliśmy backup flash. Zamontujmy ten backup w systemie przy pomocy poniższego polecenia: # losetup /dev/loop0 /media/Kabi/neffos/backup_phone/NeffosC5MAX-orig.img W systemie powinniśmy mieć dostęp do szeregu partycji tego obrazu. Jeśli się tak nie stało to musimy odpowiednio skonfigurować moduł loop. Podejrzymy także w gdisk jak prezentuje się tablica partycji samego obrazu. Interesuje nas generalnie pozycja system : # gdisk -l /media/Kabi/neffos/backup_phone/NeffosC5MAX-orig.img Number Start (sector) End (sector) Size Code Name ... 20 360448 8749055 4.0 GiB 0700 system ... Widzimy przy niej numer 20. Teraz w systemie odszukujemy urządzenie loop mające numer 20. W moim przypadku jest to /dev/loop0p20 . Możemy także zamontować tę partycję, by się upewnić, że faktycznie znajduje się na niej stock'owy system: # mount -o ro /dev/loop0p20 /mnt Jeśli nie ma żadnego błędu i możemy przeglądać katalog /mnt/ bez problemu, oznacza to, że jest to ta partycja, której dane musimy przesłać na smartfona. Odmontujmy ją zatem i zrzućmy dane z tego urządzenia loop do pliku przy pomocy dd : # dd if=/dev/loop0p20 of=./orig_system.img bs=2M 2048+0 records in 2048+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 216.991 s, 19.8 MB/s Mając wyodrębnioną partycję /system/ możemy ją wgrać na smartfon przy pomocy SP Flash Tool. Potrzebna nam jest tylko mapa przestrzeni flash, a ta siedzi w pliku mt6753-neffos-c5-max-tp-link-scatter.txt. Jest tam również pozycja dotycząca partycji /system/ . Odpalamy zatem SP Flash Tool i przechodzimy na zakładkę Download, gdzie wskazujemy nasz plik scatter.txt : Mamy tutaj wyszczególnione obszary pamięci flash w Neffos C5 MAX, które możemy zapisać. Nas interesuje w tej chwili tylko pozycja system . Zaznaczamy ją i upewniamy się, że nad tabelką wybraliśmy Download Only . Może i tutaj jest słówko Download ale trzeba patrzyć na ten proces z perspektywy telefonu, czyli to on będzie pobierał dane z komputera. Podłączamy teraz Neffos'a C5 MAX do portu USB komputera. Następnie w SP Flash Tool przyciskamy przycisk Download i wyłączamy telefon. Następnie próbujemy go uruchomić w trybie recovery przyciskając przycisk Power + Volume UP jednocześnie. Smartfon się nie uruchomi ale rozpocznie się proces flash'owania. Sam proces powinien zakończyć się powodzeniem. Teraz można wyciągnąć smartfona z portu USB i uruchomić. Przywrócenie partycji recovery W przypadku partycji recovery możemy postąpić dokładnie w taki sam sposób, tj. wgrać stock'owy obraz przy pomocy SP Flash Tool. Niemniej jednak, nie musimy tego robić po wgraniu obrazu partycji /system/ . W moim przypadku, partycja recovery została automatycznie odtworzona po wgraniu obrazu partycji /system/ . Sprawdzenie czy Neffos C5 MAX ma root'a Ostatnią rzeczą, która nam została to na własne oczy przekonanie się czy wszystkie zmiany zostały cofnięte. Factory reset powinien nam wyczyścić wszystkie dane na partycji /data/ . Powinniśmy mieć także stock'ową partycję /system/ oraz recovery . Z kolei root możemy sprawdzić za pomocą Root Check: Zablokowanie bootloader'a Ostatnią rzeczą, którą musimy zrobić, to zablokowanie bootloader'a. Odpalamy zatem smartfon w trybie fastboot (Power + VolUp). Podłączamy także urządzenie do portu USB komputera i wpisujemy w terminalu poniższe polecenie: # fastboot oem lock ... (bootloader) Start lock flow OKAY [4.132s] finished. total time: 4.132s Po wydaniu tej komendy, na ekranie smartfona pojawi się poniższa informacja: If you lock the bootloader you will need to install official operating system software on this phone. To prevent unauthorized access to your personal data, locking the bootloader will also delete all personal data from your phone (a "Factory data reset"). Press the Volume Up/Down button to select Yes or No. Yes (Volume Up) Lock bootloader No (Volume Down) Do not lock bootloader Proces zablokowania bootloader'a usuwa wszystkie dane użytkownika (Factory Reset), zatem upewnij się, że zrobiliśmy ewentualny backup. Przyciskamy teraz Volume Up. Po chwili zostaniemy przeniesieni do menu wyboru. Restartujemy telefon wpisując w terminalu poniższe polecenie: # fastboot reboot Smartfon zrestartuje się parokrotnie podczas procesu blokowania bootloader'a ale ostatecznie system powinien się bez większego problemu załadować na domyślnych ustawieniach.
  15. Jeszcze nie tak dawno temu ludzkość była w stanie obejść się bez komputera, a dzisiaj raczej już wszyscy mamy z nim styczność w większym lub mniejszym stopniu. Spora część osób nawet sobie tego faktu nie uświadamia mając jednocześnie w kieszeni smartfona czy jakiś inny telefon, a przecie te urządzenia są w zasadzie komputerami, tylko nieco mniejszymi w porównaniu do desktopowych odpowiedników. Na dobrą sprawę to właśnie dzięki tym sprzętom jesteśmy w stanie komunikować się z osobami na drugim końcu świata prawie w czasie rzeczywistym. Jakby wyglądał nasz świat bez tych malutkich i niepozornych stworzeń informatycznych, które towarzyszą nam w codziennym życiu praktycznie non stop? Na to pytanie raczej każdy z nas musi sobie sam udzielić odpowiedzi, bo ta technologia niekoniecznie zmieniła otaczającą nas rzeczywistość w stopniu jednakowym dla nas wszystkich. Niemniej jednak, rozwój technologiczny ciągle postępuje i obecnie mamy na rynku smartfony 4 czy nawet 8 rdzeniowe wyposażone w 2-4 GiB RAM. Jakiś czas temu byłem w stanie przetestować smartfon Neffos C5 od TP-LINK, który miał właśnie 4 rdzenie i 2 GiB pamięci operacyjnej. Niemniej jednak, ten producent ma również w ofercie i inne modele telefonów, min. Neffos C5 MAX (TP702A), który również trafił w moje łapki. Postanowiłem zatem go poddać testom i sprawdzić czy jest on w stanie zadowolić takiego wybrednego linux'iarza jak ja. Zawartość opakowania Opakowanie, w którym dotarł do mnie Neffos C5 MAX, jest raczej standardowe jak na pudełko skrywające w środku smartfon i bardzo podobne do tego, które miał Neffos C5, z tym, że nieco większe. Poniżej zaś znajduje się cała zawartość opakowania: Poza samym smartfonem, w zestawie mamy również słuchawki z wtykiem minijack 3,5 mm: Jest też ładowarka 2A/5V: Jak i również standardowy przewód USB, przy pomocy którego możemy podłączyć smartfon do ładowarki jak i bezpośrednio do portu USB komputera. Specyfikacja Neffos C5 MAX Ten model Neffos'a C5 MAX, który do mnie dotarł jest w kolorze białym, choć są również i czarne/grafitowe. Dla mnie kolor nie ma większego znaczenia o ile urządzenie działa i realizuje powierzone mu funkcje bez zarzutu. Sam smartfon jest za do dość sporych rozmiarów (wy/sz/gr): 152x76x9 mm. Jak dla mnie, to jest on trochę za duży. Dla porównania Neffos C5 idealnie leżał w mojej łapce. Z kolei waga Neffos'a C5 MAX to około 160 gramów. Obudowa i jej wnętrze Obudowa smartfona Neffos C5 MAX jest generalnie z plastiku. Na lewej krawędzi nie ma umiejscowionych żadnych przycisków czy gniazdek, za to na prawej krawędzi znajduje się przycisk głośności (VolumeUp i VolumeDown) oraz przycisk zasilania (Power). W dolnym rogu mamy lekkie wcięcie umożliwiające łatwe otworzenie obudowy telefonu: Na górnej krawędzi smartfona mamy zaś jedynie gniazdko słuchawkowe: Za to na dolnej krawędzi jest standardowo port mikro USB oraz mikrofon do rozmów telefonicznych: Jeśli zaś chodzi o przód smartfona, to większość zajmuje naturalnie wyświetlacz. Przy górnej krawędzi mamy zaś (patrząc od lewej strony) czujnik światła, głośnik oraz aparat przedni 5 mpix (2560x1920 px fotki, 640x480 px video). Między głośnikiem, a aparatem jest również czerwona/zielona dioda powiadomień. Z tyłu Neffos'a C5 MAX mamy z kolei aparat 13 mpix (3120x4160 px fotki, 1920x1080 px video) z przysłoną f/2.0 . Z lewej strony aparatu mamy zaś dwie diody robiące za lampę błyskową jak i za latarkę. Nad aparatem został zaś ulokowany mikrofon z redukcją szumu. Ten tylny aparat jest w moim odczuciu sporo lepszy w porównaniu do tego, który jest w Neffos C5. Chodzi generalnie o jakość fotek czy filmów robionych przy słabym oświetleniu. Neffos C5 MAX radzi sobie z tym zadaniem o wiele lepiej. Niemniej jednak przedni aparat nie zachwyca, a video w 640x480 px nie przekracza progów moich minimalnych standardów. Generalnie to ja bym się nie obraził, gdyby tego aparatu przedniego zabrakło, bo użytek z niego nie jest zbyt wielki. Niżej przy dolnej krawędzi obudowy mamy dziurki na głośnik multimedialny: Wewnątrz obudowy znajdziemy za to baterię 3045 mAh. Niestety jest to wbudowana bateria i nie damy rady jej wyciągnąć i ewentualnie sami wymienić, gdy zajdzie taka potrzeba. Na plus za to można zaliczyć umiejscowienie slotów oraz karty SIM i kartę mikro SD (max. 32 GiB). Karty nie są blokowane w żaden sposób i można je bez problemu usnąć bez potrzeby wyłączania telefonu. Może nie jest ten zabieg zalecany w przypadku kart SIM ale jest to bardzo użyteczna właściwość w przypadku karty SD, którą można ręcznie odmontować w systemie i wyciągnąć bez uszkadzania zgromadzonych na niej danych. Wyświetlacz IPS 5,5" Neffos C5 MAX dysponuje wyświetlaczem IPS (In-Plane Switching) 5,5 cala o rozdzielczości 1920x1080 px chroniony szkłem Corning Gorilla. Ilość punktów na cal (PPI) to 403, co przekracza minimalne 300, przy których ludzkie oko może lekko się buntować patrząc na ekran, zwłaszcza podczas czytania tekstu. Czcionki są ostre i raczej nie mam im nic do zarzucenia. Jeśli zaś chodzi o kolory i kąty widzenia, to nie ma przekłamań kolorów przy spoglądaniu na telefon nawet pod dość ostrymi kątami. Kontrast (1600:1) jak i jasność ekranu również jest bardzo zadowalająca. Nie mogę złego słowa powiedzieć o maksymalnej jasność i raczej nie powinniśmy mieć problemów z operowaniem na smartfonie w bardzo słoneczne dni w środku lata. Niemniej jednak, minimalna jasność mogłaby być nieco niższa, tj. ekran mógłby być nieco ciemniejszy, bo w nocy jednak idzie odczuć lekki dyskomfort. Automatyczne dostosowanie jasności działa z lekkim opóźnieniem ale jest płynne. Pasywny Dual SIM To co jest standardem w przypadku telefonów produkowanych przez TP-LINK, to fakt implementacji dual SIM w każdym modelu smartfona, który został przez tego producenta wypuszczony na rynek. Każdy z tych SIM'ów może być 2G/3G/4G. Ja akurat bardzo cenię sobie to rozwiązanie, bo korzystam z niego non stop i chyba nie zaprzestanę, zwłaszcza po ostatnich doniesieniach w sprawie darmowego internetu Aero2, który będzie działał jeszcze co najmniej trzy lata. Mając dual SIM w smartfonie, mam również i darmowy internet. Choć jakby nie patrzeć brakuje mi jeszcze jednego gniazdka na dodatkowy SIM, także chciałbym się doczekać Neffos'a oferującego triple SIM (albo może i quad SIM). Może to dla wielu ludzi wydawać się dziwne ale dla zagorzałego zwolennika prepaidów, posiadanie karty SIM u kilku operatorów GSM jest wielce praktyczne i znacząco obniża koszty rozmów. Procesor MTK MT6753 (8 rdzeni) Smartfon Neffos C5 MAX jest póki co najmocniejszym smartfonem TP-LINK'a dostępnym na polskim runku. To co najbardziej wyróżnia ten telefon od pozostałych modeli tego producenta, to fakt zastosowania w nim 64-bitowego procesora MediaTek MTK MT6753 (datasheet), który włada 8 rdzeniami opartymi na architekturze ARM Cortex-A53 taktowanymi dynamicznie zegarem od 300 MHz do 1,3 GHz. Układ graficzny, który został zastosowany w tym smartfonie to ARM Mali-T720 MP3 taktowany zegarem 450 MHz będący w stanie obsłużyć wyświetlacz w rozdzielczości 1280 x 1920 pikseli (FHD) oraz nagrywać i odtwarzać materiały wideo w rozdzielczości maksymalnej 1080p przy 30 FPS'ach. Procesor graficzny posiada także wsparcie dla API takich standardów jak OpenGL ES 1.1/2.0/3.0, OpenCL 1.0/1.1/1.2 oraz DirectX9. Proces technologiczny tego SoC'a to 28 nm. Pamięć RAM i flash Podobnie jak i w przypadku dual SIM, dla mnie standardem jest również stosowanie w obecnych smartfonach 2 GiB pamięci operacyjnej RAM. Raczej bym się nie odważył na zakup telefonu z Androidem w wersji 5, 6 czy 7, który ma mniej niż 2 GiB RAM. Jest bowiem spore prawdopodobieństwo, że taki system nie będzie działał płynnie. Na szczęście Neffos C5 MAX spełnia moje minimalne wymagania w zakresie dostępnej pamięci operacyjnej, tj. ma 2 GiB, z czego około 500 MiB jest używane przez system i wbudowane aplikacje: Jeśli zaś chodzi o pamięć flash Neffos'a C5 MAX, to dysponuje on 16 GiB. Niemnie jednak, do dyspozycji użytkownika jest około 10 GiB. Nie wiem czemu TP-LINK tak marnotrawi miejsce w tych smartfonach z serii Cx. Jak się popatrzy na układ partycji na flash tych modeli telefonów, to partycja /system/ ma 4 GiB. Z czego obraz ROM'u zajmuje około połowy. Zatem bez przeprowadzenia procesu root Androida, to miejsce pozostanie niewykorzystane i na dzień dobry tracimy prawie 2 GiB, z których 3/4 można by z powodzeniem dodać do partycji /data/ , tj. na dane użytkownika. To marnotrawstwo jakże cennego miejsca na pamięci flash smartfona zdaje się być ograniczone w nowszych seriach Neffos'ów, dla przykładu Yx. W ich przypadku partycja /system/ jest troszeczkę większa niż sam ROM. W efekcie zamiast 10 GiB na dane, mamy około 12 GiB. Nie wiem czy da radę jakoś zaradzić tej sytuacji w przypadku Neffos'ów z serii Cx ale widziałem na necie możliwość przepartycjonowania flash'a smartfona. Jeśli uda mi się przeprowadzić taki proces z powodzeniem, to z pewnością podlinkuję go tutaj. Oczywiście nie obejdzie się bez ukorzeniania Androida. (FIXME) Bateria Jak widzieliśmy na jednej z powyższych fotek, w Neffos C5 MAX bateria jest niestety zamontowana na stałe. Niemniej jednak, ma te swoje 3000 mAh z lekkim hakiem. Jak wygląda sprawa ładowania baterii tego smartfona? Niby w zestawie jest dołączona ładowarka 2A/5V ale z tego co zauważyłem, to Neffos C5 MAX nie pobiera podczas ładowania więcej niż 0,92 A - 0,95 A. Dlaczego zatem TP-LINK dorzucił do zestawu taką ładowarkę? Dla kontrastu, w pozostałych modelach jest już ładowarka 1A/5V i w tym przypadku również by ona wystarczyła. Zostawmy może w spokoju sprawę samej ładowarki i przejdźmy do bardziej interesującej kwestii czyli do czasu ładowania tego smartfona 0% do 100%. Wygląda na to, że ten czas oscyluje w graniach 4 godzin, czyli jest to bardzo dużo. Wiemy zatem, że ten model nie wspiera szybkiego ładowania, a szkoda. Poniżej są wykresy z procesu ładowania: Jeśli zaś chodzi o rozładowanie baterii, to tutaj już sprawa wygląda dość przyzwoicie. Z szacunków Androida, w pełni naładowany Neffos C5 MAX będący w spoczynku rozładowuje się jakieś 22 dni. Jeśli zaś chodzi o rozładowanie baterii podczas używania telefonu, to ten czas ulega dość znacznemu skróceniu i wynosi około 8 godzin 20 i minut. Przynajmniej tyle zwrócił test wydajności przeprowadzany w PCMark dla Neffos C5 MAX. Głośnik i słuchawki Myślałem, że może ten wbudowany głośnik jest nieco lepszej jakości w Neffos C5 MAX w stosunku do Neffos C5 ale jednak mam wrażenie, że to dokładnie ten sam hardware i nie słyszę praktycznie żadnej różnicy w wydobywającym się dźwięku. Może i wielu użytkowników smartfonów traktuje te urządzenia jako zwykle telefony i uważa, że nie powinny one zbytnio wydawać z siebie żadnych odgłosów, a ewentualną muzykę lepiej słuchać przez słuchawki ale ja, gdy tylko mogę, to unikam stosowania słuchawek. Niemniej jednak, dźwięk w słuchawkach tych dołączonych do zestawu jest sporo lepszej jakości, choć też do najlepszych nie należy. Jeśli chodzi o dźwięk, to jednak bym oczekiwał czegoś więcej. Za to na plus mogę zaliczyć przesyłanie dźwięku przez protokół bluetooth. Czujniki Czujniki, w które został wyposażony Neffos C5 MAX, są raczej standardowe. Mamy tutaj akcelerometr, czujnik zbliżeniowy, czujnik światła no i magnetometr umożliwiający przerobienie smartfona na elektroniczny kompas: Niemniej jednak, brakuje mi tutaj żyroskopu, wysokościomierza, termometru, barometr no i oczywiście licznika Geigera. To tak na wypadek apokalipsy zombi. Może przesadzam ale ten licznik Geigera bardzo by mi się przydał. Łączność 2G/3G/LTE Neffos C5 MAX zalicza się do tej grupy smartfonów, które mają wbudowany modem LTE kategorii 4 (Cat4). Teoretycznie jesteśmy w stanie osiągnąć transfer na poziomie 150/50 mbit/s (download/upload), a jak wygląda realna prędkość? Muszę przyznać, że trochę się zdziwiłem: W sumie nigdy wcześniej się nie zbliżyłem do 100 mbit/s po LTE ale najwyraźniej mój operator GSM poprawił nieco swoją infrastrukturę sieci w okolicy. Ten modem obsługuje standardowe europejskie pasma częstotliwości dla LTE w technologi FDD, kanały B1/B3/B7/B8/B20 (2100/1800/2600/900/800 MHz). Neffos C5 Max jest także w stanie obsługiwać standardy DC-HSPA+/HSPA/UMTS: B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM: 850/900/1800/1900 MHz. WiFi 2,4 GHz Podobnie jak i bez LTE, szanujący się smartfon nie może się obejść bez WiFi. Neffos C5 MAX może i posiada obsługę WiFi ale jedynie w paśmie 2,4 GHz, a wiemy, że to pasmo jest ździebko zapchane. Obecnie dla mnie standardem jest obsługa sieć WiFi w paśmie 5 GHz. Bezprzewodowe routery oferujące takie połączenia są już praktycznie w zasięgu każdej osoby. Dlatego też uważam, że WiFi 5 GHz powinno w smartfonie się znaleźć. Ten nadajnik WiFi, który jest w Neffos'ie C5 MAX, obsługuje standard N do 150 mbit/s, czyli pojedynczy strumień przestrzenny. Transfer jaki udało mi się uzyskać za pomocą tego telefonu po WiFi oscylował w granicach 100 mbit/s, czyli mniej więcej standardowo. Jeśli zaś chodzi o zasięg WiFi, to też jest on raczej przeciętny. Poniżej jest fotka moich trzech AP rozmieszczonych po domu w różnych pomieszczeniach. Kanał 11 obrazuje siłę sygnału docierającą do smartfona z AP zlokalizowanego w tym samym pokoju. Na kanale 6 jest AP w odległości około 4 metrów + ściana. Na kanale 1 jest AP w odległości 6 metrów + trzy ściany: Udostępnianie połączenia 3G/LTE oraz WiFi (tethering) Neffos C5 MAX wspiera naturalnie tethering, czyli możliwość udostępniania połączenia internetowego (3G/LTE) komputerom podłączonym do smartfona po WiFi. Jest też możliwość udostępnienia połączenia WiFi, jeśli komputer podepniemy do portu mikro USB w telefonie. Raczej nie powinno być problemów z podłączeniem się do AP, który skonfigurujemy sobie na smartfonie. Niemniej jednak, z tego co obserwuję, to w Neffos'ach ESSID sieci WiFi zawiera spacje. Spacje w nazwach sieci są znane z tego, że powodują problemy z połączeniem. Zatem jeśli dane logowania do sieci podaliśmy prawidłowe ale nie możemy nawiązać połączenia, to zmieńmy sobie nazwę sieci WiFi na taką bez spacji. Jeśli chodzi zaś o udostępnianie połączenia via USB, to na linux działa ono bez większego problemu. Poniżej jest log z mojego Debiana po podpięciu Neffos'a C5 MAX do portu USB komputera i przełączeniu telefonu w tryb tethering'u: kernel: usb 2-1.1: new high-speed USB device number 8 using ehci-pci kernel: usb 2-1.1: New USB device found, idVendor=2357, idProduct=031e kernel: usb 2-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=4 kernel: usb 2-1.1: Product: Neffos kernel: usb 2-1.1: Manufacturer: TP-LINK kernel: usb 2-1.1: SerialNumber: 8HCMMZFI89ROBI9H kernel: usbcore: registered new interface driver cdc_ether kernel: rndis_host 2-1.1:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.1, RNDIS device, 26:fa:ce:b5:72:9d kernel: usbcore: registered new interface driver rndis_host Jedne co musimy zrobić, to skonfigurować adresację IP na interfejsie usb0 . Warto jeszcze tutaj zaznaczyć, że funkcja Turbo Pobieranie (o tym za moment) nie działa, gdy tethering jest aktywny. Bluetooth v4.0 (LE) W Neffos C5 MAX nie mogło zabraknąć również Bluetooth w wersji 4.0. Może nie jest to najnowsza wersja tego standardu ale najważniejsze, że mamy tutaj do czynienia z technologią Low Energy (LE), czyli w zamian za obniżony transfer danych, moduł bluetooth konsumuje o wiele mniej energii, co wydłuża czas pracy na baterii. A-GPS oraz GLONASS Korzystanie z analogowych map i kompasów raczej wychodzi z mody. Może warto jest mieć taki przeżytek jako backup na wypadek jakiegoś globalnego kataklizmu ale o wiele większe korzyści i komfort użytkowania daje nawigacja satelitarna, którą możemy mieć w telefonie o ile ten ma nadajnik GPS. Na szczęście Neffos C5 MAX takowe urządzenie również posiada. Ten smartfon wpiera takżę mechanizm A-GPS (Assisted GPS) oraz GLONASS (Globalnaja Nawigacionnaja Sputnikowaja Sistiema). A-GPS to system znacznie skracający czas potrzebny na pierwsze ustalenie położenia w systemie GPS (połączenie z satelitami). System ten wykorzystuje do działania serwery operatorów sieci GSM, przez co operator sieci komórkowej musi wspierać taką usługę. W przeciwnym razie będziemy mieli do dyspozycji jedynie zwykły GPS. GLONASS, z kolei to radziecki/rosyjski system nawigacyjny. To taka alternatywa dla amerykańskiego systemu GPS. Połączenie GPS i GLONASS daje możliwość bardzo akuratnych pomiarów, co przekłada się na szybsze i dokładniejsze ustalenie pozycji w terenie. Tu jeszcze tylko taka informacja, że Neffos C5 MAX ma wspólną antenę dla 2.4 GHz WiFi, 2.4 GHz Bluetooth i 1.575 GHz GPS. Radio FM Z radiem jest dokładnie taka sama sytuacja co w przypadku GPS. Mając internet raczej nie potrzebujemy już takiego wynalazku jak Radio FM, no bo przecie każda szanująca się rozgłośnia radiowa nadaje strumień w internecie, a mając dostęp do WiFi czy LTE/3G możemy bez problemu sobie dowolną stację włączyć i nie musimy przy tym się ograniczać do lokalnych stacji radiowych. Niemniej jednak, w przypadku cenzury, czy też na wypadek wojny, raczej internet zostanie zablokowany i dobrze jest mieć w zapasie zwykły odbiornik FM tak, by wiedzieć co się w świecie dzieje. By korzystać z tego radia trzeba mieć podłączone słuchawki, choć dźwięk można przesłać bezpośrednio na głośnik. OTG OTG to mechanizm umożliwiający podłączenie do portu mikro USB w smartfonie zewnętrznej klawiatury, myszy, dysku twardego, pendrive i innych tego typu urządzeń. Neffos C5 MAX jest póki co jedynym modelem, który wspiera OTG, choć w zestawie nie było dołączonego odpowiedniego adaptera. Generalnie taki przewód OTG nie jest drogi ale są dwie wersje. Ta bardziej ficzerzasta umożliwia dostarczenie zewnętrznego zasilania do podłączanych do smartfona urządzeń. Jeśli dysponujemy jedynie zwykłym adapterem, to taka klawiatura czy mysz jest zasilana przez smartfon. Ja akurat posiadam tylko zwykł kawałek przewodu ale mam też aktywny HUB USB 3.0 UH720, który może robić w roli zasilacza. Może i Neffos C5 MAX ma wsparcie dla OTG ale jest ono niepełne. Sprzęt taki jak klawiatura czy mysz będzie nam bez problemu na tym smartfonie działać, nawet bez dodatkowego zasilania ale już nie damy rady podłączyć dysku czy pendrive. Choć na dobrą sprawę nie wiem czemu, teoretycznie dioda na pendrive miga po podłączeniu do smartfona ale ten nie rozpoznaje urządzenia. Wygląda zatem na to, że brakuje w systemie jakiegoś modułu. Jestem zdania, że po ukorzenieniu Androida da radę obsługę zewnętrznych dysków włączyć, choć do końca jeszcze nie wiem jak ale jeśli będzie to możliwe to z pewnością to zrobię i podlinkuję tutaj stosowny artykuł. (FIXME) Turbo Pobieranie Kolejną ciekawą rzeczą, którą odróżnia smartfon Neffos C5 MAX od pozostałych modeli, to fakt wspierania czegoś co się nazywa Turbo Pobieranie. Standardowo w smartfonach z internetu możemy korzystać albo za sprawą domowego połączenia WiFi, albo też bezpośrednio przez łącze operatora GSM (dane pakietowe). Turbo Pobieranie oferuje nam możliwość wykorzystania obu tych łącz przy pobieraniu dużych plików. Gdy ta opcja jest aktywna, część pliku jest pobierana przez WiFi, a część przez operatora GSM. Jeśli zatem transfer na WiFi mamy 50 mbit/s i na łączu operatora GSM również 50 mbit/s, to taki plik będzie się pobierał w sumie 100 mbit/s. Wykorzystanie obu łącz jest monitorowane w czasie rzeczywistym: Android 5.1 Lollipop Smartfonem Neffos C5 MAX zarządza Android w wersji 5.1 (Lollipop). Szkoda, że jeszcze nie doczekaliśmy się aktualizacji do wersji 6.0. Nie wiem niestety czy i ewentualnie kiedy TP-LINK wypuści stosowny update. Niemniej jednak, ten system, który jest zainstalowany działa płynnie i nie mam mu praktycznie nic do zarzucenia. Komfort pracy na telefonie jest zadowalający. Smartfon się praktycznie nie grzeje i działa przyzwoicie. Jedyny minus to brak nowszej wersji systemu, no i może również fakt wykorzystywania oprogramowania FOTA od Adups, którego analiza wykazała, że przesyła ono prywatne informacje użytkowników gdzieś w świat. Poniżej jest zestawienie temperatur podczas standardowej pracy telefonu (po lewej) i przy 100% obciążeniu procesora (po prawej): Czy da radę przeprowadzić root na Neffos C5 MAX Proces ukorzeniania Androida na Neffos C5 MAX jest możliwy i jest on w miarę bezproblemowy. Opis jak przeprowadzić proces root smartfona Neffos C5 MAX jest dostępny tutaj. Jak Neffos C5 MAX sprawuje się pod linux Generalnie rzecz biorąc, Neffos C5 MAX nie sprawia problemów na linux'ie. Przynajmniej jeśli chodzi dystrybucję Debian, z której ja korzystam. Póki co biblioteka libmtp (v1.1.12) jeszcze nie rozpoznaje Neffos'a C5 MAX ale wkrótce to się powinno zmienić, bo odpowiednie zgłoszenie do developerów już posłałem. System plików telefonu można zamontować za pomocą jmtpfs i bez trudu można wymieniać dane z Androidem po USB. Transfer plików jest na poziomie 6-8 MiB/s. Podsumowanie Nie mam zbytnio większych zastrzeżeń do Neffos'a C5 MAX. W gry nie gram, a nawet jakbym grał, to z pewnością nie zadowoliłby mnie nawet smartfon za xxxx dolców (w x podstawić dowolną cyfrę). Aparat tylny mógłby być nieco lepszy i jeśli chodzi o mnie, to bez problemu bym poszedł na kompromis zakładający usunięcie przedniego aparatu, by tylko ten z tyłu smartfona robił zdjęcia w jeszcze lepszej jakości. Podoba mi się funkcja Turbo Pobierania jak i OTG. Skoda tylko, że OTG nie wspiera dysków czy pendrive. Najbardziej jednak mi się we znaki daje nie za dobra jakość dźwięku z głośnika no i brak WiFi 5 GHz. Gdyby te powyższe rzeczy poprawić, to w może w końcu trafię na niedrogi smartfon spełniający wszystkie moje oczekiwania.
  16. Ostatnio pisałem trochę o konfiguracji serwera VPN na Debianie oraz podłączaniu do niego różnych linux'owych klientów, w tym też smartfonów wyposażonych w system Android. O ile konfiguracja pojedynczego klienta OpenVPN nie jest jakoś szczególnie trudna, to mając w swojej sieci domowej kilka urządzeń zdolnych łączyć się z internetem zarówno przewodowo jak i bezprzewodowo, to dostosowanie konfiguracji na każdym z tych sprzętów może być ździebko problematyczne. To co łączy te wszystkie urządzenia w naszym domu, to router WiFi. Zwykle każdy komputer, nawet ten najmniejszy, łączy się z takim routerem w celu nawiązania połączenia ze światem. Dlatego też zamiast konfigurować osobno wszystkie te urządzenia elektroniczne, możemy skonfigurować sobie router w taki sposób, by cały zebrany ruch z sieci lokalnej przesłał do serwera VPN. Standardowej klasy routery nie wspierają połączeń VPN i by taki mechanizm zaimplementować potrzebne nam będzie alternatywne firmware pokroju LEDE/OpenWRT. W tym artykule postaramy się skonfigurować połączenie VPN dla sieci domowej w oparciu o router Archer C2600 od TP-LINK, który ma wgrany najnowszy snapshot LEDE Designated Driver (r2392). Niezbędne oprogramowanie na potrzeby VPN Nie da się ukryć, że oprogramowanie, które umożliwi nam nawiązanie połączenia VPN, trochę waży. Trzeba także brać pod uwagę fakt szyfrowania całego ruchu, co też obciąży mocno procesor routera. Te dwie rzeczy nie stanowią aż takiego problemu w przypadku Archer'a C2600, bo on ma flash 32 MiB i dwa rdzenie taktowane 1,2 GHz: Na innych routerach, które mają mniejszy flash i słabszy procesor, OpenVPN może sprawić drobne problemy, zwłaszcza przy mocniejszych szyfrach. O ile w przypadku wolnego miejsca na flash możemy coś poradzić, np przeprowadzić extroot, o tyle w przypadku procesora zbytnio nic nie zrobimy i taki dodatkowy narzut (overhead) odbije się spowolnieniem transmisji danych. Z tego co zauważyłem w LEDE mamy z grubsza trzy pakiety, które mogą nam posłużyć do skonfigurowania klienta VPN, są to: openvpn-nossl , openvpn-openssl oraz openvpn-polarssl . Ten pierwszy pakiet możemy sobie darować, bo nie zapewnia on wsparcia dla szyfrowanego połączenia z VPN. Musimy zdecydować się na jeden z dwóch pozostałych pakietów. Generalnie rzecz biorąc PolarSSL ma niby zastąpić OpenSSL ale znowu OpenVPN ma pewne ograniczenia w przypadku wykorzystywania PolarSSL. Dlatego też zainstalujemy sobie openvpn-openssl , z tym, że nasz router musi mieć minimum 1 MiB wolnego miejsca na flash'u. Logujemy się zatem na router i wydajemy w terminalu poniższe polecenia: # opkg update # opkg install openvpn-openssl Konfiguracja klienta VPN na LEDE/OpenWRT Z pakietem openvpn-openssl został dostarczony skrypt startowy zlokalizowany w /etc/init.d/openvpn i jeśli chcemy, aby klient VPN łączył się automatycznie z serwerem po starcie routera, to naturalnie przydałoby się dodać ten skrypt do autostartu w poniższy sposób: # /etc/init.d/openvpn enable Konfiguracja dla demona openvpn jest przechowywana w pliku /etc/config/openvpn i musimy ją sobie dostosować w oparciu o konfigurację serwera VPN, z którym zamierzamy się połączyć. Ten plik konfiguracyjny jest dość rozbudowany i ma około 400 linijek. Większość z nich to komentarze. Plik /etc/config/openvpn jest podzielony na trzy sekcje. Pierwsza z nich dotyczy konfiguracji klienta VPN za pomocą zewnętrznego pliku. Druga dotyczy konfiguracji serwera VPN na routerze (nas to zbytnio nie interesuje). Trzecia sekcja zaś umożliwia skonfigurowanie klienta VPN za pomocą interfejsu UCI. Konfiguracja OpenVPN w zewnętrznym pliku W przypadku, gdy skonfigurowaliśmy sobie połączenie z serwerem VPN na komputerze, to powinniśmy dysponować stosownym plikiem konfiguracyjnym, który możemy wgrać na router. Następnie w pliku /etc/config/openvpn musimy ustawić jedynie poniższe parametry: ... config openvpn custom_config option enabled 1 option config /etc/openvpn/morfitronik.conf ... W pliku /etc/openvpn/morfitronik.conf umieszczamy konfigurację dla klienta OpenVPN: client dev tun proto udp remote 11.22.33.44 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun cipher AES-256-CBC tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 auth SHA512 keysize 256 tls-version-min 1.2 comp-lzo verb 3 auth-nocache remote-cert-tls server verify-x509-name "morfitronik-server-vpn" name key-direction 1 <ca> -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- .... -----END OpenVPN Static key V1----- </tls-auth> Po wyjaśnienie użytych tutaj opcji odsyłam do wpisu podlinkowanego we wstępie. Konfiguracja OpenVPN przez UCI Alternatywną metodą konfiguracji klienta OpenVPN na LEDE/OpenWRT jest skorzystanie z interfejsu UCI. W pliku /etc/config/openvpn na samym dole mamy odpowiednią sekcję. Włączamy ją przestawiając poniższy parametr: ... config openvpn sample_client option enabled 1 ... Dalej musimy uwzględnić wszystkie opcje, które zwykle podaje się w pliku konfiguracyjnym OpenVPN, z tym, że musimy je poprzedzić słówkiem option . Poniżej przykład: ... option client 1 option dev tun option proto udp list remote "11.22.33.44 1194" option resolv_retry infinite option nobind 1 option persist_key 1 option persist_tun 1 option user nobody option ca /etc/openvpn/certs/morfitronik-ca.crt option cert /etc/openvpn/certs/morfitronik-client-vpn-router-c2600.crt option key /etc/openvpn/certs/morfitronik-client-vpn-router-c2600.key option ns_cert_type server option tls_auth "/etc/openvpn/certs/morfitronik-ta.key 1" option cipher AES-256-CBC option tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 option auth SHA512 option keysize 256 option tls-version-min 1.2 option remote-cert-tls option verify-x509-name "morfitronik-server-vpn name" option comp_lzo yes option verb 4 Problem z UCI jest taki, że klucze/certyfikaty klienta i serwera trzeba niestety umieszczać w osobnych plikach. Certyfikaty klienckie Ja jestem zwolennikiem uwierzytelniania użytkowników za pomocą certyfikatów klienckich. Dlatego też mam w taki sposób skonfigurowany swój serwer VPN. Bez przedstawienia takiego certyfikatu, żaden klient nie będzie w stanie zestawić połączenia. Opis jak wygenerować takie certyfikaty w oparciu o easy-rsa został opisany osobno. Tutaj warto nadmienić, że w LEDE/OpenWRT mamy dostępny pakiet openvpn-easy-rsa , którym możemy się posłużyć przy generowaniu certyfikatów. Niemniej jednak, to rozwiązanie nie jest zbytnio zalecane ze względu na niewielką moc obliczeniową takiego przeciętnego routera WiFi, przez cały proces będzie trwał kilka godzin. Konfiguracja firewall'a na potrzeby OpenVPN W zasadzie bez znaczenia jest sposób, który sobie wybierzemy w celu dostarczenia konfiguracji dla demona OpenVPN. Jeśli w tej chwili byśmy uruchomili usługę, to router będzie w stanie przesłać wszystkie swoje dane bezpośrednio do serwera VPN. Problem jednak jest w tym, że klienci w sieci LAN za routerem nie mają połączenia z internetem. Możemy co prawda połączyć się z routerem ale nie mamy wyjścia na świat. Problem tkwi w konfiguracji zapory. Musimy zatem skonfigurować sobie forwarding dla nowych interfejsów i włączyć im również NAT. W tym celu trzeba poddać edycji dwa pliki i dodać do nich poniższą zawartość. Plik /etc/config/network : config interface 'vpn' option ifname 'tun0' option proto 'none' Plik /etc/config/firewall : config zone option name vpn list network 'vpn' option input DROP option output ACCEPT option forward DROP option masq 1 option mtu_fix 1 config forwarding option src 'lan' option dest 'vpn' Zapisujemy i resetujemy router. I to w zasadzie cała konfiguracja jeśli chodzi o przesyłanie ruchu ze wszystkich urządzeń w sieci domowej WiFi do serwera VPN. Jeśli zaś chodzi o ewentualne przecieki DNS, to zawsze możemy skonfigurować sobie szyfrowany DNS w oparciu o dnscrypt-proxy również na routerze. Test połączenia z serwerem VPN W zasadzie połączenie powinno działać OOTB po zresetowaniu routera. Jeśli jednak nie mamy pewności do tego czy cały mechanizm został poprawnie skonfigurowany, to naturalnie możemy zajrzeć w log ( logread ) i poszukać wpisów zaczynających się od openvpn . Jeśli nie znajdziemy żadnych błędów i będzie w logu figurować Initialization Sequence Completed , to oznacza to, że połączenie z serwerem VPN zostało pomyślnie ustawione. Jeśli zaś mamy w logu również PUSH_REPLY,redirect-gateway def1 , to cały ruch z routera wędruje do serwera VPN w formie szyfrowanej. Dla pewności można także podejrzeć regułki na zaporze ( iptables -nvL ) i poszukać interfejsu tun0 . Jeśli pakiety są zliczane, to ruch jest zarządzany przez OpenVPN. No i oczywiście możemy podejrzeć tablicę routingu via ip route show , gdzie obecność tras 0.0.0.0/1 oraz 128.0.0.0/1 oznacza, że żaden pakiet wysyłany do internetu nie leci poza szyfrowanym tunelem.
  17. W artykule o postawieniu serwera VPN poruszyłem jedynie kwestię konfiguracji klienta mającego system operacyjny z rodziny linux, a konkretnie była to dystrybucja Debian. Niemniej jednak, mając działający serwer VPN gdzieś tam za granicą, możemy również do niego podłączyć się za pomocą smartfona z Androidem i to praktycznie z dowolnego miejsca na ziemi. W ten sposób możemy zabezpieczyć nasze połączenie przed cenzurą internetu, która obecnie jest przeprowadzana na naszych oczach. Jako, że smartfony są popularniejsze od komputerów czy laptopów i zwykle przesyłamy z nich tak samo ważne (albo i ważniejsze) dane, to wypadałoby zaszyfrować cały ruch z takiego telefonu. Niniejszy wpis będzie właśnie dotyczył tego tematu, który zostanie opisany w oparciu smartfon Neffos C5 od TP-LINK mający na pokładzie Androida w wersji 5.1 (Lollipop). Aplikacje VPN na Androida Generalnie rzecz biorąc, Android ma wbudowany mechanizm VPN. Można go skonfigurować przechodząc pod Ustawienia => Więcej => VPN. By być w stanie skonfigurować takie bezpieczne połączenie, musimy również aktywować mechanizm blokady ekranu. Niemniej jednak, ku mojemu zdziwieniu, to domyślne oprogramowanie nie wspiera OpenVPN (albo ja nie potrafię skonfigurować tego połączenia): Potrzebne jest zatem alternatywne oprogramowanie. Z tego co znalazłem w sklepie Google Play i w repozytorium F-Droid, to w zasadzie są dwie aplikacje, które się nadają do wykorzystania przy OpenVPN. Jedna z nich to OpenVPN Connect, a druga to OpenVPN for Android. Z tego co znalazłem, to źródła OpenVPN Connect nie są do końca wolne, no i też ta aplikacja wyświetla reklamy. Natomiast jeśli chodzi o OpenVPN for Android, to on nie ma reklam i jest to projekt w pełni otwartoźródłowy. Inna różnica między tymi aplikacjami tkwi w możliwości konfiguracji połączenia z serwerem. W zasadzie OpenVPN Connect nie oferuje nam zbytnio żadnych opcji. Możemy jedynie zaimportować konfigurację klienta VPN, którą napisaliśmy sobie na komputerze. Natomiast OpenVPN for Android ma naprawdę sporo opcji i praktycznie każdy aspekt połączenia jesteśmy w stanie dostosować po zaimportowaniu pliku konfiguracyjnego. Obie te aplikacje nie wymagają ukorzenionego Androida (root) ale biorąc pod uwagę, że OpenVPN for Android jest i OpenSource i nie serwuje reklam, to niżej opiszę tylko to narzędzie. Jeśli zaś chodzi o Androidy, które przeszły proces root, to możemy pokusić się o instalację binarki OpenVPN, mniej więcej takiej jaka jest wykorzystywana w standardowym linux'ie. To rozwiązanie wymaga zainstalowania na smartfonie aplikacji OpenVPN Settings oraz OpenVPN Installer . Generalnie rzecz biorąc, ta druga aplikacja dostarczy demona openvpn , a ta pierwsza zaimportuje dla niego konfigurację. Niemniej jednak, te aplikacje są datowane na rok 2012, czyli ponad 4 lata nie były aktualizowane. Dlatego też nie będę opisywał procesu konfiguracji połączenia w oparciu o to rozwiązanie. Certyfikaty klienckie dla smartfonów Są z grubsza dwie metody uwierzytelniania się klientów na serwerze VPN. Jedna z nich zakłada wykorzystanie hasła i loginu, druga certyfikatów klienckich. Ja będę korzystał z certyfikatów, bo zapewniają większe bezpieczeństwo. Nie będę jednak tutaj opisywał całego procesu generowania takiego certyfikatu, bo to zostało zrobione już we wpisie poświęconemu generowaniu certyfikatów z wykorzystaniem easy-rsa. Jeśli nie mamy takich certyfikatów, to oczywiście musimy pierw zajrzeć do tego podlinkowanego wyżej artykułu i sobie je stworzyć. Unikajmy jednak wykorzystywania tego samego certyfikatu na każdym kliencie. Może OpenVPN daje nam taką możliwość ale jest to wielce niezalecane. Konfiguracja połączenia VPN z OpenVPN for Android Zakładam tutaj, że mamy już postawiony działający serwer VPN oraz, że wygenerowaliśmy sobie stosowne certyfikaty. Możemy teraz przejść na smartfon i zainstalować tam aplikację OpenVPN for Android: Po uruchomieniu aplikacji przywita nas informacja o braku połączeń VPN. Musimy zatem sobie stworzyć jakąś konfigurację ale nie musimy tego robić ręcznie. Jeśli dysponujemy plikiem konfiguracyjnym OpenVPN dla standardowego linux'a, to możemy go zaimportować: Pamiętajmy jednak, by certyfikaty/klucze zawrzeć w konfiguracji OpenVPN (znaczniki ca , cert , key oraz tls-auth ) zamiast dłączać je w osobnych plikach. Poniżej jest przykładowa konfiguracja dla mojego smartfona (nazwa pliku jest dowolna ale musi się kończyć .ovpn ): client dev tun proto udp remote 11.22.33.44 1194 resolv-retry infinite nobind ;user nobody ;group nogroup persist-key persist-tun cipher AES-256-CBC tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 auth SHA512 keysize 256 tls-version-min 1.2 comp-lzo verb 3 ;mute 20 script-security 2 up /etc/openvpn/update-resolv-conf.sh down /etc/openvpn/update-resolv-conf.sh auth-nocache ;auth-user-pass /etc/openvpn/auth/morfitronik.auth remote-cert-tls server verify-x509-name "morfitronik-server-vpn" name ;ca /etc/openvpn/certs/morfitronik-ca.crt ;cert /etc/openvpn/certs/morfitronik-client-vpn-morfik.crt ;key /etc/openvpn/certs/morfitronik-client-vpn-morfik.key ;tls-auth /etc/openvpn/certs/morfitronik-ta.key 1 key-direction 1 <ca></ca> <cert></cert> <key></key> <tls-auth></tls-auth> Po zaimportowaniu takiego pliku zostanie wyrzucone krótkie podsumowanie. W tym przypadku kilka opcji zostało zignorowanych ale nie ma to większego wpływu na połączenie. Konfiguracja zostanie również zapisana w katalogu aplikacji OpenVPN for Android, a sam plik, który przenieśliśmy na pamięć/kartę SD telefonu możemy usunąć. By się teraz połączyć z serwerem VPN i przesłać cały ruch ze smartfona szyfrowanym kanałem, wystarczy tapnąć w widoczną wyżej pozycję na liście: To w zasadzie cała istota podłączenia do VPN naszego smartfona. Rzućmy sobie jeszcze okiem na samą konfigurację połączenia. Dostosowanie konfiguracji połączenia w OpenVPN for Android Aplikacja OpenVPN for Android importując plik konfiguracyjny OpenVPN automatycznie dostosowała wszystkie opcje za nas. Jeśli z jakiegoś powodu konfiguracja serwera VPN ulegnie zmianie, to naturalnie możemy ponownie zaimportować plik konfiguracyjny ale też możemy ręcznie przestawić te opcje, które zmieniły się. W zasadzie jesteśmy w stanie wskazać pliki certyfikatów/kluczy jeśli te nie są dodane bezpośrednio w pliku konfiguracyjnym. Możemy także określić adres IP, port i protokół serwera VPN, jak i również dodać kilka serwerów: Są tez opcje przepisania konfiguracji DNS: Oraz parametry konfigurujące tablicę routingu: Konfiguracja szyfrów wykorzystywanych w kanale kontrolnym i kanale danych też może zostać dostosowana: W opcjach zaawansowanych możemy nieco dostosować sobie zachowanie klienta VPN oraz dodać niestandardowe parametry: Cały ruch ze smartfona będzie przesyłany do serwera VPN. Jeśli chcemy jakieś aplikacje wyłączyć spod działania tego mechanizmu, to możemy to jak najbardziej uczynić: Wszelkie zmiany jakie wprowadzimy w konfiguracji połączenia VPN zostaną zapisane, co wygeneruje nowy plik konfiguracyjny. Ten plik możemy wyeksportować w celu zaimportowania go na innym urządzeniu. Możemy także powielić go i użyć w celu skonfigurowania kolejnego serwera VPN zmieniając tylko określone parametry: Po podłączeniu się do serwera VPN, na belce systemowej powinniśmy zauważyć notyfikację z informacją o ilości przesłanych danych i aktualnej prędkości transferu: Połączenie VPN i oszczędzanie baterii Zastosowanie klienta VPN w smartfonach dość znacznie utylizować baterię. Jakby nie patrzeć, połączenie VPN standardowo jest utrzymywane, by transfer danych mógł być realizowany. To z kolei wymaga aktywnego WiFi czy LTE, a wiemy, że te moduły dają się mocno we znaki baterii. Możemy jednak tak skonfigurować aplikację OpenVPN for Android, by przy niewielkim obciążeniu łącza i zablokowanym ekranie rozłączała nam połączenie VPN. Jak widzimy wyżej, nie tylko możemy rozłączyć połączenie VPN, gdy smartfon jest nieużywany ale tez możemy automatycznie zestawiać takie połączenie po uruchomieniu/odblokowaniu urządzenia. Pamiętajmy jednak, że przy restarcie systemu część danych zawsze może się przedostać nieszyfrowanym tunelem zanim klient VPN zostanie uruchomiony. Tutaj raczej nic więcej nie da się zrobić, no może za wyjątkiem ręcznego dezaktywowania WiFi przed wyłączeniem telefonu. Po starcie systemu, WiFi będzie w dalszym ciągu wyłączone i wystarczy poczekać, aż klient VPN zostanie uruchomiony. Może i nie będzie połączenia jako takiego ale aplikacja OpenVPN for Android będzie oczekiwać na sieć: W takim wypadku już wszystko jest przygotowane do połączenia i wystarczy włączyć WiFi.
  18. Jakiś czas temu bawiąc się jednym z TP-LINK'owch smartfonów, konkretnie to był model Neffos C5, nie byłem zbytnio zadowolony z faktu, że karta SD w takim telefonie może być sformatowana jedynie systemem plików z rodziny FAT. Takie rozwiązanie niesie ze sobą pewne niedogodności, bo system plików FAT ma dość spore ograniczenia jeśli chodzi o przechowywanie informacji. Niekoniecznie wszyscy musimy wgrywać na smartfona bardzo duże pliki czy też trzymać ich tam setki GiB, bo to jest raczej rzadkością, ale brak wsparcia uprawnień do plików i katalogów w systemie plików FAT powoduje, że aplikacje w Androidzie nie chcą zapisywać swoich danych na karcie SD, która taki system plików wykorzystuje. W efekcie trzeba kombinować, by aplikacja kamery/aparatu zapisywała zdjęcia czy materiał video na karcie SD. Na smartfonach TP-LINK'a, które mają zainstalowany Android 6.0 Marshmallow, np. Y5 czy Y5L), jesteśmy w stanie sformatować karty SD jako pamięć wewnętrzna za sprawą wprowadzonego w tej wersji Androida mechanizmu Adoptable Storage. Postanowiłem zatem sprawdzić jak taki proces formatowania karty SD przebiega i co dokładnie może nam przynieść jego przeprowadzenie. Jak sformatować kartę SD jako pamięć wewnętrzna W starszych wersjach Androida, tj. 5.1 (Lollipop) i niższych, nie było możliwości sformatowania karty SD jako pamięć wewnętrzna. Ta opcja jest dostępna jedynie w Androidach począwszy od wersji 6.0 (Marshmallow). Jeśli dysponujemy smartfonem, który ma zainstalowany taki system, i drażni nas wykorzystywanie karty SD jako pamięć przenośna z systemem plików FAT, to możemy pokusić się o sformatowanie jej w nieco inny sposób niż zazwyczaj. Proces jest dość prosty ale trzeba uważać na kilka rzeczy. Po wsadzeniu karty SD do slotu w smartfonie, Android powinien nam wyrzucić informację dotyczącą wykrycia takiego nośnika i udostępnić nam opcje formatowania karty SD, ewentualnie zawsze możemy wejść w Ustawienia => Pamięć plików: W tym przypadku karta SD jest sformatowana w tradycyjny sposób i automatycznie zamontowana w systemie. Jak widzimy wyżej, mamy opcję "Sformatuj jako pamięć wewnętrzna". Klikamy w nią: Sformatowanie karty SD w taki sposób uniemożliwi nam korzystanie z niej na innych urządzeniach. Ten proces kasuje także wszystkie dane zgromadzone na karcie SD. Dlatego też przed przeprowadzeniem go upewnijmy się, że zrobiliśmy ewentualny backup zawartości karty SD: Podczas procesu formatowania karty SD są również przeprowadzane testy zapisu/odczytu nośnika pod kątem oceny jego prędkości. W przypadku, gdy karta nie należy do najszybszych i odbiega znacząco parametrami od flash'a telefonu, to zostanie wyrzucony komunikat o możliwym spowolnieniu działania systemu: Trzeba sobie zdawać sprawę, że nawet te szybsze karty SD są parokrotnie wolniejsze niż wbudowana w smartfon pamięć flash, zatem i tak spowolnienie w działaniu systemu odczujemy. Dlatego też jeśli już zamierzmy bawić się w formatowanie karty SD jako pamięć wewnętrzna, to dokupmy możliwie jak najszybszą kartę SD, min. klasa 10 lub UHS-1. Po tym jak proces formatowania karty dobiegnie końca, zostaniemy poproszeni o określenie czy chcemy zainstalowane w systemie aplikacje oraz ich prywatne dane przenieść na kartę SD: Przeniesienie aplikacji w późniejszym czasie Proces przenoszenia aplikacji będzie można przeprowadzić w późniejszym czasie bez obawy o utratę zgromadzonych już plików na karcie SD. Jeśli nie zdecydujemy się na przeniesienie danych w procesie formatowania karty SD, to przestrzeń kary nie zostanie dodana do tej, którą mamy dostępną na flash'u telefonu. W menadżerze plików nie zobaczymy też już pozycji karty SD i nie będziemy w stanie wgrać na nią własnych plików: Przeniesienie aplikacji w procesie formatowania karty SD W przypadku przeniesienia aplikacji z flash'a na kartę SD, stracimy dostęp do tej prawdziwej wewnętrznej pamięci telefonu. By to nieco lepiej zobrazować, posłużmy się przykładem. W tym przypadku flash w telefonie ma 16 G, z czego 12 G jest przeznaczone na partycję /data/ . Karta SD ma zaś 2 G. Po przeniesieniu danych, system będzie widział jedynie 2 G, a nie 14 G. Nie ma możliwości, by te dwie przestrzenie połączyć ze sobą, no chyba, że sformatujemy kartę SD w standardowy sposób z wykorzystaniem systemu plików FAT. Hybrydowa lokalizacja aplikacji Po sformatowaniu karty SD jako pamięć wewnętrzna i przeniesieniu danych, nowe aplikacje przy instalacji będą umieszczane na karcie SD tylko w momencie, gdy developer takiego programu wspiera Adoptable Storage. Jeśli ten mechanizm nie jest wspierany przez aplikacje, to dane będą zapisywane na flash'u telefonu. Tutaj warto też zaznaczyć, że pojedyncze aplikacje możemy przenieść sami na kartę SD. Wystarczy, że przejdziemy w Ustawienia => Aplikacje => Informacje o aplikacji => Pamięć plików i klikniemy przycisk "Zmień": Wszystkie aplikacje, które zostaną w taki sposób przeniesione, są zapamiętywane przez Androida i w przypadku odłączenia karty SD, te programiki przestaną nam działać (przestaną być widoczne przez system) do momentu, aż ta karta SD zostanie podłączona ponownie. W przypadku, gdy nie przenosiliśmy plików podczas procesu formatowania karty SD, aplikacje będą zapisywane domyślnie na flash'u telefonu. Ten stan rzeczy może zostać zmieniony za sprawą narzędzia adb . Proces instalacji adb na linux został opisany tutaj. Mając już dostęp do adb wydajemy poniższe polecenia (wymagany root): # adb shell shell@Y5:/ # pm get-install-location 0[auto] shell@Y5:/ # pm set-install-location 2 Wartości jakie mamy do wyboru to: 0[auto], 1[internal] oraz 2[external]. Ta opcja z przenoszeniem danych na kartę SD jest użyteczna chyba jedynie w przypadku smartfonów, które mają niewielkich rozmiarów pamięć flash, gdzie zwyczajnie brakuje nam miejsca na aplikacje, nie wspominając już o innych danych, np. filmy czy zdjęcia. Jeśli nasz smartfon ma większy flash niż 16 G, to korzystanie z Adoptable Storage jest moim zdaniem pozbawione sensu. Przenoszenie danych z karty SD na flash smartfona W przypadku, gdy rozczarowaliśmy się tym całym mechanizmem Adoptable Storage i zwyczajnie nam on nie odpowiada ale przenieśliśmy już dane na kartę SD, to bez problemu możemy cały proces odwrócić i przenieść dane z karty SD na flash smartfona. Wystarczy przejść w Ustawienia => Pamięć plików => Pamięć wewnętrzna. Tam z kolei w menu po prawej stronie na górze wybieramy "Przenieść dane": Trzeba jednak pamiętać, że ten proces przenoszenia danych z karty SD na pamięć telefonu może w pewnych sytuacjach doprowadzić do bootloop, czyli zapętlenia się startu smartfona. Możemy do takiego stanu doprowadzić przez nieuwagę, gdzie ilość przenoszonych danych z karty SD będzie zbliżona lub większa niż rozmiar docelowego miejsca na flash'u smartfona na partycji /data/ . Dlatego też zwracajmy uwagę na to ile danych Android chce przenieść. Oczywiście z takiego bootloop'a da radę się wybronić ale nie obejdzie się bez sformatowania partycji /data/ z poziomu bootloader'a, a to, jak zapewne wiemy, efektywnie zniszczy wszystkie nasze dane. Odłączanie karty SD sformatowanej jako pamięć wewnętrzna Kartę SD sformatowaną jako pamięć wewnętrzna w dalszym ciągu jesteśmy w stanie odłączyć od systemu. Niemniej jednak, nie jest to zalecane: Tutaj taka mała uwaga. Po przeprowadzeniu procesu formatowania karty SD zawsze zrestartujmy smartfon. Bez tego kroku, Android może się zachowywać wręcz nieobliczalnie, co może być źródłem różnych dziwnych problemów w działaniu systemu. Zasada działania mechanizmu Adoptable Storage Podczas procesu formatowania karty SD jako pamięć wewnętrzna została nam wyświetlona informacja na temat tego, że tej karty SD nie da rady wykorzystywać na innym urządzeniu niż to, na którym ten proces został przeprowadzony. Taka karta zostanie sformatowana systemem plików EXT4 i dodatkowo dane zostaną na tej karcie zaszyfrowane. Spójrzmy na tę poniższa fotkę obrazującą kilka partycji widzianych przez Androida: Standardowa wielkość pamięci flash w smartfonie Neffos Y5, to 16 G, z czego tylko 12 G jest przeznaczone dla partycji /data/ , czyli danych użytkownika. Karta SD wykorzystywana w tym przypadku ma jedynie 2 G. Po aktywowaniu mechanizmu Adoptable Storage, partycja /data/ nie zmieniła swojego rozmiaru i dalej ma 12 G. Na fotce mamy też sekcję "Karta SD" i tutaj już sprawa wygląda ciekawie, bo mamy dwie partycje na tej karcie. Pytanie się nasuwa: czemu dwie a nie jedna? Nie wiem jakie czary Android odprawia, by korzystać z Adoptable Storage ale najwyraźniej potrzebne są do tego celu jakieś metadane (pierwsza partycja), które umożliwiają systemowi zamontowanie pozostałej części karty SD. Dane na karcie SD po sformatowaniu jej jako pamięć wewnętrzna są szyfrowane z wykorzystaniem linux'owego narzędzia dm-crypt przy zastosowaniu algorytmu AES o rozmiarze klucza 128-bit (aes-cbc-essiv:sha256). Jak się przyjrzymy bardziej uważnie, to na tej fotce dostrzeżemy "Device Mapper" i to jest właśnie odszyfrowany i przemapowany obszar karty SD, na którym system jest w stanie operować. Ta przestrzeń jest już sformatowana z wykorzystaniem natywnego systemu plików wykorzystywanego w linux'ach, tj. EXT4. Niemniej jednak, możemy zapomnieć o wykorzystaniu standardowego nośnika sformatowanego pod linux'em jako EXT4. Może i mamy tutaj systemem plików EXT4 ale linux nie będzie w stanie tej karty SD odczytać, przynajmniej nie bez uprzedniego odszyfrowania interesującego nas obszaru karty. Technicznie jesteśmy w stanie wejść w interakcję z tą kartą SD na linux'ie ale w tym celu musielibyśmy wydobyć klucz szyfrujący. Klucz do takiego zaszyfrowanego kontenera jest generowany losowo podczas procesu formatowania karty SD. Ten klucz jest także przechowywany gdzieś na flash'u smartfona. Gdzie dokładnie jest on ulokowany i czy można go wydobyć bez ukorzeniania systemu (root), tego jeszcze nie wiem. Niemniej jednak, wszystko wskazuje, że root będzie niezbędny, by dostęp do tego klucza uzyskać. Z kolei tutaj ludzie piszą, że nie we wszystkich smartfonach szyfrowanie jest włączone domyślnie. W tym wątku są zaś zebrane te bardziej użyteczne informacje dotyczące Adoptable Storage. Warto w tym miejscu zaznaczyć, że jeśli flash telefonu nie jest zaszyfrowany, to ten klucz można odzyskać i zdeszyfrować zawartość karty SD. Dlatego też jeśli zamierzamy korzystać z Adoptable Storage, to rozważałbym zaszyfrowanie telefonu, co można zrobić przechodząc w Ustawienia => Zabezpieczenia. Pamięć przenośna i pamięć wewnętrzna na jednej karcie SD Generalnie rzecz biorąc, ten cały Adoptable Storage średnio mi się podoba. Nie chciałbym powiedzieć, że jest on kompletnie nieprzydatny ale raczej nie zamierzam z niego korzystać. Niemniej jednak, szukając o nim informacji natrafiłem na ciekawy trik, który umożliwia sformatowanie karty SD w taki sposób, by jedna część robiła za pamięć wewnętrzną, a druga za pamięć przenośną. W efekcie w przypadku tych większych kart SD, np. 64 G czy 128 G, możemy stworzyć nieco bardziej zaawansowany setup. Nie powiem, że jest to wyjście idealne ale zawsze daje ono nam nieco większe pole manewru przy zarządzaniu danymi na karcie SD. Taki zabieg możemy przeprowadzić z poziomu telefonu ale musimy uzbroić się w narzędzie adb . Mając zainstalowany adb podłączamy się do telefonu i listujemy dostępne nośniki: # adb shell shell@Y5:/ $ sm list-disks disk:179,64 Wyżej został nam zwrócony disk:179,64 . Całą tą frazę podajemy w poniższym poleceniu: shell@Y5:/ $ sm partition disk:179,64 mixed 75 Opcja mixed 75 oznacza, że zamierzamy sformatować tę kartę SD jako pamięć wewnętrzno-przenośna (do wyboru są jeszcze public i private). Liczba 75 to procent przestrzeni karty SD, który zostanie przeznaczony na pamięć przenośną. Gdy proces formatowania karty dobiegnie końca, możemy sprawdzić czy Android poprawnie rozpoznał podział karty SD w Ustawienia => Pamięć plików: Karta ma 2 G pamięci, z czego około 25% zostało przeznaczone na pamięć wewnętrzną, a reszta na pamięć przenośną, czyli wszystko się zgadza. Może i widzimy wyżej przycisk odmontowania karty SD ale pamiętajmy, że nie dotyczy on tej przestrzeni, która jest sformatowana jako pamięć wewnętrzna. By być w stanie bezpiecznie usunąć kartę z telefonu, musimy również wejść w opcje pamięci wewnętrznej (czerwona pozycja na powyższej fotce) i tam z menu wybrać "Odłącz": Jeśli ktoś jest ciekaw jak taka karta jest widziana pod linux'em, to poniżej jest fotka z gparted : Jako, że partycja sformatowana systemem plików FAT jest pierwsza w szeregu, to nie powinno być problemów z zamontowaniem jej nawet pod windowsem, choć ten nie zawsze może z taką kartą współpracować. W przypadku dowolnego linux'a nie będzie z nią problemów, bo tutaj nawet kolejność partycji nie ma większego znaczenia. Uszkodzenie karty SD sformatowanej jako pamięć wewnętrzna W przypadku standardowego sformatowania karty SD jako pamięć wewnętrzna nie ma raczej problemu z ponownym formatowaniem nośnika na wypadek, gdyby ten został w jakiś sposób uszkodzony, a jego zawartość przestałaby być dla nas czytelna. Niemniej jednak, jeśli chodzi o sytuację sformatowania karty SD jako wewnętrzno-przenośna, to tutaj już sprawa się komplikuje, bo przecież chcielibyśmy jedynie sformatować tylko część nośnika, a nie cały. W opcjach Androida nie ma pozycji, które pomogłyby nam uporać się z tym zadaniem i nie obejdzie się bez skorzystania z narzędzia adb : # adb shell shell@Y5:/ $ sm list-volumes all private:179,67 mounted ec91531a-61d7-4beb-adaa-272b2163b193 private mounted null public:179,65 mounted 4B44-1110 emulated mounted null emulated:179,67 unmounted null Pozycja private opowiada za tę przestrzeń karty SD, która została zamontowana jako pamięć wewnętrzna. Z kolei pozycja public jest zamontowana jako pamięć przenośna. Jeśli chcemy sformatować jedynie część karty (niekoniecznie pamięć wewnętrzną), to wybieramy jedną z widocznych wyżej pozycji, tj. private:179,67 lub public:179,65 i wydajemy poniższe polecenia: shell@Y5:/ $ sm format private:179,67 shell@Y5:/ $ sm mount private:179,67 Jeśli nie zostaną zwrócone żadne błędy w procesie formatowania i montowania zasobu, to znaczy, że proces ponownego formatowania części nośnika zakończył się powodzeniem. Dla uniknięcia ewentualnych problemów, dobrze jest zrestartować smartfon tak, by jego system uruchomił się ponownie.
  19. Dzięki uprzejmości TP-LINK Polska od jakiegoś czasu mam możliwość bawić się smartfonami Neffos, co można odczuć po sporej ilości artykułów dotyczących tych urządzeń. Postanowiłem przetestować możliwości każdego z tych telefonów dostępnymi benchmarkami na Androida, które można pobrać ze sklepu Google Play. Mnie generalnie tego typu benchmarki średnio interesują, bo zwykle nijak się mają do standardowego użytkowania telefonu ale wiem, że sporo użytkowników mobilnych technologi chciałaby tego typu test zobaczyć. Dlatego w oparciu o AnTuTu, 3DMark, PCMark oraz GFXBench zrobiłem kilka testów na każdym z podesłanych mi przez TP-LINK urządzeń. Smartfony, które wzięły udział w tym teście to: Neffos C5 MAX, Neffos C5, Neffos Y5 oraz Neffos Y5L. Ten artykuł dotyczy jedynie smartfona Neffos C5 MAX. Testy pozostałych modeli smartfonów zostaną opisane osobno. Parametry sprzętowe Neffos C5 MAX Neffos C5 MAX jest póki co najmocniejszym smartfonem od TP-LINK dostępnym na polskim rynku. Ma on 8 rdzeniowy procesor MTK MT6753 (Cortex-A53) taktowany częstotliwością maksymalną 1,3 GHz. Jest tam również procesor graficzny ARM Mali-T720 MP3. Do tego mamy również 2 GiB pamięci operacyjnej RAM. Jeśli chodzi zaś o wyświetlacz, to ma on 5,5" i rozdzielczość 1920x1080 (403.4 PPI). Smartfon działa zaś pod kontrolą systemu operacyjnego Android 5.1 Lollipop. Poniżej są fotki z CPU-Z: Wiemy zatem co Neffos C5 MAX ma z grubsza pod maską oraz jakim oprogramowaniem będziemy go testować. Pora zatem sprawdzić jakie wyniki zwrócą nam poszczególne aplikacje. Neffos C5 MAX vs. AnTuTu Neffos C5 MAX vs. GFXBench GFXBench ma w swojej ofercie kilka testów, których rozpiska jest zamieszczona poniżej: GFXBench jest w stanie rysować ciekawe wykresy podczas przeprowadzania konkretnych testów. Są tam min. wykresy temperatury i aktualnej częstotliwości pracy procesowa. Niemniej jednak, z nieznanych mi przyczyn te dwa wykresy nie były rysowane na żadnym z testowanych przeze mnie Neffos'ów. Dlatego też załączam jedynie podsumowanie oraz te wykresy, które zostały narysowane poprawnie. Neffos C5 MAX vs. PCMark PCMark również oferuje szereg testów, którym możemy poddać nasz smartfon. Poniżej jest rozpiska: Work 2.0 Performance Work 2.0 Battery Life Computer Vision Storage Work 1.0 Performance Neffos C5 MAX vs. 3DMark 3DMark również jest w stanie przeprowadzić kilka testów: Sling Shot ES 3.1 Sling Shot ES 3.0 Sling Shot Unlimited ES 3.1 Sling Shot Unlimited ES 3.0 Ice Storm Ice Storm Extreme Ice Storm Unlimited
  20. 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 Y5. Testy pozostałych modeli smartfonów zostaną opisane osobno. Parametry sprzętowe Neffos Y5 Neffos Y5 ma 4 rdzeniowy procesor Qualcomm MSM8909AA (Cortex-A7) taktowany częstotliwością maksymalną 1,27 GHz. Jest tam również procesor graficzny Adreno 304. Do tego mamy również 2 GiB pamięci operacyjnej RAM. Jeśli chodzi zaś o wyświetlacz, to ma on 5,0" i rozdzielczość 1280x720 (293,7 PPI). Smartfon działa zaś pod kontrolą systemu operacyjnego Android 6.0 Marshmallow. Poniżej są fotki z CPU-Z: Wiemy zatem co Neffos Y5 ma z grubsza pod maską oraz jakim oprogramowaniem będziemy go testować. Pora zatem sprawdzić jakie wyniki zwrócą nam poszczególne aplikacje. Neffos Y5 vs. AnTuTu Neffos Y5 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 Y5 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 Y5 vs. 3DMark 3DMark również jest w stanie przeprowadzić kilka testów: Sling Shot ES 3.1 i 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
  21. 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
  22. Dzięki uprzejmości TP-LINK Polska od jakiegoś czasu mam możliwość bawić się smartfonami Neffos, co można odczuć po sporej ilości artykułów dotyczących tych urządzeń. Postanowiłem przetestować możliwości każdego z tych telefonów dostępnymi benchmarkami na Androida, które można pobrać ze sklepu Google Play. Mnie generalnie tego typu benchmarki średnio interesują, bo zwykle nijak się mają do standardowego użytkowania telefonu ale wiem, że sporo użytkowników mobilnych technologi chciałaby tego typu test zobaczyć. Dlatego w oparciu o AnTuTu, 3DMark, PCMark oraz GFXBench zrobiłem kilka testów na każdym z podesłanych mi przez TP-LINK urządzeń. Smartfony, które wzięły udział w tym teście to: Neffos C5 MAX, Neffos C5, Neffos Y5 oraz Neffos Y5L. Ten artykuł dotyczy jedynie smartfona Neffos C5. Testy pozostałych modeli smartfonów zostaną opisane osobno. Parametry sprzętowe Neffos C5 Neffos C5 ma 4 rdzeniowy procesor MTK MT6735 (Cortex-A53) taktowany częstotliwością maksymalną 1,3 GHz. Jest tam również procesor graficzny ARM Mali-T720 MP2. Do tego mamy też 2 GiB pamięci operacyjnej RAM. Jeśli chodzi zaś o wyświetlacz, to ma on 5,0" i rozdzielczość 1280x720 (293,7 PPI). Smartfon działa zaś pod kontrolą systemu operacyjnego Android 5.1 Lollipop. Poniżej są fotki z CPU-Z: Wiemy zatem co Neffos C5 ma z grubsza pod maską oraz jakim oprogramowaniem będziemy go testować. Pora zatem sprawdzić jakie wyniki zwrócą nam poszczególne aplikacje. Neffos C5 vs. AnTuTu Neffos C5 vs. GFXBench GFXBench ma w swojej ofercie kilka testów, których rozpiska jest zamieszczona poniżej: GFXBench jest w stanie rysować ciekawe wykresy podczas przeprowadzania konkretnych testów. Są tam min. wykresy temperatury i aktualnej częstotliwości pracy procesowa. Niemniej jednak, z nieznanych mi przyczyn te dwa wykresy nie były rysowane na żadnym z testowanych przeze mnie Neffos'ów. Dlatego też załączam jedynie podsumowanie oraz te wykresy, które zostały narysowane poprawnie:. Neffos C5 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 C5 vs. 3DMark 3DMark również jest w stanie przeprowadzić kilka testów: Sling Shot ES 3.1 Sling Shot ES 3.0 Sling Shot Unlimited ES 3.1 Sling Shot Unlimited ES 3.0 Ice Storm Ice Storm Extreme Ice Storm Unlimited
  23. Jakiś czas temu opisywałem jeden z mobilnych routerów WiFi, który był w stanie realizować połączenie LTE i udostępniać je w obrębie swojej sieci. Konkretnie był to hotspot M7310. W recenzji tego urządzenia wspomniałem o tym, że dysponując smartfonem jesteśmy w stanie przy jego pomocy zarządzać tym routerem. Oczywiście potrzebna jest do tego celu specjalna aplikacja tpMiFi wypuszczona również przez TP-LINK, którą można pobrać bez większego problemu z Google Play. Jako, że w tamtym wpisie potraktowałem temat tej aplikacji jedynie powierzchownie, to postanowiłem nieco bardziej się jej przyjrzeć i dokładnie opisać jej właściwości. Instalacja aplikacji tpMiFi w smartfonie Jak już nadmieniłem we wstępie, aplikację tpMiFi można pobrać ze sklepu Google Play. Nie waży ona za dużo, bo nieco ponad 2 MiB, no i też nie wymaga zbyt wielu uprawnień. Ta aplikacja jest przeznaczona jedynie do współpracy z urządzeniami TP-LINK i wspiera praktycznie dowolne urządzenie MiFi tego producenta. Nie powinniśmy zatem napotkać problemów przy jej użytkowaniu. Niemniej jednak, z aplikacji można korzystać jedynie w przypadku podłączenia do urządzeń MiFi. W przeciwnym wypadku wszystkie opcje dostępne w tpMiFi są nieaktywne i każda próba wejścia w interakcje z nimi powoduje pojawienie się poniższego monitu: Podłączanie się do routera By zarządzać routerem z poziomu smartfona musimy podłączyć się do jego sieci bezprzewodowej. Każde takie urządzenie ma na obudowie informacje, które mogą nam zapewnić dostęp do jego sieci WiFi. Odczytujemy ESSID oraz hasło i konfigurujemy taką sieć w smartfonie pod Ustawienia => WLAN: Routery WiFi zwykle mają dostępną opcję WPS. Smartfony również takim wynalazkiem dysponują, przez co możemy przycisnąć wirtualne przyciski na obu tych urządzeniach, tak by konfiguracja połączenia bezprzewodowego dokonała się bez naszej ingerencji. W tym celu z menu WLAN wybieramy pozycję "Zaawanasowane" i "Przycisk WPS": Sterownie routerem przy pomocy tpMiFi Będąc podłączonym do sieci WiFi routera możemy odpalić aplikację tpMiFi. Teraz na smartfonie powinniśmy być w stanie zobaczyć statystyki transferu, stan baterii, ilość zalogowanych użytkowników oraz ilość nieprzeczytanych wiadomości SMS. W górnej części ekranu znajdziemy menu (to te trzy poziome kreseczki), nazwę modelu urządzenia, oraz pozycję Login umożliwiającą zalogowanie się na router. Praktycznie wszystkie opcje widoczne na ekranie powyżej wymagają zalogowania się. Hasło logowania jest tym, które wykorzystywane jest przy dostępie do urządzenia z poziomu panelu webowego. Standardowo jest to admin . Po zalogowaniu się możemy operować na routerze. Odczytywanie wiadomości SMS Jak mogliśmy dostrzec na jednej z powyższych fotek, na skrzynce karty SIM, która została wsadzona do tego routera, zalega jedna wiadomość. By ją odczytać wystarczy tapnąć w ekran na pozycji SMS. Otworzy się nam lista wiadomości, które możemy sobie przeglądać, a nawet odpowiadać na nie bezpośrednio z aplikacji tpMiFi. Wiadomości można też naturalnie usuwać. Jedyny problem jaki tutaj dostrzegam, to brak powiadamiania dźwiękowego o nadchodzących SMS. Widać co prawda żółtą kropkę ale skąd mam wiedzieć, że jakaś wiadomość dotarła na router, skoro nie mam żadnej notyfikacji, gdy aplikacja jest zamknięta i nie widać jej interfejsu? Stan baterii Przez aplikację tpMiFi jesteśmy też w stanie sprawdzić status baterii. Są również opcje dostosowania trybu oszczędzania energii. Możemy dostosować sobie moc nadajnika naszego routera, jak i czas bezczynności WiFi, po którym radio ma zostać wyłączone. Zalogowani użytkownicy sieci WiFi Jest też co prawda możliwość podejrzenia aktualnie zalogowanych użytkowników w sieci WiFi. Widoczna jest ich nazwa jak i adres MAC. Nie mamy jednak opcji zablokowania konkretnego użytkownika, czy ograniczenia mu dostępnego pasma sieciowego: Udostępnianie zawartości karty SD Jeśli nasz router dysponuje slotem na kartę SD, to pewnie chcielibyśmy udostępnić jej zawartość w sieci. Aplikacja tpMiFi daje nam możliwość przełączenia trybu udostępniania karty SD z USB na WiFi: W trybie WiFi jesteśmy w stanie wgrać nawet pliki przez aplikację tpMiFi na tą kartę SD: Statystyki i limity transferu danych Dzięki aplikacji tpMiFi jesteśmy w stanie śledzić statystyki wykorzystania łącza w czasie rzeczywistym. Nie tylko aktualna prędkość pobierania i wysyłana jest uwzględniona ale również i ilość przetransferowanych danych. Poza samymi statystykami, tpMiFi umożliwia nam nałożenie ograniczeń transferu: Zabrakło jednak opcji, które umożliwiłyby dostosowanie godzin, w których transfer nie jest naliczany. Taka pozycja widnieje w standardowym panelu admina. Konfiguracja połączenia WiFi i 3G/LTE Przez tpMiFi możemy także dostosować sobie nazwę i hasło sieci WiFi. Nie ma jednak możliwości wyboru zabezpieczeń. Jest też opcja ukrycia sieci jak i wyboru pasma. Jeśli zaś chodzi o połączenie 3G i LTE, to mamy oczywiście możliwość wymuszenia 3G lub LTE oraz stan preferowanego LTE. Zabrakło jednak opcji wyboru/wymuszenia częstotliwości/kanału na jakim pracuje modem, a to przecie bardzo użyteczna funkcja. Jak widać wyżej, tpMiFi oferuje także możliwość konfiguracji kodu PIN, na wypadek, gdyby karta SIM była zabezpieczona. Możemy również sobie skonfigurować niestandardowy APN przy połączeniu 3G/LTE. Pozostałe ustawienia Przez tpMiFi jesteśmy także w stanie zmienić hasło wykorzystywane do logowania zarówno w panelu administracyjnym jak i samej aplikacji na smartfonie. Ta aplikacja potrafi także zwrócić informacje o urządzeniu, do którego jesteśmy aktualnie zalogowani: No i na koniec standardowo są też opcje umożliwiające restart oaz wyłączenie hotspotu/routera, jak i przywrócenie jego ustawień do fabrycznych: Problemy z tpMiFi i mobilna wersja panelu administracyjnego Warto też wiedzieć, że te nowsze urządzenia mają wersję mobilną panelu administracyjnego, który możemy załadować sobie w dowolnej przeglądarce na smartfonie przechodząc na adres IP routera. To o tyle ważna rzecz, że przy pewnych niestandardowych konfiguracjach telefonu, np. szyfrowany DNS za sprawą dnscrypt-proxy czy VPN, aplikacja tpMiFi może się bardzo dziwnie zachowywać uniemożliwiając zalogowanie na konkretny sprzęt. Bierze się to z faktu rozwiązywania przez aplikację domeny tplinkmifi.net , która ma wskazywać na adres prywatny (np. 192.168.0.1), a takiego rozwiązania nie otrzymamy z OpenDNS czy innego serwera DNS. Zatem jeśli w jakiś sposób dokonujemy przekierowania ruchu DNS, to raczej postawmy na mobilną wersję panelu administracyjnego zamiast na aplikację tpMiFi, bo zaoszczędzi nam to wielu problemów.
  24. Każdy z nas słyszał o alternatywnym firmware na bezprzewodowe routery WiFi. Mam tutaj na myśli oczywiście OpenWRT/LEDE oraz jego GUI Gargoyle i LUCI. Przy zabawach z takim oprogramowaniem bardzo łatwo jest uszkodzić router w sytuacji, gdy tak na dobrą sprawę nie wiemy co robimy. Mi się jeszcze nie zdarzyło ubić żadnej z moich maszyn, a mam ich kilka. Problem w tym, że tak naprawdę nie wiem jak wygląda proces odzyskiwania routera w przypadku zaistnienia takiego złego scenariusza. Dlatego też postanowiłem zainicjować zdarzenie, które doprowadziło do ubicia systemu w moim TL-WR1043ND V2 od TP-LINK. Co zrobić w takim przypadku, gdy system routera nie chce wystartować, a na obudowie diody sygnalizują nieprawidłową pracę urządzenia? W takiej sytuacji będziemy musieli rozebrać sprzęt i podłączyć się do portu szeregowego na PCB za pomocą adaptera USB-UART, najlepiej na układzie CP2102, który bez problemu działa pod linux. Ten artykuł nie powstałby (tak szybko), gdyby nie pomoc ze strony @Heinz. Jaki adapter USB-UART wybrać Przed przystąpieniem do procesu odzyskiwania władzy nad systemem routera, musimy się zaopatrzyć w odpowiednie narzędzia, które umożliwią na bardzo niskopoziomową komunikację z ubitym urządzeniem. Może i system takiego routera nie może się załadować ale jest duża szansa na to, że bootloader w dalszym ciągu pracuje prawidłowo (można to poznać po migających diodach), z tym, że z jakiegoś powodu nie może on uruchomić systemu. Jest wiele adapterów USB-UART, które możemy zakupić w sklepach internetowych. Co ciekawe, w fizycznych sklepach w ogóle o takich urządzeniach nie słyszeli (przynajmniej u mnie na wsi) i raczej pozostaje nam zakup zdalny. Cena takiego adaptera zamyka się w granicach 10-20 zł. Przy zakupie musimy brać pod uwagę jedną bardzo istotną rzecz. Chodzi o to, że standardowe napięcie w porcie USB komputera jest na poziomie 5 V. Te adaptery USB-UART na takim napięciu standardowo działają w przeciwieństwie do obwodu szeregowego w większości routerów. Nie możemy zatem się podłączyć do routera od tak. Jeśli ten obwód w naszym routerze jest zasilany innym napięciem, zwykle 3,3 V, to przed zakupem musimy się upewnić, że adapter USB-UART na pinach RX i TX będzie miał takie właśnie napięcie, ewentualnie będzie wyposażony w konwerter napięć. Patrząc na fotki urządzenia w sklepie możemy czasem na nich zobaczyć informacje o dwóch rodzajach napięć 3,3 V i 5 V. Popatrzmy na te poniższe adaptery USB-UART na układach CP2102: Na pierwszym adapterze konwerter napięć jest w postaci trzech padów i zespolenie dwóch z nich steruje napięciem. Na tym drugim zaś mamy nieco bardziej cywilizowane rozwiązanie, bo napięciem operujemy przy użyciu zworki. Niemniej jednak, w obu przypadkach sterujemy jedynie napięciem na pinie VCC, a nas interesują piny RX i TX. W przypadku adapterów na układzie CP2102 napięcie na pinach RX i TX jest zawsze takie samo i wynosi 3,3 V, zatem możemy zakupić dowolny adapter o ile jest on na tym właśnie układzie. Test napięcia w konwerterze USB-UART Jeśli nie jesteśmy pewni czy zakupiliśmy odpowiedni adapter USB-UART i nie chcemy spalić routera (czy tylko jego obwodu szeregowego), to zawsze możemy sprawdzić jakie napięcie na pinach RX/TX tego adaptera faktycznie jest. Do tego celu posłuży nam multimetr. Napięcie mierzymy między GND i RX lub TX. Powinniśmy uzyskać wskazanie na poziomie około 3,3 V, tak jak to widać na poniższej fotce: Jak widać z portu USB dostarczanych jest 5 V, a a między pinem GND i TX adaptera mamy już ~3,3 V. Możemy zatem bez obaw wykorzystać to urządzenie i wpiąć się do portu szeregowego routera. W tym przypadku położenie zworki nie ma żadnego znaczenia i wskazania są takie same nawet po jej usunięciu. W przypadku, gdyby zmiana położenia zworki dawała inne napięcia, to oczywiście wybieramy tę pozycję, która wskazuje 3,3 V. Warto też zaznaczyć, że oferty adapterów USB-UART znacznie się różnią pod względem dodatków, które dostajemy razem z adapterem. Zwykle kupujemy gołe urządzenie ale czasem też dorzucane są kolorowe kabelki albo też i goldpiny. Mi do jednego zestawu dorzucili kabelki, a drugiego trochę goldpinów: Jeśli jednak nabyliśmy taki adapter bez kabelków i goldpinów, to albo musimy dokupić je osobno, albo też zrobić je samemu. Port szeregowy routera (serial port) Port szeregowy znajduje się na płycie głównej routera. By się dostać do płyty, trzeba ściągnąć obudowę. Czasami nie jest to proste zadanie i trzeba poszukać odpowiedniej instrukcji. Zwykle informacje na ten temat są podane na wiki OpenWRT przy specyfikacji konkretnego modelu routera. Jeśli zaś chodzi o TL-WR1043ND, to raczej ze ściągnięciem górnej części obudowy nie powinno być problemu. Po odkręceniu śrubek, trzeba wypiąć ją z zatrzasków. Jest ich 8: 1 na tylnej krawędzi, 2 na prawej, 2 na lewej i 3 na przedniej. Są one rozlokowane w rogach i mniej więcej po środku. Otwieranie obudowy najlepiej zacząć od jednego z rogów przy tylnej krawędzi zahaczając palcami o wystający część obudowy i podnosząc ją lekko do góry, tak by można było w powstały otwór wsunąć cienki ale sztywny kawałek metalu czy czegoś podobnego. Później wystarczy przesunąć się jak najbliżej rogu i pewnie podważyć, zatrzask powinien bez problemu puścić. Później wystarczy przesuwać się wzdłuż krawędzi i powtarzać czynność podważenia w miejscu, w którym już nie możemy dalej się przemieścić. Po zdjęciu obudowy, mamy dostęp do płyty głównej. Port szeregowy, a właściwie tylko jego wyprowadzenia są ulokowane w lewej górnej części płyty, to te cztery dziurki widoczne na poniższej fotce: Trzeba tam przylutować jakaś wtyczkę albo chociaż gołe goldpiny. Niemniej jednak, by to zrobić, musimy wyciągnąć ten PCB z routera. Trzeba pierw odkręcić gniazda anten. Niektóre z nich mogą mieć problemy z przeciśnięciem się przez otwór. Trzeba nimi trochę pokręcić i poruszać na boki: Konstrukcja wtyczki dla portu szeregowego routera Po wyciągnięciu płyty z routera, możemy zabrać się za przylutowanie goldpinów czy wtyczki. Ja sobie skonstruowałem wtyczkę z elementów odzyskanych ze starej płyty głównej. Odlutowałem z niej 4 goldpiny i ściągnąłem kawałek plastiku, który był do nich przymocowany: Później takie ustrojstwo wsadziłem na płytę routera i przylutowałem. Całość się trzyma w miarę pewnie, choć ciężko było to przylutować (brak profesjonalnych narzędzi i wprawy). Tak czy inaczej, całość działa. Warto przed podłączeniem zasilania routera sprawdzić multimetrem czy nie ma tam czasem jakiegoś zwarcia. Jeśli miernik nie zabrzęczy, tzn. że jest wszytko w porządku. Konfiguracja linux'a na potrzeby połączenia szeregowego Ja korzystam z linux'a, a konkretnie z dystrybucji Debian. Dlatego też opiszę na jego przykładzie jak przebiega proces konfiguracji systemu pod kątem połączenia komputera z portem szeregowym routera. Przede wszystkim, podepnijmy sam adapter USB-UART do portu USB komputera. Układ CP2102 powinien zostać bez większego problemu rozpoznany w naszym systemie ( idVendor=10c4 , idProduct=ea60 ). Poniżej log ze zdarzenia: kernel: usb 2-1.3: new full-speed USB device number 6 using ehci-pci kernel: usb 2-1.3: New USB device found, idVendor=10c4, idProduct=ea60 kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 2-1.3: Product: CP2102 USB to UART Bridge Controller kernel: usb 2-1.3: Manufacturer: Silicon Labs kernel: usb 2-1.3: SerialNumber: 0001 kernel: usbcore: registered new interface driver usbserial kernel: usbcore: registered new interface driver usbserial_generic kernel: usbserial: USB Serial support registered for generic kernel: usbcore: registered new interface driver cp210x kernel: usbserial: USB Serial support registered for cp210x kernel: cp210x 2-1.3:1.0: cp210x converter detected kernel: usb 2-1.3: cp210x converter now attached to ttyUSB0 Został zarejestrowany nowy interfejs ttyUSB0 i to przy jego pomocy będziemy się komunikować z routerem. Standardowo tylko użytkownik root oraz członkowie grupy dialout mają prawa dostępu do urządzenia /dev/ttyUSB0 . Dodajmy zatem standardowego użytkownika do tej grupy w poniższy sposób: # adduser morfik dialout Potrzebne nam jest także jakieś oprogramowanie, które zinterpretuje nasze polecenia i prześle je do routera. Musimy zatem mieć dostęp do terminala i zainstalować program do komunikacji szeregowej, np. minicom czy picocom . W Debianie znajdują się one w pakietach pod tymi samymi nazwami. Wybieramy sobie jeden z nich i instalujemy w systemie. Ja będę korzystał z picocom . Kolejna sprawa, to konfiguracja picocom . By skomunikować się z routerem za pomocą konsoli szeregowej, musimy zdefiniować kilka parametrów dla połączenia. Konkretne ustawienie zależą od sprzętu lub jego firmware. Zwykle będziemy musieli dostosować parametr baud, którego najczęściej używane wartości to 9600, 38400 lub 115200 bit/s. W przypadku korzystania tylko z 3 przewodów (na PCB routera widzieliśmy 4 piny), tj. RX, TX, GND, powinniśmy ustawić flow control: none. W zasadzie to są te najważniejsze rzeczy ale możemy także sprecyzować data bits: 8, parity: none, stop bits: 1. Oznaczenia pinów na adapterze USB-UART i PCB routera By zestawić połączenie z routerem potrzebujemy podłączyć do jego płyty co najmniej trzy przewody. Jeden z nich to masa (GND), drugi odpowiada za przesył danych (TX), a ostatni zaś za odbiór danych (RX). Jeśli chodzi zaś o sposób podłączenia przewodów, to łączymy następująco: GND-GND, RX-TX i TX-RX. Na Adapterze USB-UART mamy stosownie oznaczone piny. Pytanie tylko, które piny na płycie głównej routera to GND, RX i TX? Zwykle możemy te dane znaleźć na wiki OpenWRT. A co jeśli w przypadku naszego modelu routera tych danych nie znajdziemy na wiki? W takiej sytuacji trzeba ręcznie ustalić oznaczenia pinów, a do tego potrzebny nam będzie multimetr. Pin GND Wyłączamy zatem nasz router i przełączamy multimetr w tryb omomierza na brzęczyk. Podłączamy czarną sondę do znanego nam punktu masy na PCB routera. Jak ustalić gdzie znajduje się znany punkt masy na PCB routera? Najprościej skorzystać z zasilacza, a konkretnie z gniazda zasilania w routerze. Na zasilaczu mamy oznaczenia + i - . Wygląda to mniej więcej tak jak na force poniżej: W tym przypadku wiemy, że masa jest na zewnątrz. Gdybyśmy nie mieli oznaczeń na zasilaczu, to trzeba by sprawdzić ten stan rzeczy multimetrem. W tym celu podłączamy sam zasilacz do gniazdka i wtykamy jedną sondę we wtyczkę, a drugą sondą dotykamy zewnętrznej jej części, tak jak pokazane na poniższej fotce: Wskazanie multimetru przy takim podłączeniu przewodów zarówno do miernika jak i wtyczki zasilacza jest dodatnie, zatem wiemy, że masa jest tam, gdzie mamy podpięty czarny przewód, tj. na zewnątrz, co potwierdza oznaczenie na zasilaczu. Mając tę wiedzę, możemy przyjrzeć się bliżej routerowi. Ma on gniazdo zasilania: Widać tam bolec w środku i blaszkę na spodzie. Nasz znany punkt masy to właśnie ta blaszka, bo to ona styka się z zewnętrzną częścią wtyczki zasilacza. To do niej musimy podłączyć naszą czarną sondę, a czerwoną do każdego kolejnego pinu konsoli szeregowej. Przy jednym z pinów, multimetr zacznie nam brzęczeń, bo wskaże nam prawie zerową rezystancję. Oznacza to, że znaleźliśmy pin GND konsoli szeregowej: W przypadku pozostałych pinów, rezystancja będzie sporo wyższa: Pin VCC Mając pin GND, możemy włączyć router do prądu. Przełączamy multimetr w tryb woltomierza na zakres najbliższy 5 V (u mnie 20 DCV) i podpinamy czarną sondę do pinu GND, a czerwoną do każdego z pozostałych trzech pinów. Wynik jednego ze wskazań powinien nam pokazać 3,3 V (ewentualnie 5 V). Ten pin oznaczamy VCC. Lepiej wyprowadzić sobie kabelki z pinów na płycie, by czasem nie zewrzeć pinów, bo może nam to uszkodzić router. Pin RX i TX Pozostały nam dwa piny RX i TX. Odróżnienie ich odbywa się na zasadzie prób i błędów. Mamy w sumie dwie konfiguracje na linii komputer-router: RX-RX/TX-TX lub RX-TX/TX-RX. Niewłaściwe podłączenie przewodów sprawi, że na konsoli nie zobaczymy żadnego wyjścia lub też będzie ono w ogóle nieczytelne dla nas. Z kolei poprawne połączenie RX i TX powinno pokazać nam na konsoli komunikaty z fazy startu routera. Z reguły powinniśmy podłączyć te piny naprzemiennie, tj. RX-TX i TX-RX ale czasami oznaczenia RX/TX na adapterze USB-UART mogą już uwzględniać zamianę tych pinów i wtedy trzeba łączyć RX-RX i TX-TX i tak było w tym przypadku. Nawiązywanie połączenia z routerem za pomocą konsoli szeregowej Mając odpowiedni adapter USB-UART i oznaczone piny na routerze, możemy spróbować nawiązać połączenie z routerem przez konsolę szeregową. Podpinamy zatem przewody do adaptera USB-UART oraz do wtyczki konsoli szeregowej na płycie routera. Pamiętajmy, interesują nas jedynie piny GND, RX i TX. Adapter umieszczamy w porcie USB komputera. Odpalamy terminal i wpisujemy w nim to poniższe polecenie: $ picocom --baud 115200 --flow=none --parity=none --databits 8 /dev/ttyUSB0 port is : /dev/ttyUSB0 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 escape is : C-a local echo is : no noinit is : no noreset is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv imap is : omap is : emap is : crcrlf,delbs, Terminal ready Teraz włączamy przycisk power na routerze. Urządzenie powinno się nam włączyć (zapalą się diody): Jednocześnie obserwujemy co się będzie działo na konsoli. Przy prawidłowej konfiguracji powinniśmy zobaczyć na niej jakieś komunikaty. Jak widać, pierwsza część logu to sekwencja bootloader'a. Na samym dole zaś mamy zainicjowany start kernela. Ta powyższa sytuacja dotyczy sprawnego routera. Co jednak w przypadku, gdy naszemu routerowi coś dolega? Jeśli jesteśmy w stanie dojść do momentu, gdzie widoczny jest napis Autobooting in 1 seconds (pod koniec logu na powyższej fotce), to jak tylko się on pojawi nam na ekranie, to musimy wpisać tpl . Nie jest to łatwe zadanie i pewnie będziemy musieli powtórzyć tę czynność parokrotnie. Gdy wpiszemy tę fazę w wyznaczonym czasie, pojawi się prompt: Mapa obszaru flash'a routera W przypadku, gdy udało nam się uzyskać dostęp do bootloader'a, możemy spróbować wgrać obraz firmware na router. Zanim jednak przejdziemy bezpośrednio do wgrywania obrazu, musimy ustalić kilka rzeczy. Gdy nasz router jest sprawny, lub też ktoś inny posiada dokładnie takie samo urządzenie, które działa bez zarzutu, można z niego wyciągnąć informacje na temat układu partycji na flash'u. Te dane są dla nas bardzo cenne, bo bez nich nie uda nam się z powodzeniem odratować naszego padniętego urządzenia. Układ flash'a routera można odczytać z dwóch plików: /proc/partitions oraz /proc/mtd . Poniżej jest zawartość pierwszego z nich: root@OpenWrt:/# cat /proc/partitions major minor #blocks name 31 0 128 mtdblock0 31 1 1158 mtdblock1 31 2 6841 mtdblock2 31 3 4352 mtdblock3 31 4 64 mtdblock4 31 5 8000 mtdblock5 Rozmiar bloku równy jest 1024 KiB. Z powyższych informacji wiemy, że jakiś bliżej nieznany nam obszar na flash'u routera ma ściśle określony rozmiar. Nie mamy jednak żadnych ludzkich nazw, które byłyby w stanie nam coś o tych przestrzeniach powiedzieć. Bardziej czytelnym plikiem jest zaś /proc/mtd : root@OpenWrt:/# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00010000 "u-boot" mtd1: 00121b70 00010000 "kernel" mtd2: 006ae490 00010000 "rootfs" mtd3: 00440000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 007d0000 00010000 "firmware" Jak widać wyżej, poza rozmiarem konkretnego obszaru (wartość w HEX) mamy również jego ludzką nazwę. Cały obraz firmware routera TL-WR1043ND V2 ma 8192 KiB, czyli 8 MiB. Możemy to odczytać sumując u-boot, firmware i art. Da nam to wartość 0x00800000, czyli po przeliczeniu właśnie 8 MiB. Kernel i rootfs jest ulokowany w firmware. Z kolei rootfs_data zawiera się w rootfs. Jeśli nasz router nie chce się uruchomić z jakiegoś powodu ale mamy jednocześnie dostęp do bootloader'a przez konsolę szeregową, to znaczy, że obszar u-boot nie został naruszony i mamy sporą szansę na odzyskanie urządzenia. Niemnie jednak, musimy sobie zdawać sprawę, że nie będziemy zapisywać całej przestrzeni flash'a i z tego względu, ten proces jest iście niebezpieczny, bo źle wgrany firmware z poziomu bootloader'a może nam kompletnie uwalić router. Urządzenia po źle wgranym firmware już odratować się tak prosto nie da. Trzeba będzie odlutować flash z PCB routera i podpiąć go do zewnętrznego programatora. Jak się to robi, to nie mam zielonego pojęcia, więc lepiej się kilka razy zastanowić przed wydaniem jakichkolwiek poleceń będąc w konsoli bootloader'a. Procedura wgrania firmware z poziomu bootloader'a Przechodzimy zatem na stronę z obrazami firmware OpenWRT/LEDE i pobieramy plik dla modelu naszego routera mający w nazwie factory. Upewnijmy się też, że ten obraz jest przeznaczony na wersję sprzętową taką, którą router ma wypisaną na spodzie obudowy. Mając pobrany obraz z firmware, musimy go jakoś przesłać na router. Do tego celu wykorzystuje się protokół TFTP (uboższa wersja protokołu FTP). Do zestawienia połączenia wymagany jest klient i serwer. Klientem będzie router. Serwerem zaś nasz komputer. Bootloader routera posiada odpowiednie oprogramowanie kliencie (narzędzie tftp ). Na komputerze musimy zaś postawić serwer. Konfiguracja serwera TFTP pod linux W dystrybucji Debian jest kilka pakietów mających w nazwie tftp . Nas interesują pakiety zawierające demona umożliwiającego postawienie serwera TFTP, np. atftpd lub tftpd . Instalujemy zatem pierwszy z brzega, tj. atftpd . W procesie ratowania routera nie działa WiFi. Musimy zatem łączyć się przy wykorzystaniu przewodu. Nie będzie nam działał też serwer DHCP, przez co nie uzyskamy adresacji dynamicznej dla komputera. Musimy określić ją statycznie w poniższy sposób: # ifdown eth0 # ip link set dev eth0 up # ip addr add 192.168.1.100/24 brd + dev eth0 Adres widoczny wyżej (192.168.1.100) nie może być przypadkowy. Będąc w konsoli bootloader'a, przy pomocy printenv możemy podejrzeć kilka zmiennych, które u-boot wykorzystuje do swojej pracy. Tam z kolei mamy min. te dwie poniższe: ipaddr=192.168.1.111 serverip=192.168.1.100 Zatem router będzie miał adres 192.168.1.111 i będzie próbował połączyć się z adresem 192.168.1.100 . Dlatego to ten adres musimy ustawić w konfiguracji karty sieciowej komputera. Jeśli kogoś interesują pozostałe zmienne zwrócone przez printenv , to są one opisane na wiki OpenWRT. Musimy jeszcze uruchomić serwer TFTP. W tym celu edytujemy pierw plik /etc/default/atftpd i przepisujemy go do poniższej postaci: USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --maxthread 100 --verbose=5 --bind-address=192.168.1.100 /srv/tftp-openwrt" Tworzymy jeszcze katalog /srv/tftp-openwrt/ i nadajemy mu odpowiednie uprawnienia: # mkdir /srv/tftp-openwrt/ # chown nobody:nogroup /srv/tftp-openwrt/ Teraz stawiamy serwer poniższym poleceniem, weryfikując przy tym czy został on faktycznie uruchomiony: # /etc/init.d/atftpd start # netstat -tupan | grep atftpd udp 0 0 192.168.1.100:69 0.0.0.0:* 25408/atftpd Jak wgrać firmware przez konsolę szeregową z poziomu bootloader'a Serwer TFTP został uruchomiony, a jego katalog główny to /srv/tftp-openwrt/ . Do tego katalogu musimy wrzucić plik z obrazem firmware, nazywając go przy tym, np. obraz.bin , nazwa dowolna: # cp /home/morfik/Desktop/openwrt-15.05-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin /srv/tftp-openwrt/obraz.bin Przechodzimy teraz do konsoli szeregowej. U-boot dysponuje kilkoma użytecznymi poleceniami. My będziemy wykorzystywać tftp , erase oraz cp.b . Poniżej znajdują się polecenia, które ja wykorzystałem przy ratowaniu swojego TL-WR1043ND V2. Polecenie tfpt pobierze plik obrazu firmware z dysku komputera i wrzuci go do pamięci RAM routera. Ta komenda przyjmuje dwa argumenty. Są nimi adres pamięci RAM, od którego obraz firmware będzie zapisywany, oraz nazwa pliku firmware, który zostanie pobrany z serwera TFTP naszego komputera. Nazwę znamy ale problematyczne może być określenie adresu pamięci RAM. O tym będzie w dalszej części artykułu. ap135> tftp 0x80060000 obraz.bin Using eth1 device TFTP from server 192.168.1.100; our IP address is 192.168.1.111 Filename 'obraz.bin'. Load address: 0x80060000 Loading: ################################################################# Bytes transferred = 8126464 (7c0000 hex) Polecenie erase służy do zerowania pamięci flash. Przyjmuje ono również dwa argumenty. Pierwszym z nich jest adres pamięci flash, od którego ma się rozpocząć zerowanie. (ustalenie go również może być problematyczne). Drugim argumentem jest ilość bajtów, które zostaną wyzerowane (musi pasować do 0x7c0000). Operację zerowania musimy wykonać ze względu na budowę komórek pamięci flash. Dopiero po wyzerowaniu interesującego nas obszaru, możemy zacząć umieszczać na nim dane z firmware. ap135> erase 0x9f020000 +0x7c0000 Erasing flash... First 0x2 last 0x7d sector size 0x10000 125 Erased 124 sectors Polecenie cp.b ma za zdanie skopiować firmware z pamięci RAM i wgrać je na pamięć flash. Tutaj z kolei musimy określić trzy argumenty. Pierwszym z nich jest początkowy adres pamięci RAM, czyli to miejsce, w którym znajduje się początek obrazu firmware. Drugim argumentem jest początkowy adres pamięci flash, od którego zamierzamy zacząć wgrywać firmware. Trzecim zaś argumentem jest ilość bajtów, które zostaną skopiowane z pamięci RAM na pamięć flash routera. ap135> cp.b 0x80060000 0x9f020000 0x7c0000 Copy to Flash... write addr: 9f020000 done Teraz można zrestartować router. Jeśli nie pomyliliśmy adresów i przeprowadziliśmy powyższe kroki prawidłowo, to będziemy w stanie się zalogować na router z wykorzystaniem protokołu telnet. Jak ustalić odpowiednie adresy pamięci RAM i flash routera Powyższe adresy są unikatowe dla konkretnego modelu routera. Nie możemy zatem korzystać z nich w przypadku każdego routera, który nawali z jakiegoś bliżej nieznanego nam powodu. Nasuwa się zatem pytanie: jak ustalić te adresy? Zwykle tego typu informacje powinny być podane na wiki OpenWRT. W przypadku części routerów,polecenie printenv (wydane z poziomu bootloader'a) jest nam w stanie zwrócić kilka zmiennych zawierających pewne polecenia. Poniżej przykład z mojego routera: ... bootcmd=bootm 0x9f020000 ... lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}ap135${bc}-jffs2&&erase 0x9f050000 +0x630000&&cp.b $fileaddr 0x9f050000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f680000 +$filesize&&cp.b $fileaddr 0x9f680000 $filesize ... Na podstawie użytych tutaj adresów można ustalić adres pamięci RAM i flash, od których powinniśmy zacząć zapisywać dane. W bootcmd mamy adres pamięci flash, który ma zostać odczytany podczas fazy startu routera. Przed nim znajduje się tylko obszar bootloader'a. Wiemy zatem od którego adresu trzeba będzie flash wyczyścić. Znając rozmiar firmware (ten wgrany do pamięci RAM), wiemy jaki obszar należy wyzerować. W lu widzimy zaś tftp 0x80060000 . Jako, że polecenie tftp ładuje obraz do pamięci RAM routera, to mamy adres pamięci od którego możemy zacząć zapisywać dane w RAM. Nie zawsze tego typu zmienne będziemy mieć dostępne w środowisku bootloader'a i odpowiednie adresy trzeba będzie ustalić w bliżej mi nie znany jeszcze sposób. Warto tutaj nadmienić, że wyżej widoczny adres odnoszący się do pamięci flash, tj. 0x9f000000, zostawiamy w spokoju. Określa on początek pamięci i nie możemy się nim posługiwać. Przy czyszczeniu i wgrywaniu danych na pamięć flash ( erase i cp.b ) musimy uwzględnić offset na bootloader. Standardowo jest to 128 KiB, które w zapisie HEX przyjmują wartość 0x20000. Trzeba zatem tę wartość dodać do 0x9f000000 i w ten sposób otrzymamy początkowy adres pamięci flash, od którego możemy zacząć kasować/zapisywać dane z firmware, tj. 0x9f020000, czyli uzyskaliśmy dokładnie taki sam adres co w bootcmd . Trzeba także uważać na długość wgrywanego obrazu (ilość bajtów). Na końcu flash'a routera mającego podzespoły od Qualcomm Atheros znajduje się obszar art (Atheros Radio Test). Zawiera on dane kalibracyjne dla WiFi (EEPROM). Informacje zawarte na tej partycji są unikatowe dla każdego indywidualnego routera. Jeśli uszkodzimy ten obszar, np. zapisując zbyt wiele danych, to trwale uwalimy WiFi w routerze, no chyba, że mamy backup tej przestrzeni albo i całego flash'a routera i będziemy w stanie ten obszar odtworzyć. Przykład z życia, czyli planowe ubicie TL-WR1043ND Nigdy mi się jeszcze nie zdarzyło ubić żadnego z posiadanych przeze mnie sprzętów. Niemniej jednak, przydałoby się odpowiedzieć na kilka pytań, a do tego potrzebny jest test na żywym organizmie. Postanowiłem zatem wgrać na mój router TL-WR1043ND V2 kilka różnych obrazów, w tym też te nieprzeznaczone dla niego. Obrazy są różne: oficjalne (z/bez boot) oraz OpenWRT/LEDE factory/sysupgrade. Przetestowałem też zanik zasilania podczas wgrywania firmware. Wszystko po to, by sprawdzić co tak naprawdę jest w stanie uszkodzić router i w jakim stopniu. Czy obraz "factory" uszkodzi router z OpenWRT/LEDE Mając wgrany firmware OpenWRT/LEDE zwykle flash'ujemy go obrazem mającym w nazwie sysupgrade . Jak jednak zareaguje nasz router po podaniu mu pełnego obrazu factory ? W sumie zawsze chciałem to sprawdzić ale jakoś nigdy nie było okazji. Kopiujemy zatem firmware do pamięci routera via scp , logujemy się na router i wgrywamy firmware via sysupgrade : Jak widzimy wyżej, router działa bez problemu. Zatem wiemy, że obrazy OpenWRT/LEDE mające w nazwie factory nie ubiją nam routera. Niemniej jednak, w porównaniu do tych mających w nazwie sysupgrade są zwykle parokrotnie większe przez co lepiej jest korzystać z tych drugich, a factory używać jedynie przy zmianie firmware z oficjalnego na OpenWRT/LEDE. Czy obraz przeznaczony na inną wersję/model routera uszkodzi router Wgranie obrazu firmware przeznaczonego na inną wersję/model routera powinno uszkodzić router. W przypadku innej wersji sprzętowej nie zawsze jest to regułą. Pytanie zwykle sprowadza się do różnicy w podzespołach routera. Jeśli te się zmieniły nieznacznie, to jest duża szansa, że router wstanie, choć może nie działać tak jak byśmy tego oczekiwali. Ja dysponuję routerem TL-WR1043ND w wersji V2, a on się zmienił dość znacznie w porównaniu do wersji V1. Możemy zatem przypuszczać, że wgranie firmware dla wersji V1 ubije router. Sprawdźmy zatem co faktycznie się stanie (bez znaczenia czy użyjemy sysupgrade czy factory ). Nie mamy możliwości wgrania firmware przeznaczonego na inną wersję sprzętową routera. Podobnie sprawa będzie wyglądać w przypadku zupełnie innego modelu routera. Jak widać w powyższym komunikacie, został porównany ID: Invalid image, hardware ID mismatch, hw:10430002 image:10430001 . Zatem ID sprzętu nie pasuje do ID uzyskanego z obrazu, w efekcie system odmawia próby wgrania takiego firmware z oczywistych względów. Może i mechanizmy obronne wbudowane w firmware OpenWRT/LEDE działają i są w stanie nas ochronić przed tak banalnymi błędami, to w dalszym ciągu możemy uszkodzić router wgrywając oprogramowanie na siłę przez sysupgrade (przełącznik -F ). Innym sposobem flash'owania, który może nam napytać biedy, jest nieumiejętne korzystanie z narzędzia mtd , przy pomocy którego można wykonywać operacje bezpośrednio na pamięci flash. Jeśli zatem zamierzamy przy pomocy sysupgrade -F lub mtd write wgrywać jakiś obraz firmware, to upewnijmy się, że nie jest on przeznaczony na inne wersje sprzętowe routerów albo i całkowicie inne modele. Czy zanik prądu uszkodzi router z OpenWRT/LEDE Zanik prądu jest znanym mordercą routerów. Niemniej jednak, z racji różnicy w oficjalnym firmware TP-LINK'a i firmware OpenWRT/LEDE, sprawa może się inaczej potoczyć. Przede wszystkim, zanik prądu może pojawić się w różnych momentach. W przypadku obrazów TP-LINK'a mających w nazwie boot , system będzie próbował przepisać bootloader (bez części konfiguracyjnej). By to zrobić musi wyczyścić ten obszar. Jeśli w tym czasie nastąpi zanik napięcia, to nie tylko router zostanie uszkodzony ale też już nie damy rady go odzyskać przez konsolę szeregową i trzeba będzie korzystać z programatora. W przypadku firmware OpenWRT/LEDE nie musimy się aż tak martwić, bo tutaj nie jest ruszany w ogóle bootloader. W efekcie nawet jeśli nastąpi zanik napięcia, to obszar u-boot zostaje nietknięty i możemy wgrać się później przez konsolę szeregową. Podobnie sprawa ma się w przypadku obrazów oficjalnych bez frazy boot w nazwie. Tutaj również nie jest przepisywany bootloader i przy zaniku napięcia będziemy w stanie odzyskać router. Sprawdźmy zatem co się stanie po puszczeniu procesu aktualizacji firmware via sysupgrade i odłączeniu zasilania routera tak po trzech sekundach. Oczywiście flash'ujemy router z poziomu sysupgrade na firmware OpenWRT/LEDE: W momencie uwiecznionym powyżej nastąpił symulowany zanik zasilania. System routera po włączeniu nie startuje. Zapalają się wszystkie diody, po czym część z nich gaśnie. Dioda Power, System i WPS świecą się ciągle. Dioda WLAN jest zgaszona cały czas, natomiast wszystkie pięć diod od portów ethernet miga. Ten proces zdaje się być zapętlony, czyli jakaś aktywność routera się zachowała. Jako, że diody migają i router się cały czas restartuje, oznacza to, że bootloader działa raczej prawidłowo i jego obszar nie uległ przepisaniu. Niemniej jednak, bootloader nie jest w stanie podnieść systemu. Napotyka jakiś "bliżej nieznany błąd" i restartuje system mając nadzieję, że to coś da. Poniżej jest komunikat, który można zobaczyć na konsoli szeregowej: Autobooting in 1 seconds ## Booting image at 9f020000 ... Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543 Decoding error = 1 LZMA ERROR 1 - must RESET board to recover Router jest do odzyskania ale musimy zrobić użytek z konsoli szeregowej i opisanym wyżej sposobem wgrać firmware z poziomu bootloader'a. Czy obraz przeznaczony na inną wersję/model routera ubije router z oficjalnym firmware Podobnie jak w przypadku firmware OpenWRT/LEDE, oficjalny firmware TP-LINK'a również weryfikuje obrazy przed wgraniem ich przez panel administracyjny. Nie musimy się zatem obawiać, że przez przypadek wgramy obraz nieprzeznaczony dla naszego modelu/wersji routera. Czy wgranie oficjalnego firmware z "boot" w nazwie via sysupgrade uszkodzi router z OpenWRT/LEDE Firmware OpenWRT/LEDE nie dotyka praktycznie wcale obszaru flash, w którym siedzi bootloader. Jeśli teraz zamierzamy powrócić do oficjalnego firmware, to musimy pozyskać stosowny obraz. Wszystkie obrazy na stronie TP-LINK mają frazę boot . Oznacza to, że zawierają one część bootloader'a, którą proces flash'owania przepisuje podczas aktualizacji firmware z poziomu panelu administracyjnego TP-LINK'a. Jeśli taki obraz podamy w sysupgrade , to ta część bootloader'a z oficjalnego firmware powędruje na flash routera w miejsce, gdzie powinno znajdować się faktyczne oprogramowanie. W efekcie router nie będzie chciał się uruchomić ale będziemy w stanie go odzyskać przez konsolę szeregową. By uniknąć tego typu problemów, potrzebny nam jest obraz nieposiadający w nazwie frazy boot . Takie obrazy są dostępne w różnych miejscach: tutaj, tutaj, tutaj i pewnie jeszcze w wielu innych, o których nie wiem. Jeśli jednak dysponujemy obrazem mającym w nazwie boot i z jakiegoś powodu nie możemy pozyskać obrazu bez części bootloader'a, to możemy ten zbędny i niebezpieczny zarazem kawałek usunąć ręcznie. Możemy to zrobić przy pomocy dd z poziomu każdego linux'a (nawet OpenWRT/LEDE) w poniższy sposób: # dd if=firmware_z_boot.bin of=firmware_bez_boot.bin skip=257 bs=512 To powyższe polecenie usunie z początku obrazu pierwsze 131584 bajów (0x20200 w HEX) i taki obraz możemy już wgrać bez problemu na router via sysupgrade . Czy wgranie oficjalnego firmware NIEmającego "boot" w nazwie przez panel admina uszkodzi router Gdy oficjalny plik z firmware nie zawiera frazy boot w nazwie, to jest to mniej więcej taka sama wersja obrazu co w przypadku firmware OpenWRT/LEDE, który ma w nazwie factory . Wgranie oficjalnego obrazu bez boot z poziomu panelu administracyjnego TP-LINK'a nie uszkodzi naszego routera. Wgrywanie oficjalnych obrazów bez boot w nazwie jest nawet bezpieczniejsze, bo w tym przypadku nie jest przepisywany obszar u-boot. Dlatego też nawet w przypadku utraty zasilania podczas procesu flash'owania routera, będziemy w stanie odzyskać router przez konsolę szeregową. Czy obraz "sysupgrade" wgrany z panelu TP-LINK uszkodzi router Przy przechodzeniu z oficjalnego firmware na OpenWRT/LEDE stosuje się obrazy mające w nazwie factory . Z kolei zaś obrazy mające w nazwie sysupgrade są przeznaczone dla aktualizacji firmware routera. Czy wgrywając obraz sysupgrade można uszkodzić router? Sprawdźmy: Wygląda na to, że oficjalne oprogramowanie nie przyjmuje takiego obrazu zupełnie. Obraz factory i sysupgrade praktycznie niczym się nie różnią pod kątem zawartości. W przypadku factory na początku obrazu znajduje się tylko dodatkowy nagłówek i prawdopodobnie jego brak uniemożliwia wgranie obrazu na router z poziomu panelu administracyjnego TP-LINK'a. Backup pamięci flash router'a Jak widać z powyższych obserwacji bardzo ciężko jest doprowadzić router do stanu nieużywalności. Jeśli nie przytrafi nam się nagły zanik zasilania podczas procesu flash'owania, to raczej nie mamy możliwości uszkodzić routera, no chyba, że bardzo się o taki stan rzeczy postaramy. By uniknąć problemów przy ewentualnym eksperymentowaniu z routerem, najlepiej postarać się o backup całej przestrzeni flash. Backup z poziomu działającego firmware Jeśli nasz router działa bez problemu, możemy się na niego zalogować po ssh i przy pomocy dd zrzucić obrazy wszystkich pozycji, które widnieją w pliku /proc/mtd . Oczywiście moglibyśmy zrobić backup tylko u-boot, firmware i art ale później musielibyśmy kroić obraz by wyodrębnić konkretne jego części. Backup robimy przy pomocy dd zapisując dane w pamięci RAM routera: root@OpenWrt:/tmp# dd if=/dev/mtdblock0 of=/tmp/mtdblock0-u-boot.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock1 of=/tmp/mtdblock1-kernel.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock2 of=/tmp/mtdblock2-rootfs.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock3 of=/tmp/mtdblock3-rootfs_data.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock4 of=/tmp/mtdblock4-art.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock5 of=/tmp/mtdblock5-firmware.bin Następnie tak utworzone pliki trzeba przesłać na komputer, np. via scp : $ scp root@192.168.1.1:/tmp/mtd\* ./ Odtwarzanie backup'u z poziomu firmware Odtworzenie backup'u uszkodzonego obszaru pamięci flash z poziomu działającego firmware jest stosunkowo proste. Załóżmy, że uszkodziliśmy sobie obszar art, w wyniku czego uszkodziliśmy WiFi. By przywrócić ten obszar, logujemy się na router i wrzucamy do pamięci plik backup'u. Później przy pomocy mtd write wgrywamy backup na odpowiedni obszar pamięci flash w poniższy sposób: # mtd write /tmp/mtdblock4-art.bin art Backup i odtwarzanie go z poziomu bootloader'a W przypadku, gdy nasz router znajduje się w stanie agonalnym ale mamy jeszcze możliwość zalogowania się do bootloader'a, to możemy pokusić się o zrobienie backup'u flash'a za sprawą konsoli szeregowej. Niemniej jednak, nie wszystkie wersje u-boot dysponują komendami umożliwiającymi przesłanie backup'u na serwer TFTP. Jeśli u-boot naszego routera takimi poleceniami nie dysponuje, to musimy postarać się o obraz initramfs, który załadujemy do pamięci RAM routera. W tym initramfs będą znajdować się potrzebne nam polecenia i backup wykonamy bez trudu. Obraz initramfs musimy sobie sami zbudować albo tez pozyskać od kogoś, kto już go zbudował. Jak przeprowadzić proces budowy obrazu initramfs wykracza poza ramy tego artykułu. (link FIXME). Jeśli zaś chodzi o kwestie odtworzenia backupu za pomocą bootloader'a, to raczej nie będziemy potrzebować takiej funkcjonalności. Poza tym, nie wszystkie bootloader'y dają nam możliwość skorzystania z mtd , tak jak to ma miejsce przy działającym firmware OpenWRT/LEDE. Nawet jeśli nasz bootloader wspiera taką możliwość, to trzeba uważać, bo nie zawsze obszary mtd widziane przez bootloader muszą się pokrywać z tymi udostępnianymi przez kernel w pliku /proc/mtd . Dlatego też lepiej posługiwać się offset'ami. Problemy z uruchomieniem routera przy podłączonym adapterze USB-UART Mój routera TL-WR1043ND V2 miał wgrany firmware OpenWRT Chaos Calmer. Był też jak najbardziej sprawny ale po podłączeniu adaptera USB-UART nie chciał się uruchomić. Zatrzymywał się na etapie bootloader'a z poniższą informacją: U-Boot 1.1.4 (Sep 10 2015 - 12:05:08) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(211): (16bit) ddr1 init tap = 0x00000002 Tap (low, high) = (0xaa55aa55, 0x0) Tap values = (0x8, 0x8, 0x8, 0x8) 4 MB Niektóre adaptery USB-UART mogą uniemożliwić start routera. No to pojawia się pytanie jak próbować odzyskać router, gdy nie mamy możliwości zainicjowania bootloader'a? Najprościej jest kupić normalny adapter (jakieś polecane modele?), który nie zawiesi startu routera. Innym wyjściem jest podłączenie przewodu do pinu GND po włączeniu przycisku power routera. Trzeba tylko ustalić czas, po którym możemy ten pin GND podłączyć, a to już robimy metodą prób i błędów. W moim przypadku mogłem praktycznie od razu się podłączyć (tuż przed zgaśnięciem wszystkich diod na routerze). W innych sytuacjach trzeba będzie poczekać jedną czy kilka sekund i dopiero wtedy się wpiąć. Nie trzeba się oczywiście spieszyć z tym faktem, bo bootloader się będzie w kółko resetował, przez co i tak zobaczymy wszystkie komunikaty, które nam zostaną zwrócone.
  25. TP-LINK ma w swojej ofercie szereg urządzeń, którymi można zarządzać z grubsza na dwa sposoby. Pierwszym jest raczej znany nam wszystkim panel administracyjny dostępny z poziomu przeglądarki internetowej zainstalowanej na dowolnym komputerze czy laptopie. Drugim ze sposobów jest wykorzystanie smartfona i dedykowanej aplikacji Tether na Androida/iOS. Webowy panel administracyjny zwykł udostępniać nam całą masę opcji, a jak jest w przypadku aplikacji Tether? Lista kompatybilnych urządzeń Aplikacja Tether od TP-LINK została zaprojektowana w celu zarządzania routerami WiFi i innymi urządzeniami bezprzewodowymi tego producenta przy pomocy smartfonów z Androidem 4.0+ i iOS 7.0+. By móc zarządzać jakimś sprzętem przy pomocy telefonu, musi ono być na liście wspieranych urządzeń. Poniżej jest taka lista: ★ Kompatybilne Routery Archer C3200 V1 / Archer C2600 V1 Archer C1900 V1 Archer C9 V1 V2 / Archer C8 V1 V2 Archer C7 V2 V3 / Archer C5 V2 Archer C50 V1 / Archer C2 V1 Archer C20 V1 / Archer C20i V1 TL-WDR4300 V1 / TL-WDR3600 V1 TL-WDR3500 V1 /TL-WR1043ND V3 TL-WR941ND V5, V6 / TL-WR940N V2, V3 TL-WR841ND V9, V10 V11 TL-WR841N V9, V10 V11 / TL-WR741ND V5 TL-WR740N V5 V6, etc. ★ Kompatybilne Routery xDSL Archer VR900v V1 / Archer VR200v V1 Archer VR900 V1 Archer D9 V1 / Archer D7 V1 Archer D5 V1, V2 Archer D2 V1 / Archer D20 V1, etc. ★ Kompatybilne ekstendery zasięgu RE590T V1 / RE580D V1 RE450 V1 / RE355 V1 TL-WA855RE V1 / TL-WA854RE V2 TL-WA850RE V2 / TL-WA830RE V3 Posiadanie jednego z tych powyższych urządzeń nie zagwarantuje nam możliwości korzystania z aplikacji Tether. Musimy bowiem posiadać w miarę aktualny firmware, który ma dodaną stosowną poprawkę. Ja dysponuję routerem Archer C9 v2 i najnowszy firmware do tego jak i innych routerów zawsze można pobrać z oficjalnej strony TP-LINK. Instalacja Tether na smartfonie z Androidem Mając najnowszy firmware na routerze, który chcielibyśmy podpiąć pod aplikację TP-LINK Tether, pora przejść do instalacji samego oprogramowania na smartfonie. Ja akurat mam na wyposażeniu smartfon Neffos C5 z Androidem 5.1 (Lollipop) i na nim ta aplikacja powinna działać bez zarzutu. Tether można pobrać z Google Play. Co ciekawe, w stosunku do innych aplikacji TP-LINK, np. tpMiFi, tpCamera czy KASA, Tether cieszy się dość sporą popularnością. Aplikacja jest darmowa i nie zawiera reklam. Sprawdźmy zatem co ta aplikacja jest nam w stanie zaoferować. Konfiguracja routera przez aplikację Tether Po podłączeniu smartfona do domowej sieci WiFi, aplikacja Tether powinna rozpoznać nasz bezprzewodowy router, o ile mamy na nim wgrany odpowiedni firmware. Poniżej przykład wykrycia mojego routera Archer C9: Jeśli nasz router został rozpoznany, oznacza to, że wszystko jest w należytym porządku i możemy spróbować się na to urządzenie zalogować klikając na odpowiednią pozycję na liście. Jako, że w tym przypadku jest tylko jedna pozycja, to nie mamy za dużego wyboru. Dane logowania to admin/admin , czyli standardowy użytkownik i hasło, które są wykorzystywane w panelach administracyjnych TP-LINK'a: Po zalogowaniu się na router przywita nas takie oto okienko: Mamy tutaj informacje na temat liczby aktualnie podłączonych urządzeń do routera oraz o stanie połączenia z internetem. Klikając zaś w nazwę urządzenia, zostaną nam pokazane bardziej szczegółowe dane dotyczące modelu, typu połączenia, wersji firmware oraz wersji sprzętowej samego routera. Nazwę wyświetlaną zawsze można sobie dostosować klikając na nią: Niżej w głównym oknie aplikacji Tether mamy listę podłączonych urządzeń w formie ikonek przypisanych w oparciu o wykrytego/ustawionego klienta. Jak widzimy, aktualnie są podłączone dwa klienty, jeden przedstawia się jako Android, drugi jako laptop. Klikając na każdej z tych pozycji, możemy uzyskać nieco więcej informacji na temat połączenia danego klienta, min. adres IP oraz MAC: Jak widać wyżej, jesteśmy też w stanie zablokować tego konkretnego klienta przyciskając przycisk "Blokuj". Na samym dole okna głównego aplikacji Tether mamy jeszcze pozycję z opcjami (to ten żółty przycisk). Tutaj możemy skonfigurować szereg aspektów pracy routera: Możemy włączyć lub wyłączyć bezprzewodową sieć oraz ustawić jej zarówno nazwę jak i hasło logowania. Jest też opcja konfiguracji zabezpieczeń sieci WiFi, z tym, że możemy albo wyłączyć te zabezpieczenia kompletnie, albo włączyć WPA-PSK/WPA2-PSK: Dalej jesteśmy w stanie skonfigurować połączenie z internetem oraz jest też widoczna dokładna informacja na temat uzyskanej adresacji. Mamy także możliwość konfiguracji sieci dla gości: W przypadku, gdy blokowaliśmy jakichś klientów, to ci są dodawani na specjalną listę i do momentu usunięcia określonych pozycji dana maszyna nie będzie w stanie się podłączyć bezprzewodowo do naszego routera. Wszystkie pozycje z listy możemy usunąć klikając na nich: W aplikacji Tether mamy też opcję dotyczącą kontroli rodzicielskiej. Po jej aktywacji będziemy w stanie dodać do listy urządzenia, które mają podlegać kontroli (maksymalnie 32). Po dodaniu stosownych klientów pojawi nam się harmonogram, w którym możemy określić czas obowiązywania restrykcji. Ostatnimi funkcjami jakie oferuje nam aplikacja Tether są restart urządzenia, resetowanie jego ustawień do fabrycznych oraz zmiana hasła do panelu admina/aplikacji: Mobilna wersja panelu administracyjnego Jeśli miałbym być szczery, to ta aplikacja Tether niezbyt mi przypadła do gustu. Jest ona póki co dość uboga w opcje, no i nie umknął mi też fakt niezbyt precyzyjnego dopasowania interfejsu aplikacji na moim smartfonie, co widać na kilku fotkach wyżej. Gdybym miał wybierać między aplikacją Tether i mobilną wersją standardowego panelu administracyjnego, to jednak wolę zarządzać routerem z poziomu Firefox'a: