sobota 19. března 2016

Tablet KB901 - smrt a rozborka

Kamarád Marek mi daroval tablet - krásný 9,2" neznačkový (nikde žádný nápis), že prý už je moc pomalý a ať si ho rozdělám a vezmu si z něj třeba displej. To mi přesně káplo do noty, protože se pídím po pořádném displeji pro Arduino/STM32/ESP8266, takže jsem tablet vzal a přinesl domů.

Tablet kupodivu normálně fungoval, i když opravdu pomalu. Běžel v něm Android 4.2.2 a byla předinstalována řada běžných aplikací. Nainstaloval jsem na něj Elixir2, abych zjistil, že zde nejsou žádné zajímavé senzory. Pak jsem nainstaloval Google Chrome a pustil můj oblíbený Peacekeeper web benchmark, ve kterém tablet dosáhl neuvěřitelně nízkého skóre 161 bodů (při splnění pouhých 2 HTML5 testů ze sedmi). To je asi 3x pomalejší než Raspberry Pi, nepletu-li se. Tak pomalý by gigahertzový procesor být neměl - něco tu musí být špatně.

Každého by napadlo, že v pozadí běží zpomalující aplikace, ale ne, žádné tam nebyly. Tak jsem se rozhodl pro rootnutí, že třeba nad tabletem získám lepší kontrolu a na něco přijdu. Po připojení k počítači jsem zjistil, že tablet si říká KB901 a že se ještě nedávno prodával za více než 100 amerických dolarů, tedy u nás tipuji na 3000+ Kč. Je v něm procesor AllWinner A13 běžící na 1 GHz, 512 MB RAM, a více než 9" displej má rozlišení pouhých 800x480 bodů. Ale jak se říká, darovanému koni na zuby nehleď. Navíc, 800x480 by pro Arduino/STM/ESP bylo úplně dostačující rozlišení.

Zde trocha dalších informací přímo z adb shellu:

root@android:/ # cat /proc/cpuinfo                                             
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 1001.88
Features : swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2

Hardware : sun5i
Revision : a13b
Serial : 060365103731303050564b371625420e

root@android:/ # cat /proc/partitions                                          
major minor  #blocks  name

  93        0      16384 nanda
  93        8      16384 nandb
  93       16      32768 nandc
  93       24     786432 nandd
  93       32    1048576 nande
  93       40      16384 nandf
  93       48      32768 nandg
  93       56     327680 nandh
  93       64     262144 nandi
  93       72    5177344 nandj

Před rootováním mě napadlo nainstalovat CWM. Stáhl jsem si verzi 6.0.28 z XDA a našel dokonce i řadu nějak upravených ROM na ruské adrese. Instalace CWM nebyla úplně přímočará, protože tablet má několik zajímavých vlastností - například nejde zapnout, pokud je vložena SD karta. Také nejde zapnout při držení Volume+, což by mi mělo umožnit nainstalovat ZIP z SD karty. Nakonec jsem tam ručně rozbalený CWM dostal přes adb shell a taktéž ručně nainstaloval. Pak jsem musel ručně rebootovat do CWM a když jsem v něm konečně byl, ze samé euforie jsem dal "wipe cache" a "wipe data". A navrch nainstaloval SuperSU ze ZIPu.

A to jsem asi neměl dělat. Od té doby jsem už normální start neviděl. CWM začal hlásit, že nejde přimountovat žádný oddíl. Když jsem se z toho konečně vzpamatoval a zkontroloval cat /proc/partitions, zjistil jsem, že kernel z původních 10 oddílů nevidí ani jeden. V /dev/block bylo taky docela pusto. Napadlo mě podívat se na výstup dmesg, kterému vévodily stovky řádků následujícího znění:


[    2.728136] PHY_PageReadSpare : too much ecc err,bank 0 block 7,page 0 
[    9.875478] [FORMAT_ERR] There is not enough valid block for using!
[    9.881758] [FORMAT_ERR] There is not enough free blocks for distribute!
[    9.888469] [FORMAT_ERR] Format nand disk failed!
[    9.893184] [NAND]init_blklayer fail 

Pochopil jsem, že tady mi už pšenka nepokvete. Nevím tedy, jestli jsem zavinil smrt nějakým chybným krokem já, nebo jestli tento CWM nebyl to pravé ořechové, nebo jestli jsem se přesně trefil do momentu, kdy se vnitřní eMMC paměť definitivně odporoučela do křemíkového nebe, ale výsledek byl každopádně takový, že Android už nešel nastartovat. Neumím ho ani obnovit, když v /dev/block/ nejsou žádné diskové oddíly, na které by případně šlo nahrát některý z těch ruských firmwarů.

Rozloučil jsem se s ním a vzal do ruky šroubovák. Po chvíli jsem se dostal dovnitř:


Zajímavé, jak je všechno maličké - vlastně zhruba stejně velké, jako Orange Pi Plus. Procesor má na sobě nálepku o výstupní kontrole v prosinci 2013, takže tablet byl nejspíš ještě v české dvouleté záruce. To je docela tristní, že tabletu ještě v záruce odejde paměť - ten čip s ručně napsanou čínskou osmičkou. Zajímavé je, že nad ním je místo na další čip, takže tablet mohl mít i 16 GB vnitřní paměti. Teď kdybych byl frajer, koupím si někde stejnou paměť a normálně ji přepájím.

Místo toho jsem pokračoval v rozborce. Protože tablet nešel vypnout, musel jsem jako první odpájet čerstvě plně nabitou baterii:


Byla přilepena k zádům displeje nějakým hnusně smrdícím asfaltem, takže jsem ji musel vyhodit z domu. Ráno ji zkusím odbalit, asfalt zahodit a použít ji v nějakém Arduino projektu - 6500 čínských mAh se může hodit!

Na desce je ještě zajímavý WiFi modul vpravo dole - je samostatný, připájený shora na plošný spoj tabletu jen čtyřmi body (nepočítaje 2 body dole pro externí anténu). Zřejmě je připojen na vnitřní USB. Vtipná je anténa - drát vedle doprostřed displeje, kde je nalisovaná anténečka na takovém tom pružném "plošném spoji", který je přilepený na plechová záda displeje! To se už nedivím, že recenzenti psali, že už jedna zeď od WiFi routeru způsobuje problémy s příjmem.

Vlevo od něj je zřejmě řadič displeje - GSL 3680. Tento by chtělo nějak osamostatnit a připojit i s displejem k nějakému mému projektu. Ještě dál vlevo je napájecí (a nabíjecí) část se známým AXP209, nad ní slot na mikroSD kartu, nad ní vlevo od procesoru jsou RAM čipy a pak už jen vlevo nahoře dvě kamerky s trapným VGA rozlišením.

Úplně vpravo nahoře na tom výběžku plošného spoje je zřejmě část starající se o podsvícení displeje a na samém chvostu pak zvukový modul, jehož výstup je drátky spojen s maličkým reproduktorem, který se chytře drží zad displeje svým magnetem.

A to je konec. Displej samostatně zapojit neumím, eMMC paměť měnit nebudu - jediná možnost jak tablet oživit by byla naučit ho žít jen s SD kartou a na vnitřní paměť zapomenout. Ale nemá to smysl, když už mám krásný nový tablet. Takže sbohem a snad půjde použít aspoň ta baterie...

EDIT: našel jsem blog, kde se někdo povrtal v jiném tabletu, jehož vnitřnosti jsou velmi podobné. Dobře popsal jednotlivé broučky, tak to sem nalinkuji.

úterý 15. března 2016

Tablet UMAX VisionBook 7Q Plus

Koupil jsem si dnes tablet, abych mohl ladit aplikace, které programuji pro Android. Úmyslně jsem chtěl ten nejlevnější a nejobyčejnější tablet na trhu, aby se mi nestalo, že program odladím na "nabušeném dělu" a potom v praxi u zákazníka narazím na nějaké problémy (způsobené třeba velikostí paměti, pomalostí procesoru, malostí rozlišení atd.). Proto jsem zadal na několika e-shopech "seřadit tablety od nejlevnějšího" a vybral první, který splňoval mé klíčové požadavky: IPS displej, 1 GB RAM a Bluetooth: vyhrál to UMAX VisionBook 7Q Plus za 1690 Kč.
První dojem po rozbalení: tablet je srandovně maličký - jen o málo větší než můj mobil. Je i tenký a lehký. Překvapením je náhradní modrý zadní kryt - asi pro lidi, kterým se celobílé provedení moc nelíbí.

Skvělé je, že kromě dobrého displeje a dostatečné velikosti RAM jsem získal ještě čtyřjádrový 64bitový procesor MT8163 s ARM Cortex-A53 architekturou běžící až na 1300 MHz a grafiku Mali-T720 s podporou OpenGL ES 3.1. Android je tu Lollipop verze 5.1, což je taky paráda (mnoho prodejců bez uzardění pořád prodává zařízení s Androidem 4.x). Rozlišení 1024x600 v 7" neurazí ani nenadchne. Potěší řada senzorů (zrychlení, gravitace, magnetického pole, orientace, rotace), je tu gyroskop a především přijímač GPS, který v levnějších tabletech vůbec nebývá. Kamery 2Mpix/0,3Mpix (zadní/přední) odpovídají ceně tabletu a fotit s nimi nic nebudu. Výborný je ale miniHDMI výstup. USB je OTG: připojená fleška, myš i klávesnice fungovaly skvěle. USB zásuvka je zároveň vstupem pro externí zdroj, takže není potřeba ssebou tahat speciální nabíječku, stačí cokoliv s mikroUSB výstupem (třeba v autě). Slot na mikroSD kartu je tu také, co víc si přát?

Hned po rozbalení jsem tablet podrobil rychlostním testům. AnTuTu benchmark je etalon, použil jsem tedy jej (ve verzi 6.0.1). Celkové skóre je 29111 bodů: 3D test měl 2352 bodů, User eXperience 12035 bodů, výkon CPU 10798 bodů a rychlost RAM 3926 bodů. AnTuTu HTML Test, který jsem omylem pustil samostatně, ukázal 17264 bodů. Pravda, náročné AnTuTu testy 3D grafiky dost pokulhávaly - ukazovaly těsně nad 1 FPS. V praxi by to chtělo zkusit některou ze starších 3D her, měly by díky Mali-T720 jet pěkně (mám koupený Asphalt 6, tak příležitostně zkusím). Při běžném používání je tablet zcela plynulý a reaguje okamžitě.

Zajímavé jsou předinstalované aplikace: OneDrive, Word, Excel a PowerPoint jsem v androidím tabletu opravdu nečekal! Ovšem řadový uživatel přicházející z MS Windows musí být šťastný jak blecha. Dále potěší ES File Explorer (standardní Android přijde bez správce souborů a uživatel tápe) a nakonec je tu i iVysílání, které k mému překvapení normálně funguje a přehrává pořady z archivu ČT (pokud nesáhneme na posuvník v čase pořadu, to už se pak nerozběhne). Samozřejmě je tu kompletní sestava aplikací od Google. Navíc najdeme ještě MX Player, FM Rádio (wow, takže tablet má i rádio!). Boží třešničkou na dortu je plovoucí aplikace (vznáší se nad čímkoliv spuštěným) zobrazující aktuální vytížení každého ze čtyř jader CPU.

Z výše popsaného mám pocit, že tablet je na svou cenu velmi dobře vybavený jak po HW stránce, tak i programově. Podle mého názoru je ihned po vybalení plně použitelný pro kancelářskou práci i multimediální zábavu. Jdu zkusit pustit na něm mé vlastní aplikace :-)

EDIT: doplněno o pár dní později
Ukázalo se, že tento super levný prcek má kromě všech super vlastností zmíněných výše ještě jednu naprosto zásadní - umí 802.11ac, tedy WiFi v pásmu 5 GHz! Tím se morálně posouvá o další level výše a je přímo předurčen do husté bytové zástavby, kde už pásmo 2,4 GHz skomírá a jedinou možností bezdrátového Internetu je přejít na 5 GHz, což dneska ještě málokteré zařízení podporuje.

Ještě zmíním výsledky v testu Peacekeeper - 609 bodů celkem (při třech HTML5 testech ze sedmi). Podrobné výsledky: Rendering 34,4 bodů, webglSphere 57 FPS, HTML5 Canvas 7 bodů, Data 8100 bodů, DOM operace 2254 bodů a Text parsing 19276 bodů.
Pro porovnání Nexus 5 s 2,26 GHz CPU - 678 bodů (a taky jen 3 HTML5 testy ze sedmi). Podrobné výsledky: Rendering 28 bodů, webglSphere 57,6 FPS, HTML5 Canvas 5,7 bodů, Data 11113 bodů, DOM operace 2524 bodů a Text parsing 31925 bodů. Samozřejmě identický browser (Chrome 49). Závěr - tablet je nečekaně rychlý a šlape na paty 5x dražším zařízením!

neděle 31. ledna 2016

Orange Pi Plus - opravdu nabušený mikropočítač

Jak jsem si kupoval maličký počítač Orange Pi Plus v Číně a co z něj v první chvíli vylezlo jsem sepsal, nafotil a právě mi vychází článek na webzinu Root.cz - najdete ho tady.

úterý 12. ledna 2016

Knight Rider a Arduino

Jak už jsem psal před dvěma a půl lety zde na blogu, Arduino mi připadá jako vhodné řešení mnoha drobných problémů: třeba když je potřeba rozblikat světla na kapotě KITTa - bájného to vozidla Michaela Knighta ze seriálu Knight Rider. Když jsem pak před pár týdny na Google Plus narazil na nějakou debatu, kde lidé nevěděli, jak přesně právě ta KITTova světla na Arduinu udělat, neodolal jsem a pustil se do díla. Z původně plánované jednovečerní akce mezi Vánocemi a Novým rokem se vyklubalo něco poněkud většího, a protože mě to mimořádně bavilo, napsal jsem o tom nakonec delší blog post, ve kterém podrobně vysvětluji, jak jsem co naprogramoval a proč.

Ten blog post dnes měl vyjít zde na tomto místě, ale na poslední chvíli byl přesměrován na můj oblíbený webzine Root.cz, kde se za pár minut (už o půlnoci na 13.ledna) objeví online na této adrese. Věřím, že vás pobaví stejně, jako mě bavilo to nejdřív naprogramovat a pak o tom napsat :-)


S malými počítači se roztrhl pytel

Určitě všichni znáte Raspberry Pi - anglický počítač určený původně k výuce (resp. k přilákání školních dětí k programování počítačů). Za 35 amerických dolarů spousta výkonu na maličké destičce. Byl to velký hit 2012/2013 - sám jsem podlehl davu a na konci jara 2013  si ho také koupil. Bohužel jsem pro něj dlouho neměl žádné rozumné využití, snad s výjimkou nočního kamerového hlídače. Jako náhrada stolního počítače, srdce multimediálního centra, webového serveru či síťového disku, jak ho většina lidí používá, je bohužel velmi nevhodný, protože má pomalou grafiku, pomalé síťové rozhraní a chybějící rozhraní pro připojení pevného disku.

Během roku 2015 se vyrojila velká spousta podobných počítačů, které nad původním Raspberry Pi vynikají jak vyšším výkonem, tak i nižší cenou. A jak se blížily Vánoce, nové počítače se vynořovaly prakticky každý týden. Sám jsem nevěděl, který si vybrat, a tak jsem v rámci průzkumu trhu sepsal tento krátký aktuální přehled malých jednodeskových počítačů, který mi vyšel na Root.cz první pracovní den letošního roku. Je pod ním, jak je zvykem, bohatá diskuse s pár užitečnými informacemi.

Na podzim 2015, když na webu raspberrypi.org vyšly aktualizované obrazy operačního systému Debian Jessie, jsem neodolal a pro účely jednoho projektu jsem si koupil "dvojku", tedy čtyřjádrový Raspberry Pi 2. Papírově měl být mnohem rychlejší než "jednička", tak jsem doufal, že už bude použitelný. Bohužel se ukázalo, že pro účely náhrady stolního počítače je téměř stejně nevhodný jako "jednička" - je stále velmi pomalý, akcelerovaná grafika chybí jako sůl. Samozřejmě programy se pomalu spouští a v relativně omezené paměti jich moc naráz nezůstane. Swapovat na SD kartu nemá smysl. Jako multimediální centrum je trochu lepší než jednička, ale pořád to není žádný "blesk".

Po zklamání z Raspberry Pi 2 na 900 MHz jsem neodolal a koupil si v Číně Orange Pi PC - kopii Raspberry Pi 2, ale s jiným procesorem taktovaným na 1,6 GHz. Doufal jsem, že mi dorazí do Vánoc a budu schopen vedle sebe na stole porovnat Raspberry Pi "jedničku" a "dvojku" a také Orange Pi PC. Už jsem plánoval nějaké rozumné testy, připravoval se na Phoronix Test Suite, ale pak uplynulo 49 dní a ukázalo se, že Orange Pi PC nikdy neopustilo hranice Číny a prodejci se vrátilo jako nedoručitelné. Jaká ironie, když mi od téhož prodejce přišla kamerka k Orange Pi, koupená ve stejný moment s tím PC a odeslaná na stejnou adresu.

Aby mi Orange Pi kamerka nezůstala ležet ladem (k ničemu jinému se nedá připojit), objednal jsem obratem jednu z nejdražších a nejvybavenějších verzí - Orange Pi Plus. Ta je v tuto chvíli už tři týdny někde mezi nebem a zemí a jen doufám, že někdy dorazí až ke mně. Potom se pokusím porovnat ji alespoň s Raspberry Pi, nebo co bude zrovna po ruce. Bohužel už teď vím, že bude mít slabé a pomalé SATA rozhraní, takže mé hledání vhodné malé desky na provoz síťového serveru nekončí. A dost možná, že nad ARMovým řešením zlomím hůl a vrátím se do světa amd64, kde síťové a diskové rozhraní fungují bez obav a na plný výkon, o akcelerované grafice ani nemluvě.

pondělí 26. října 2015

Arduino na 433 MHz a bazénový teploměr

Moc se mi líbí jezdit na konference o Linuxu, Open Source a souvisejících tématech - například na LinuxDays či OpenAlt (dříve LinuxAlt). Rád se tam potkávám se zajímavými lidmi, hltám přednášky a užívám si srocení chytrých lidí a všeho toho šrumu okolo.

A letos jsem dokonce dostal příležitost na LinuxDays vystoupit s vlastní přednáškou - vlastně rovnou se dvěma přednáškami - na mé tolik oblíbené téma: Arduino. Existují videozáznamy z obou z nich, takže se můžete pobavit, i když jste v Praze nebyli.

První přednáška se jmenuje "Arduino a Internet věcí" (prezentace zde):




Druhá se jmenuje "Arduino na 433 MHz" (prezentace zde):



Jak jste si při sledování videí nemohli nevšimnout, i přes pečlivou domácí přípravu jsem zvlášť v druhé přednášce narazil v časovém stresu na opravdu zrádnou věc: skrytou vnitřní kapsu batohu, která ukrývala klíčové předměty, které se měly stát vrcholy mé přednášky. A já je prostě nedokázal v tom tlaku rychle najít a myslel jsem si, že jsem je někde zapomněl. Ale hodinu po přednášce jsem je v tom batohu už našel! Je to možné? Fakt se mi to stalo... No mrzelo mě to tak moc, že jsem se rozhodl průšvih z přednášky napravit.

A za nápravu považuji sepsání tohoto článku, který mi právě teď vychází na Root.cz. Najdete v něm nejen doplnění mé přednášky o chybějící meteostanici, ale především podrobný popis až skoro návod, jak si můžete postavit vlastní venkovní bezdrátové čidlo k existující meteostanici napájené akumulátorem dobíjeným solární energií. Tak směle do toho! :-)

EDIT: článek má ještě dvě pokračování: druhé a třetí. A pod každým je velmi výživná diskuse. Pěkné počtení! :-)

středa 7. října 2015

Dual Joystick USB adaptér

Pravděpodobně jste někdy hráli hry na starých skvělých 8bitových počítačích jako jsou Atari 800 XL nebo třeba Commodore C64. Anebo jste mladšího data výroby, takže jste už jen slyšeli vyprávět, jaké to bylo úžasné, když vaši rodiče pařili celé dny i noci nesmírně chytlavé, hratelné, boží hry.

International Karate pod posvátnou horou, která dala tvar Atari logu
Pokud nemáte to štěstí, že byste měli doma funkční počítač z osmdesátých let, nezoufejte. Existuje celá řada velmi zdařilých emulátorů, programů, díky kterým i na obyčejném kancelářském PC či Macu můžete zprovoznit k nerozeznání podobné prostředí, ve kterém bezchybně běží ty 30 i více let staré, ale stále naprosto dokonalé a zábavné hry.

Montezuma's Revenge
Jen namátkou jmenuji Atari800 emulátor (na kterém už přes deset let pracuji v celosvětovém týmu dalších dobrovolníků), nebo jsem teď třeba viděl emulátor konkurenčního počítače C64 pojmenovaný VICE. Samozřejmě existují mnohé jiné emulátory stejných počítačů - Atari 800 i C64 byly ve své době naprosté fenomény a každý je chtěl, což přetrvalo i do doby, kdy programátoři museli dospět a přejít na kancelářské nevzhledné šedivé krabice (=PC). Takže jak to bylo jen trošku možné, ti schopnější ihned začali programovat emulátory svých dávných lásek a díky tomu máme dnes skutečně bohatý výběr.

legenda Quick Shot, kdo by si ho nepamatoval?

Ovšem je tu jedna věc, která zážitek kazí: chybí původní ovladače, pákové joysticky. Ano, ty otřískané, vymleté, stokrát spravované a někdy i ulomené Quick Shoty II a jim podobné. Hrát tehdejší hry na dnešní klávesnici není vůbec zábavné, je to jiné ovládání, jiný pocit. Ale kdyby tak bylo možné vzít ze skříně ten starý joystick (případně někde koupit nový) a připojit ho k PC/Mac/RaspberryPi, pustit emulátor oblíbeného stroje přes celou obrazovku, osolit zvuk naplno - tak by to bylo stejně úžasné jako tehdy!

elegantní stříbrná raketa se dvěma tryskami
Pokud chcete dětem ukázat, jaký gamesník se ve vás ukrývá, případně chcete pochopit, proč na ty staré hry s 2D grafikou a čtyřkanálovým zvukem vaši rodiče pořád s láskou vzpomínají, pořiďte si můj nejnovější vynález - Dual Joy USB adaptér.

levý je #1, pravý je #2
Díky němu jednoduše připojíte jeden nebo dva pákové ovladače k jakémukoliv stroji s USB a můžete začít pařit stejně jako tehdy!

adaptér doporučuji připojit přes USB prodlužku
Adaptér je testován pod Androidem, MS Windows XP/7/8/10, Apple OS X a Linuxem, ale nemá důvod nefungovat i kdekoliv jinde. Funguje jako standardní HID zařízení a zprostředkuje 4 směry a jedno tlačítko, přesně jako to měly ty staré Atari/Commodore joysticky (pokud tam bylo více "Fire" tlačítek, byly navzájem propojené).

Archon - bojové "šachy" pro dva hráče
Při jeho návrhu a výrobě jsem využil téměř roční zkušenosti s PARCP-USB adaptérem, takže jsem už nešel do mini USB zásuvky, ale nechal jsem trčet USB konektor ven.


Může vám to připadat nezvyklé, nebo dokonce nebezpečné, ale když použijete krátkou USB prodlužku (místo abyste adaptér cpali přímo do PC), tak ten konektor snad nevylomíte.


Vevnitř najdete mikrokontrolér a pár nezbytných součástek. Ano, chtěl jsem tam původně vestavět Arduino Pro Mini, ale o pár milimetrů se mi tam nevešlo, tak jsem stejně jako u PARCP-USB musel nakonec navrhnout vlastní plošný spoj a osadit to jiným procesorem. Nevadí, aspoň to vypadá krásně elegantně nejen zvenku, ale i uvnitř :-)

Takže pokud máte o tento můj nejnovější vynález zájem, napište mi mail.

A to nejlepší na závěr: pokud nemáte dostatek Atari her, určitě hned zamiřte na Fandalův archív - nebudete věřit, kolik tam toho má!