Terminal HP T620

Czasy się zmieniają, nawet terminale się zmieniają. Wieki temu miałem terminal T5520, który robił za router i potencjalnie mógł robić za media center dla audio. Teraz szukałem czegoś, na czym mógłby zrobić media center bardziej filmowe. Znaczy, upraszczając: miał działać Netflix.

Rozwiązania dedykowane

Początkowo rozważałem coś w stylu Xiaomi Mi TV Stick albo Xiaomi Mi TV Box. Potem znajomy zainteresował mnie sprzętem Fire TV Stick[1]. Ostatecznie od różnych rozwiązań z Androidem odstraszyły mnie stare wersje systemu oraz uwagi w opisach w stylu „Netflix działa, ale nie wolno aktualizować appki, bo przestanie”. Czyli zauważalny nadchodzący brak wsparcia i możliwości aktualizacji, w tym aktualizacji bezpieczeństwa. Czytaj: spory potencjał na elektrośmieć.

HP T620

Równolegle na horyzoncie pojawił się terminal HP T620.

HP T620
Źródło: strona producenta

HP T620 to tak naprawdę nie konkretny model, a cała rodzina terminali. Łączy je wiele cech wspólnych: duża ilość portów różnego rodzaju, umieszczonych zarówno z przodu, jak i z tyłu, pasywne chłodzenie, energooszczędność (<5 W w idle). Posiadają dwu- lub czterordzeniowy procesor AMD. Pamięć można rozbudować do 16 GB przy pomocy modułów SODIMM. Więcej informacji na stronie producenta.

Wybór

Ostatecznie wygrał sentyment do bezwentylatorowych terminali HP i Linuksa. Po co zamknięty TV stick, skoro można za grosze kupić używany terminal HP T620 z 4 GB RAM? Taki, który będzie nie tylko odtwarzał filmy, ale będzie pełnowartościowym komputerem np. do WWW. I który – co najważniejsze – będzie można zaktualizować.

Jak pomyślałem, tak zrobiłem. Co prawda opisy nie zachęcały, bo HP T620 sprzedawane były jako deklarowane bez podstawki i zasilacza. Podstawki nie potrzebowałem, zasilacz to zwykły laptopowy HP, więc i tak miałem. Ostatecznie przybył egzemplarz z podstawką i zasilaczem. Podstawka w nieidealnym stanie, ale do odratowania. Zresztą nie używam na razie.

Instalacja

Instalacja Debiana stable z drobnymi problemami. Nie pamiętam z czego dokładnie instalowałem, bo chwyciłem co było pod ręką. Jeden instalator upierał się przy GPT, efektem czego był niebootujący się system. Drugi z kolei miał problem z WiFi – znany temat braku firmware w instalatorach Debiana. Ostatecznie po prostu na czas instalacji podpiąłem kabel. Przy okazji przetestowałem działanie systemu uruchomionego z USB. HT T620 posiada USB 3.0, więc powinno być OK. I jest. Zresztą taki był pierwotny plan uruchomienia. Jednak wbudowane 8 GB flash okazało się wystarczające nawet na rozbudowany system.

Wydajność

Przyznam, że początek był rozczarowujący. Po włączeniu Firefoksa i Netfliksa trochę jakby cięło, a procesor na 100%. Po włączeniu filmu było lepiej, ale nadal nie byłem przekonany o pełnej płynności. Zmieniłem przeglądarkę na Brave i jest o niebo lepiej. Nadal duże obciążenie CPU po włączeniu strony, ale już po uruchomieniu filmu jest OK. O tyle, o ile może być OK na i przeglądarce. Bo zdaje się full HD wymaga dodatkowych zabiegów. Nie wiem, nie robiłem, jakość jest zupełnie wystarczająca. Może kiedyś się pobawię.

Netflix i 1080p w przeglądarce

No to na koniec garść linków dotyczących Netfliksa w 1080p w przeglądarce. Nie testowałem póki co.

  1. Watch Netflix in 1080p in Firefox web extension download now
  2. Netflix in 1080p in Chrome
  3. Raspberry Pi Netflix One Line Easy Install – along with Hulu, Amazon Prime, Disney Plus, HBO, Spotify, Pandora, and many others

[1] Niezła strona z „hackami”: firestickhacks.com

Czy rozmiar ma znaczenie?

W tym przypadku prawo nagłówków Betteridge’a nie ma zastosowania, odpowiedź będzie twierdząca, a wszystko za sprawą Androida.

Logo Androida
Źródło: https://en.wikipedia.org/wiki/Android_(operating_system)

Od roku korzystam z Yanosika. Jakiś czas temu zauważyłem, że niemal skończyło mi się miejsce na karcie SD. Szybkie śledztwo ujawniło, że głównym winowajcą nie są – jak przypuszczałem – zdjęcia, tylko katalog yanosik-new, który zajmował ponad 700 MB z dostępnych 2 GB na karcie (wiem, mała, taka zaszłość). Ponarzekałem na FB, usłyszałem, że zawartość katalogu można bezpiecznie usunąć – odbuduje sobie co potrzebne. Znaczy się klasyczny cache. OK, rok używany, karta mała, nie robię afery. Usunąłem.

Ostatnimi dniami coś Yanosik zaczął zgłaszać błędy w stylu aplikacja nie odpowiada – czekaj/zgłoś/zamknij. Coś mnie tknęło, żeby znowu sprawdzić zajętość karty i… bingo. Znowu brak wolnego miejsca. Co prawda zrobiłem na urlopie parę zdjęć, ale zdecydowanie nie kilkaset MB. Oczywiście znowu yanosik-new ma rozmiar ponad 700 MB… Zacząłem szukać większej karty i rozglądać się za instrukcją zmiany karty w telefonie na większą. Przy okazji obmyślając, jakich ciepłych słów użyć pod adresem autorów Yanosika, bo zużycie 700 MB w rok to jeszcze jestem jakoś w stanie zrozumieć, ale w 3 tygodnie?

Znalazłem jakąś kartę 4 GB, ale okazało się, że muszę sprawdzić, czy jest sprawna. Wymiana karty SD w urządzeniach z Androidem jest prosta – wystarczy zgrać całą zawartość na komputer, sformatować nową kartę, przegrać wszystkie dane na nową. I powinno działać. Wygląda prosto, ale stwierdziłem, że zrobię backup, poza tym i tak wygodniej wrzucić całość na chwilę na komputer, niż kopiować między czytnikami.

I tu niespodzianka. Po usunięciu miniaturek zdjęć (jakieś 200 czy 300 MB) i skopiowaniu wszystkich danych na dysku katalog zajął… 880 MB.  Czyli jakąś połowę tego, co na karcie. W tym momencie zapaliła mi się lampka ostrzegawcza. Czyżby rozmiar bloku? Katalog Yanosika ma dużo małych kilkusetbajtowych plików, więc może o to chodzi. Sprawdziłem jego rozmiar w komputerze. 130 MB, więc bez dramatu. Czyżby autorzy zrobili taki bezsensowny i niedostosowany do Androida cache?

Zacząłem drążyć temat i okazało się, że cfdisk pokazuje jako system plików FAT16. No ale jak to? I jaki jest rozmiar bloku dla FAT 16? I czy w ogóle pojemności rzędu 2 GB są obsługiwane przez taki zabytek? Szybka wyprawa do muzeum i okazało się, że owszem, FAT16 obsługuje pojemności dysku do 2 GB. A rozmiar bloku to wówczas… 32 kB. Zamiast wymieniać kartę, postanowiłem zrobić mały eksperyment: zmienić system plików na FAT32.

Zmieniłem typ partycji w cfdisk (raczej bez znaczenia) i sformatowałem kartę przy pomocy mkfs.vfat -F 32, czyli wymuszając FAT32. Skopiowałem dane z komputera, włączyłem telefon, odbudowałem cache zdjęć. Po tym zabiegu jest 930 GB wolnego, bez kasowania jakichkolwiek danych! Czyli rozmiar bloku ma w przypadku urządzeń z Androidem duże znaczenie.

Zastanawiam się tylko, jak to możliwe. Kto w XXI w. używa FAT16? Nie kojarzę gdzie była formatowana karta. Wiele wskazuje na to, że w samym telefonie. Czyżby Android był tak słabo zaprojektowany, że domyślnie formatuje karty o rozmiarze 2 GB i mniejsze na FAT16? Jeśli tak, to jak widać zupełnie bez sensu. Ciekawe też, jaki system plików jest w na wbudowanej pamięci flash. Bo o ile karty microSD są tanie (8 GB class 4 od 12 zł widzę, za mniej niż 20 zł można nawet 16 GB class 10 w sklepie kupić), więc rozważania o rozmiarze 2 GB są czysto teoretyczne, o tyle w przypadku wbudowanej pamięci nie ma możliwości zmiany jej rozmiaru – trzeba zmienić urządzenie. Gra w tym przypadku (Yanosik i jego cache plus jakieś inne dane typu zdjęcia, ale przypuszczam, że nie on jeden tak robi…) toczy się w praktyce o podwojenie miejsca…

Pewnego rodzaju obejściem problemu może być w tym przypadku opisane kiedyś przeniesienie aplikacji z pamięci wbudowanej na kartę. Oczywiście najlepiej sformatowaną na FAT32, ale to powinno już stać się automatycznie w przypadku pojemności większych niż 2 GB.

Jak przenieść aplikację na kartę SD w systemie Android? HOWTO

Na jednym starym urządzeniu z Androidem mam śmieszną ilość wbudowanego dysku w urządzeniu – poniżej 512 MB. Do tego wydawało mi się, że aplikacje ze sklepu Google Play mogą być instalowane tylko na wbudowanym flash w urządzenie. Dziś dowiedziałem się, jak zmusić Androida (przynajmniej poniżej wersji 5) do instalacji oprogramowania bezpośrednio na karcie SD. Operacja jest umiarkowanie prosta, więc jeśli ktoś ma problem z brakiem miejsca na telefonie, to polecam. Co zdziwiło mnie najbardziej to fakt, że nie jest konieczne rootowanie telefonu.

Wymagania

Aby odblokować możliwość przenoszenia praktycznie dowolnego oprogramowania na kartę SD, potrzebne będą:

  • kabel USB do połączenia telefonu i komputera,
  • Android w wersji niższej niż 5,
  • włączenie USB debugging na urządzeniu na czas zmiany ustawień,
  • oprogramowanie Android Debug Bridge (ADB) zainstalowane na komputerze (w przypadku Linuksa powinno być w repozytoriach).

Odblokowanie przenoszenia programów na kartę SD

  • upewniamy się, że tryb USB debugging jest włączony lub włączamy go,
  • podłączamy urządzenie do komputera,
  • sprawdzamy, czy jest widoczne (polecenie adb devices),
  • jeśli jest widoczne, wydajemy polecenie adb shell,
  • w powstałej konsoli wydajemy polecenie pm get-install-location – zapewne zobaczymy 0 lub 1, co oznacza odpowiednio wybór automatyczny lub wewnętrzną pamięć flash,
  • zmieniamy wartość na 2: pm set-install-location 2,
  • zamykamy konsolę adb, odpinamy telefon od komputera, wyłączamy USB debugging.

Przenoszenie programów na kartę SD

  • na telefonie wybieramy Ustawienia -> Aplikacje -> Na karcie SD,
  • „ptaszek” przy nazwie programu oznacza, że jest on na karcie SD,
  • wybieramy kolejno aplikacje i w ich ustawieniach wybieramy przenieś na kartę SD.

Po chwili powinniśmy zauważyć przyrost wolnego miejsca na wbudowanym w urządzenie nośniku.

Wady

Poza oczywistą zaletą, czyli możliwością instalacji większej ilości programów, co często oznacza być albo nie być dla urządzenia, są też wady:

  • wbudowana pamięć flash jest zwykle szybsza, niż karta, ale w praktyce nie odczuwam tego, na typowej lowendowej karcie,
  • niektóre aplikacje, zwł. systemowe lub Google nadal nie dają się przenieść,
  • przenoszone aplikacje zajmują nadal trochę miejsca na wewnętrznej pamięci.

Na zakończenie polecam lekturę pełniejszego opisu, z obrazkami (ang.) – widziałem kilka opisów, ale ten wydaje mi się najlepszy i najbardziej przystępny.

UPDATE

Debugowanie USB w Androidzie 4.2 i nowszych

W przypadku Androida w wersji 4.2 i nowszych, nie można tak zwyczajnie włączyć debugowania USB. Należy najpierw odblokować ukryte menu, a żeby to zrobić należy zostać programistą.
Wybieramy Ustawienia -> System -> Informacje o urządzeniu -> O telefonie i naciskamy 7 razy (nie, to nie jest żart). Po tym otrzymujemy informację, że zostaliśmy programistą. Następnie standardowo w Opcje programisty wybieramy Debugowanie USB.