Pocket PC iPAQ 214
17.6.2008 Po dvou letech spokojeného užívání iPAQu h2210 jsem začal pomalu pošilhávat po novějších PDA s VGA displejem (hlavně na mapy a čtení dokumentů) a WiFi. Jako nutnou podmínku pro nové PDA jsem si kladl, že musí mít oba sloty CF i SD. Ke značce Compaq/HP jsem měl z předchozí zkušenosti důvěru, takže jsem opět hledal mezi iPAQy. V úvahu přicházel starší top model hx4700 a zbrusu nový iPAQ 214. Rozhodování to nebylo jednoduché, protože každý má něco do sebe. Zatímco hx4700 se může chlubit tělem z hořčíkové slitiny a má ještě klasické rozhraní IrDA a RS232, tak 214 je jen plastiková, ale zase má dvojnásobek paměti, novější procesor a má mít USB host. iPAQ hx4700 se už dávno neprodává, ale kdybych ho někde viděl v inzerci za rozumnou cenu, tak bych ho asi koupil. Nakonec jsem šel do nového iPAQu 214, který jsem koupil v DXT Computers.
iPAQ 214 je PDA založené na novém procesoru ARM XScale PXA310 a operačním systému Microsoft Windows Mobile 6.0 (vychází z Windows CE 5.2). Ovládá se pomocí dotykového podsvětleného displeje s VGA rozlišením (480 x 640), pětisměrného tlačítka a dalších 4 jednoduchých tlačítek. Na fotce je vidět, že je to proti h2210 trochu bumbrlíček, což je částečně daň za větší LCD. Interní 256MB Flash paměť stačí na instalaci většiny aplikací, ale raději ji šetřím a většinu SW instaluju na CF kartu. Není problém ani s kartami CF/SDHC větších kapacit (v současnosti používám 16GB CF kartu Transcend). PDA je vybaveno zvukovým kodekem Wolfson WM9713L s výstupem na sluchátka a malý vestavěný reproduktor buzený přes zesilovač ve třídě D. Nechybí ani mikrofon, takže lze PDA použít jako záznamník (kvalita nahrávání je na velmi dobré úrovni) nebo pro hlasové spojení přes Skype. Pro komunikaci s okolním světem je 214tka vybavena bezdrátovým WiFi, BlueTooth, miniUSB 2.0 pro synchronizaci a dobíjení (bohužel stále nepodporuje protokol Mass Storage) a systémovým konektorem, který se obsahuje USB 2.0 host, USB 2.0 client, analogové signály pro HeadSet a přívod napájení. Zde je souhrn základních technických parametrů:
CPU: Marvell PXA310 @624 MHz; 90 nm; 32-bit, MMU, DSP Paměť: 128 MB SDRAM, 256 MB NAND FlashROM K9F2G08R0A-J Paměťové sloty: SDHC/SDIO, Compact Flash II Displej: transflexní podsvětlený 4" TFT LCD Rozlišení: 480 x 640 / 262144 barev; 0,126 mm pixel pitch Rozhraní: USB 2.0 client, USB 2.0 host Full-Speed (12 Mb/s) Bezdrát: WiFi IEEE 802.11 b/g (až 54 Mb/s), BlueTooth 2.0 (Widcomm) Audio: 2 interní reproduktory, 3,5mm jack na sluchátka, mikrofon Napájení: 5 V / 2 A max. při nabíjení akumulátoru Baterie: LiIon akumulátor 3,7 V / 2200 mAh Rozměry: 75,4 x 133,8 x 17,4 mm Hmotnost: 192 g OS: Microsoft Windows Mobile 6.0 FW: ROM ver. 1.00.06 Eng 8.1.2008
Po prvním zapnutí mě hned uchvátil LCD displej. Je prostě dokonalý. Rastr už není téměř vidět, kresba je velmi jemná (lze ještě vylepšit funkci ClearType) a barevné podání se od dob h2210 dost zlepšilo. Microsoft ale toto nadšení trochu zchladil, protože všude používá obrovská písma a ikony jak pro slepejše. V nastavení lze sice zmenšit velikost písma, jenže se nezmění zdaleka všude. U ikon to nelze. Na Internetu jsem četl něco o režimu True VGA a utilitě Real VGA, ale ještě jsem to nezkoušel. Obávám se, že poloviční velikost všech grafických objektů už bude příliš malá, stačilo by zmenšení tak na 75%. Naštěstí většina aplikací umožňuje individuálně nastavovat velikost písma. LEDkové podsvětlení je intenzivní, s plynulým nastavením jasu. Taky přibyla drobná vychytávka automatické regulace jasu podle okolního osvětlení (senzor je umístěn vedle tlačítka power). V nastavení podsvětlení se pak nastaví šoupátkem max. hodnota jasu a při zastínění senzoru pak displej automaticky pomalu pohasne. Čitelnost na ostrém slunci je horší než u h2210.
Výrobce bych býval pochválil za antireflexní fólii na LCD, jenže ač myšlenka je to bohulibá, mechanické provedení stojí mírně řečeno za hovno. Z mě neznámého důvodu neleží antireflexní fólie na přední straně LCD, ale je napnutá necelý milimetr před ním. Takže když člověk na něco ťápne, tak ucítí dotyk fólie a mylně se domnívá, že už to zmáčkl a ono se nic neděje. Přitom je třeba vyvíjet další sílu, aby se fólie domáčkla až na touchscreen na přední straně LCD a akce se skutečně provedla. Velikost této nutné přídavné síly se navíc mění v závislosti na poloze, u krajů bývá větší než uprostřed. Doufám že se to časem nějak zlepší nebo že si zvyknu. Na Internetu si na tento problém stěžuje více uživatelů a také se zdá, že usazení fólie se u různých sérií liší.
Přední část krytu PDA je vyrobena z černého lesklého plastu, takže na ní budete moci pohodlně studovat daktyloskopické stopy :). Boky jsou ze stříbrošedého a zadní kryt z matně černého plastu. Kovové tělo by takovému to dražšímu modelu slušelo více, ale to už ani dneska nikdo nedělá. Na PDA jsem si koupil koženkové pouzdro Krusell, které se v tomto případě překlápí shora dolů (u h2210 je to zdola nahoru a příde mi to tak lepší). Dodávaný stylus je kovový s plastovou špičkou a koncem. Neškodilo by, kdyby byl o 1 - 2 mm tlustší. Zvukový výstup (na sluchátka i reproduktorek) mi příde o něco méně hlasitý než u h2210 a v ovládacích panelech nelze nastavit korekci basů a výšek. Nicméně to lze doladit v přehrávači, např. Pocket Music má extra bass a ekvalizér. Další vadou na kráse zvuku je, že kdykoli nějaká aplikace otevře nebo zavře zvukový kodek, tak se ozve lupnutí. V Pocket Musicu je třeba nastavit gapless playback, aby se koncák mezi skladbami nevypínal a nelupalo to. Výdrž baterie musím jednoznačně pochválit. PDA mi vydrželo 7 hodin v provozu se zapnutým displejem a BlueTooth, se spuštěným OZI Explorerem CE a logováním trasy z GPS na CF kartu. Však taky akumulátor není nejmenší a má kapacitu 2,2 Ah. Další podrobnosti viz recenze na Palmserveru.
PDA je dodáváno s OS Windows Mobile 6.0, který oproti verzi Windows Mobile 2003SE podstatně jinak pracuje s pamětí, viz předchozí povídání o h2210. Nyní (už od verze WM5) se všechna uživatelská nastavení, registry systému a instalované programy (pokud nejsou na kartě nebo úložišti) ukládají do NAND FlashROM. To má velkou výhodu v tom, že pokud dojde k vybití baterie, tak nedojde ke ztrátě nastavení a dat, resp. jen těch neuložených v běžících programech. Takže není třeba žádný reinstall a obnovy záloh. Nicméně kvůli případným problémům se softwarem samozřejmě doporučuji zálohovat stejně jako dříve (doporučuji SPB Backup 2.0.0 nebo novější). To je však na úkor rychlosti, Flash bude vždy pomalejší jak RAMka. To je znát zejména po resetu, kdy aplikace a data nejsou cachované v RAM a taky samotný start systému trvá výrazně déle, ale zas by nemělo být nutné tak často restartovat. Z 256MB Flash asi 1/3 zabírá OS a dodávané aplikace, 161 MB je pak k dispozici uživateli - z toho 25 MB jako úložiště mapované do adresáře \iPAQ File Store. Paměti RAM mám po restartu volno asi 87 MB, to už ale běží nějaké doinstalované programy.
Pro pořádek ještě zmíním, jak PDA zrestartovat. Soft reset se dělá klasicky zmáčknutím zapuštěného malého tlačítka na pravoboku. Hard reset (obnova továrního nastavení) se pak dělá ještě krkolomnějším "opičím čtyřhmatem", který je velmi obtížné provést oběma rukama. Opice mají poměrně vyvinutý cit v ocase, takže by to pro ně asi nebyl problém :). Ten spočívá v současném stisku vnitřních dvou tlačítek (start a OK), tlačítka record na levoboku a zapuštěného reset tlačítka. Tuto kombinaci je potřeba udržet stisknutou alespoň 2 vteřiny. Pak uvolníme tlačítko reset dokud se neobjeví bootovací obrazovka s drobným nápisem "Clean Boot". Následně se objeví uvítací obrazovka, kalibrace touchscreenu atd.
Mezi předinstalované aplikace patří klasicky Pocket Office, Outlook, Internet Explorer, Windows Media Player 10, ClearVue PDF a prohlížeč obrázků. Na přiloženém CD je česká lokalizace InterWrite 9.5 od SunnySoftu. Úplně se ale zapomnělo na přepínač běžících úloh. To jsem z předchozích zkušeností s h2210 považoval za naprostou samozřejmost, takže jsem si připadal jak debil, když jsem požadované tlačítko/kombinaci nemohl najít. Nakonec jsem si z řady programů na Internetu vybral tento Task Manager a namapoval ho na krajní tlačítko pošty. Umí toho mnohem víc než jen přepínat programy, např. zobrazit procesy, handle oken, zařízení, TCP/IP konfiguraci, ping, statistiku sítě a má v sobě i editor registrů. Nový systém WM6 má jisté odlišnosti a ne všechny starší programy pod ním běží korektně. Proto doporučuji pročíst např. tento compatability list, kam uživatelé www.mobilitysite.com přidávají svoje zkušenosti. Největší katastrofou pro mě je, že nefunguje CabInstl pro instalaci CAB balíčků. Resp. zdánlivě funguje, ale aplikace se stejně nainstaluje do defaultního místo zadaného adresáře. Nakonec jsem to vyřešil programem WinCE CAB Manager, pomocí nějž v CABu přepíšu defaultní instalační cestu a pak teprve instaluju. Dále program Card Export II pro USB Mass Storage se mi choval né vždy úplně spolehlivě a tak jsem ho vyměnil za WM5 Storage. XCPUScalar si zas nerozumí s novým PXA310 a jiný funkční program pro nastavení frekvence, pokud vím, zatím není. Příkazová řádka PocketConsole funguje taky nějak divně. Aby se vůbec zpustila, je nutné změnit v registru HKLM\Drivers\Console\ proměnnou OutputTo na hodnotu 0. Pak se sice spustí, ale není vidět právě psaný příkaz. Ten se objeví až po odentrování. Ještě jsem nestihl nainstalovat všechno, ale doufám, že už žádné nepříjemné překvapení nepříde.
2.7.2008 Tak jsem objevil jednu nepříjemnou závadu v power managementu. Když je ve slotu zastrčená CF karta, dochází k odběru energie z baterie i ve vypnutém stavu. A toto samovybíjení není zrovna malé - za 24 hodin to dělá s mojí 16GB CF kartou pokles o 14%. U 1GB CF karty Kingston pak 15% za den. Takže během týdne, když by se PDA nepoužívalo, tak se baterie vybije úplně. Zkoušel jsem samozřejmě měřit odběr i bez CF karty, kde byl pokles o 0% za den. Měl jsem nainstalované všechny dostupné záplaty z webu HP, ale zkusil jsem schválně provést i hard reset, jestli se to třeba náhodou nespraví a nespravilo. V nastavení napájení je volba Nastavit napájení karty CF v režimu spánku s možnostmi zapnuto/vypnuto, viz obrázek:
Zkoušel jsem pro jistotu obě možnosti, ale nemá to žádný efekt. Měřil jsem také napětí na napájecích pinech v CF slotu ve vypnutém stavu a vždy tam bylo 3,3 V. Jak jsem zjistil na Internetu, má tento problém více uživatelů CF karet, viz např. tato diskuse na BrightHand fóru. Dotazů spousta, ale řešení žádné. A HP o tom mlčí. Zajímavé, že s SD kartami většinou tento problém není, bohužel nemám žádnou k dispozici na otestování. A nehodlám ji kupovat jenom proto, že to ve vývoji někdo podělal. Říkal jsem si, že bude dobré se s problémem obrátit na podporu než jen pasivně čekat, protože čím víc lidí bude HP otravovat, tím větší šance, že s tím budou něco dělat. Zkusil jsem napřed chat technické podpory. Tam byl nějaký lojzek, který se divil, že vůbec funguje 16GB karta, že prý zkoušeli jenom 2GB a odkázal mě, ať donesu PDA na lokální servisní středisko. To sídlí v Praze v ulici Jeremenkova 88. 7.7.2008 jsem ho tam tedy donesl na servis a vysvětlil problém. Říkali, že to pošlou na analýzu a bude to tak 1 - 2 týdny trvat.
18.7.2008 jsem byl vyzvednout PDA ze servisu. Bylo mi doporučeno nainstalovat záplatu sp39391.exe. Na můj dotaz mě ještě ujišťovali, že to prý zkoušeli. Tuto záplatu jsem už dříve instaloval, ale když jsem ji stahoval znovu, zjistil jsem, že se jedná o nověji datovanou verzi. Aniž by se na webu HP obtěžovali změnit číslo verze nebo datum v popisku. Jak vyplynulo z hledání na Internetu, stará verze záplaty obsahovala chybu v instalačním skriptu _setup.xml, kde byl překlep v popisu klíče registru HKLM\Drivers\Builtln\Battery, správně mělo být HKLM\Drivers\BuiltIn\Battery. HP zřejmě neřeší testery a testuje rovnou na lidech. To je ale dneska při tom šíleném tempu vývoje běžné. Nainstaloval jsem tedy novou záplatu na čistě zrestartované PDA, nabil baterii a napjatě čekal, co se bude dít. Druhý den byla baterie z části vybitá, pokles odpovídal opět oněm 14% za den.
Tak sem volal do HP, že ta jejich záplata nefunguje. Nějaký pán se mi zatvrzele snažil vysvětlit, že toto je vlastnost všech iPAQů a že je to naprosto normální, že to není jejich chyba (takže ta volba na vypínání napájení CF slotu v nastavení napájení je tam asi pro prdel králíkům, že). Já kdybych v práci navrhnul zařízení s takto vyjebaným power managementem a místo otestování to vypustil mezi tisíce zákazníků, tak mě asi šéf nebude mít rád... Na druhou stranu, musíme si přiznat, že HP nikde v manuálu nepíše o nic výdrži baterie ve stand-by režimu, takže by to šlo těžko násilím vymáhat. Nicméně u takového zařízení bych to považoval za samozřejmost, stejně jako vám z auta nemizí benzín, když stojíte na parkovišti s naloženým kufrem, pokud nemáte děravou nádrž :) 24.7.2008 jsem naštvaně odnesl iPAQ znovu do servisu. Maník říkal, že to asi pošlou zpátky bez opravy, že je to tak v pořádku. Na vrácení peněz prý nemám nárok.
7.8.2008 jsem byl opět vyzvednout PDA ze servisu. K mému překvapení tentokrát stálo na opravence "výměna MB, LCM", že prý teď už to bude snad v pořádku. Skutečně na první ťápnutí bylo poznat, že touchscreen je mnohem citlivější než předtím, antireflexní fólie už neplandá tak vysoko. Takže minimálně jeden pozitivní efekt :) PDA jsem zresetoval, nabil baterii a čekal na výsledek dalšího testu. Shit! zase stejný úbytek. Mrknul jsem tedy, jestli HP nevydalo nějakou novější záplatu. A hle, na webu přibyl balíček: HP iPAQ 200 Enterprise Handheld Series - Update for Wi-Fi Driver, Data Transfer, Extended Battery, and LCD Manufacturer's Name. Když jsem se ho ale pokusil nainstalovat, PDA na mě vybaflo s chybovou hláškou "Invalid Model ID". Zkoušel jsem se schválně mrknout i na stránky iPAQ 210, stáhnul odpovídající soubor a porovnával - byl shodný. Navíc legrační je, že záplaty které jsem postahoval dříve, tak vyjma WiFi driver update hlásí též "Invalid Model ID". Takže desku nejspíš opravdu vyměnili. Naštěstí jsem při vytváření poslední zálohy měl v systému už tyto aktualizace nainstalované, takže stačilo zálohu obnovit a měl jsem je tam. Pak už při dalším testu k vybíjení baterie nedocházelo. Jak jsem zjistil později, chová se to ale stále nějak divně. Pokud provedu soft reset a pak PDA vypnu, tak se žádná energie neztratí. Pokud PDA používám, jen pozavírám aplikace a vypnu, tak je tam menší úbytek asi 10% za den. Doufám, že to nějakým dalším patchem ještě poladí. 8.8.2008 jsem byl opět v servisu konzultovat problém s "Invalid Model ID" a bylo mi řečeno něco v tom smyslu, že pro tuto novou HW revizi není stávající záplata určena a že patrně bude vydána nová verze. Na moji poznámku o chaotickém verzování a update webu mi bylo řečeno, že si tam webmasteři žijí vlastním životem, LOL ;).
13.8.2008 Vypadá to, že toto PDA bylo šito pěkně horkou jehlou. Další drobný problémek se týká BlueTooth ikonky na ploše. Po čase jsem zjistil, že přes tuto ikonu nejde BlueTooth zapnout, nereaguje na poťapání, křížek zmizel a zůstala zašedlá. Také ve správci iPAQ Wireless úplně zmizela karta týkající se nastavení BlueTooth. Zjistil jsem, že k tomutu jevu dochází náhodně při obnovení zálohy SPB Backup. Občas totiž dojde ke zpřeházení pořadí spouštěných programů a BTTrayCE.exe se spustí až po iPAQWireless.exe, a ten ho pak v paměti nenajde. Náprava je poměrně jednoduchá, v programu SKTools jdeme do menu "Maintenance|Windows Startup" a zde najdeme položku BTTrayCE.exe.lnk. V menu "Action" pak vybereme "Order|Up" a opakujeme tak dlouho, dokud BTTrayCE.exe.lnk nedosáhne nižší číslo Order než má položka iPAQWireless.lnk. Zatím nevím, jak tuto změnu trvale promítnout do zálohy, podle mě to ani nejde. Domnívám se, že pořadí je určeno fyzickým pořadím adresářové položky daného jména v adresáři, což nelze podchytit na úrovni souborů, ale musel by se vytvořit kompletní image souborového systému.
Na bezpečném úložišti \iPAQ File Store se za nějakých nešťastných okolností může poškodit souborový systém, což se projevuje třeba tím, že jsou zde soubory, které nejdou vymazat (můžou mít v názvu paznaky či extrémní velikost) nebo že reportované volné místo je menší, než by mělo ve skutečnosti být. IPAQ sám o sobě nemá žádný opravný nástroj, jedinou možností je zformátovat \iPAQ File Store programem Resco Explorer 2008. Jsou také zprávy od některých uživatelů, kterým se za záhadných okolností obsah \iPAQ File Store vymazal, mě se to zatím nestalo.
Další tip by mohl pomoci trochu urychlit práci v GUI. Jde o zvětšení cache pro fonty. V registru HKLM\SYSTEM\GDI\GLYPHCACHE\ je proměnná limit, která má defaultně hodnotu 8192 [Bytes]. Experimentálně jsem ji zvětšil na 65536 a PDA znatelně ožilo. Aby se změna v registrech trvale uložila, doporučuji PDA krátce vypnout - zapnout a pak teprve restartovat. Jinak hrozí, že se registr změní jen v RAM a neuloží do FlashROM.
Pokud vás také irituje to dotazování při spouštění digitálně nepodepsaného software, je tu jednoduchá pomoc. V registru HKLM\Security\Policies\Policies je proměnná 0000101a, kterou stačí nastavit na hodnotu 1. Pak už se WM nebudou ptát.
Jak vypnout automatické spouštění ActiveSync na PDA? Tento vlezlý program se čas od času sám spustí, aby se pokusil synchronizovat. Když nemá jak, tak aspoň zůstane v paměti a užírá baterku. Zakázání jeho spouštění není úplně přímočaré. Aby se potřebná položka v menu objevila, je nutné napřed vytvořit nějaký server. Jeho IP adresu, jméno a heslo si vymyslete a proťapejte se dále. Po vytvoření serveru se zpřístupní v Nabídce položka Plán, kde se vybírá synchronizace ve špičce a mimo špičku. V obou případech nastavíme na ručně a je to.
15.8.2008 Dlouho se spekulovalo, zda má tento iPAQ funkci USB host nebo ne. HP se k tomu ve specifikacích moc nehlásí a taky potřebný kabel se objevil až s několikaměsíčním zpožděním. Než se dostal až k nám do Čech, tak to také ještě chvilku trvalo. Nyní si ho můžete konečně koupit za ďábelsky předraženou cenu 666,- Kč na ExpertShopu. Pro zručnějšího bastlíře ale nebude zhotovení kabelu svépomocí velký problém. V originálním balení iPAQu se nabízí hned dva protikusy systémového konektoru (s plně osazenými piny) v podobě synchronizačního kabelu a nabíjecí redukce, takže si můžete vybrat. Pozn. na Internetu můžete někde najít mylnou informaci, že se jedná o konektor Hirose ST40X-24S-CV1(80), ten však bez dalších úprav nelze do systémového konektoru zastrčit, nicméně vnitřní část s piny je použitelná.
Já jsem se nechal inspirovat návodem ruských gómáků a použil konektor z napájecí redukce. Jediná investice tak byla 26,- Kč za USB prodlužovačku, z které jsem odřízl konce s USB konektory a trocha času. Podívejme se napřed na zapojení systémového konektoru:
pin signál popis 1 ADP_IN napájení z adaptéru 5 V DC / 2 A 2 ADP_IN 3 ADP_IN 4 ADP_IN 5 VBUS_FS USB 2.0 host 5 V napájení (výstup) 6 D+HHS USB 2.0 host D+ 7 D-HHS USB 2.0 host D- 8 GND zem 9 D+OTG USB 2.0 On The Go (client) D+ 10 D-OTG USB 2.0 On The Go (client) D- 11 VBUS_OTG USB 2.0 On The Go (client) 5 V napájení (vstup) 12 ID_OTG ? 13 GND zem 14 ID_READ Accessory Identification 15 ID_POWER GPI -> ID_READ, GPO -> ID_POWER 16 AGND analogová zem 17 HSET_LOUT HeadSet audio výstup (levý kanál) 18 HSET_ROUT HeadSet audio výstup (pravý kanál) 19 HSET_MICIN HeadSet audio vstup z mikrofonu 20 GND zem 21 RSVD1 rezerva 1 (nezapojeno) 22 RSVD2 rezerva 2 (nezapojeno) 23 RSVD3 rezerva 3 (nezapojeno) 24 GND zem
Na pinech 5 - 8 se nachází signály USB 2.0 full-speed host. Sem stačí napájet kablík s USB samicí a je to. Jak jednoduché. Ještě pro pořádek uvádím zapojení USB kablíku podle barev (pro jistotu je to lepší přeměřit):
pin barva signál 1 červená +5 V 2 bílá D- 3 zelená D+ 4 černá GND
Elektricky je to triviální, mechanicky už poněkud méně. První problém - jak se dostat do konektoru napájecí redukce. Krytka je slepená, takže jsem musel použít nůž na koberce a trochu síly. Konektor má vevnitř plechování, takže by se neměl při řezání poškodit. Pak je potřeba opatrně rozebrat dva na několika místech secvaknuté plechové dílce. Na jednom z nich je připájený na zemnicí drátek. Uvnitř je pak plastová část s piny a kouskem oboustranného plošňáku. Na něm je vyznačeno číslování (piny jsou cik-cak roztaženy do dvou řad). Když už jsem měl z prodlužovačky oba konce, tak sem zapájel i USB client kablík. Pak nastalo to pravé peklo to všechno zas poskládat dohromady. Plechování jsem zredukoval tak, aby nemohlo dojít o jeho hrany k proříznutí izolace kablíků a do plastových krytek sem vyvrtal 2 otvory d = 5 mm pro kablíky. Pak za vydatné pomoci lepicí tavné pistole se mi po delším zápasu s místem podařilo nacpat střívka zpět do krytu. Výsledek mého patlála patlála je zde:
Přes USB host kablík jsem zkusil připojit následující zařízení: USB klíčenka - funguje bez problémů, v kořenu se objeví nový adresář "Hard Disk", USB 2.0 čtečka karet - taktéž bez problémů, USB klávesnice - taky funguje (to je rozdíl oproti ťapání stylusem), USB myš - je sice rozeznána, ale soudruzi z Redmondu zapomněli na kurzor a myš pro slepce je celkem na nic. Naštěstí se našel nějaký šikula, který naprogramoval malou utilitku, jenž vykresluje softwarový myší kurzor. Nakonec jsem zkusil připojit (pro mě důležitou periferii) RS232 převodník s čipem FTDI232. Narozdíl od USB HID nebo Mass Storage Class zařízení je v tomto případě potřeba nainstalovat ovladač. Ten je k dispozici na webu FTDI, použil jsem verzi Virtual COM port 1.1.0.0. Po zastrčení FTDI232 konvertoru do USB host se objeví na obrazovce okno s požadavkem na jméno souboru ovladače. Sem je potřeba zadat FTDI_SER.DLL, předtím však musíme knihovnu a FTDIPORT.INF nakopírovat do adresáře \Windows, aby je systém našel. Po instalaci se mi objevil sériový port COM0, což však není úplně ideální pojmenování, protože drtivá většina programů umí nastavit COM1 a výše. Pouze program PockeTTY byl schopen COM0 otevřít. To lze naštěstí poléčit v registrech HKLM\Drivers\USB\ClientDrivers\FTDI_DEVICE\[nějaké UID]\, kde je proměnná InitialIndex s defaultní hodnotou 0 a tuto přepíšeme např. na 1 (COM1). Za tuto informaci děkuji uživateli emilb z fóra BrightHand. Pokud jste instalaci ještě neprovedli, lze totéž změnit i v FTDIPORT.INF, kde řádek:HKR,,"InitialIndex",0x00010001,0přepíšeme na:HKR,,"InitialIndex",0x00010001,1a pak normálně nainstalujeme. Z USB host portu je údajně možné tahat proud asi 180 mA, při vyšším odběru zabere nadproudová ochrana. Někdo takhle zkoušel připojit malý HDD přes USB redukci a bez přídavného adaptéru se ani neroztočil. Každopádně USB host znamená pro iPAQ 214 velké plus co do rozšiřitelnosti, jen je potřeba dávat pozor na dostupnost ovladačů pro Windows Mobile.
27.1.2009 Tak jsem konečně našel jeden software, který mi chyběl k plné spokojenosti - kvalitní přehrávač modulů (trackované hudby). Na webu http://keygenmusic.net je k dispozici kromě balíku s více než tisícovkou modulů i plugin DEC_MOD pro Conduit Pocket Player založený na knihovně BASSMOD.DLL, který podporuje hudební formáty: XM, IT, S3M, MOD, MTM, UMX, 669, AMF, DSM, FAR, GDM, GT2, IMF, M15, MED, OKT, STM, STX, ULT, UNI.
19.2.2009 jsem na fóru BrightHand objevil thread, kde jeden Číňan předvedl svoji první verzi neoficiální čínské ROM s Windows CE 6.1. Na webu se dá také najít RAW FlashROM dump originální anglické ROM s Windows CE 6.0, ale ten je prý pro hackování nevhodný a autor vlastní pouze kódy originální čínské ROM. Doufejme, že je to jen otázka času, kdy se někde objeví nebo se podaří rozkódovat RAW dump (formát se liší od starších iPAQů, což je dáno změnou výrobce - dříve HTC, nyní Foxconn). No a pro ukrácení čekání si můžete zkusit třeba "upgradovat" na MS Windows 3.0 :)
31.3.2009 Když už jsem si hrál na PDA s těmi alternativními OSy, tak jsem také nemohl opomenout vyzkoušet Linux. Za tu dobu odvedla linuxová komunita velký kus práce a je zde k dispozici celkem použitelná distribuce (poslední verze ke stažení zde). I když k dokonalosti má pořád ještě daleko, bohužel nefunguje podpora pro CF karty a USB host. Za vyzkoušení ale nic nedáte. Linux lze na PDA spustit třemi způsoby:
1) přímo z Windows pomocí programu HaRET, bootování dále pokračuje z linuxového oddílu na SD kartě
2) spouštění v bootloader režimu z SD karty pomocí speciální tlačítkové kombinace při resetu
3) flashnutí natvrdo do NAND FlashROM, což bych zatím moc nedoporučoval, byť je teoreticky možné obnovit původní obsah FlashROM z raw dumpu.
Já jsem zvolil druhý způsob. Narazil jsem však na problémy s kompatabilitou použité SD karty. Bootloader iPAQu je totiž rozumu mdlého, takže nepodporuje SDHC karty a zřejmě také některé microSD. Vyštrachal jsem doma starou použitelnou 8MB SD kartu, ale na tu se zas nevejde celý kořenový systém linuxu. Naštěstí zafungoval trik s prohozením karet během bootování. Na 8MB SD kartu jsem tedy nahrál uboot loader u-boot-ipaq214-20090325.bin a přejmenoval ho na BLDIAG.NB0 + kernel image uImage-ipaq214-20090322.bin přejmenovaný na uImage-ipaq214.bin. Na 1GB microSD kartě jsem na PC pod Linuxem vytvořil druhý primární oddíl se souborovým systémem ext2 a nakopíroval tam obsah rootfs balíčku angstrom-x11-image-20090201.tar.gz.
Pak jsem do PDA vložil 8MB SD kartu, stisknul 2 levá tlačítka (kalendář a okno) a krátce zmáčknul reset, zatímco levá dvě tlačítka jsem držel dokud se neobjevila černá textová obrazovka ubootu (pár vteřin). Ten už si rozumí i s novějšími kartami, takže jsem přehodil do PDA 1GB microSD s kořenovým systémem a stisknul tlačítko pro pokračování bootu z SD karty (uboot menu nabízí i boot z FlashROM a vytvoření/obnovu zálohy). Během pár sekund se objevil v levém horním rohu tučňák a jely diagnostické výpisy kernelu. Nakonec naskočila grafická obrazovka a kurzor X serveru a spustil se správce oken. Je zde několik základních aplikací mezi nimiž nechybí třeba XMMS, Mplayer nebo VLC, ale ten se mi nějak kousnul. Samozřejmě si lze také spustit shell a psát klasicky na virtuální klávesnici. Power tlačítko funguje tak jak má, tj. dojde k přepnutí do sleepu a následně i probuzení. Taky se mi nějak nepodařilo rozběhnout wi-fi, ale neměl jsem moc času to zkoušet. Každopádně je dobré, že tu je nějaká živá alternativa, když HP už zřejmě 21x pohřbil. Více technických informací najdete na linuxovém mailing listu. BTW Oliver při zkoumání hardwaru našel na základní desce PDA testovací plošky, kde je přístupný sériový port (patrně s 3,3V úrovněmi či méně), který pak používal při ladění Linuxu.
13.5.2009 Při náhodné kontrole webu HP jsem zjistil, že v tichosti vyšla nová verze HP iPAQ 200 Enterprise Handheld Series - Update for Wi-Fi Driver, Data Transfer, Extended Battery, and LCD Manufacturer's Name. Nenechte se zmást starým datumem 10.6.2008, balíček obsahuje novější systémové soubory z 5.3.2009 a 10.12.2008. Dokonce už při instalaci nepíše chybu "Invalid Model ID". Napadlo mě, zda-li novější verze battdrvr.dll konečně nevyřeší problém proudového odběru CF karty ve vypnutém stavu, ale bohužel vše zůstává při starém.
21.10.2010 Začala se mi dít taková nepříjemnost, že občas přes displej rychle přeběhnou světle fialové pruhy (při čtení černého textu na bílém pozadí) nebo celý displej nabere na chvilku odstín do fialova. Napadlo mě, že je asi špatný kontakt v konektoru displeje, kde se občas rozpojí linka LSB G. Jelikož mi před pár měsíci skončila záruka (jasný důkaz existence kurvítka), nezbývá mi, než se na to mrknout sám. PDA jsem rozebral s pomocí tohoto návodu. Dílů je docela málo, ale po vyšroubování 6-ti šroubků mi dalo dost práce kryt rozlousknout, plastové západky na krajích držely fest. Pak jsem vyndal desku a vycvaknul flexipásek displeje z konektoru. Jeho piny jsem pro jistotu propájel mikropájkou a zacvaknul FFCéčko zpět. Poskládání dohromady bylo velice rychlé a PDA normálně fungovalo. Tak doufám, že displej bude sekat dobrotu...
25.10.2010 Bohužel se toto kurvítko ukázalo býti dokonalejší, než jsem si původně myslel. Nežádoucí barevné změny se na LCD opět objevily a to ještě častěji a déle. Při určitém stisku boků PDA a vršku nad tlačítky se dal tento jev cíleně vyvolat resp. vrátit do normálního stavu. Znovu jsem PDA rozebral a snažil se přesně lokalizovat problém. Ono to nebylo tak jednoduché, protože jakkoliv jsem s LCD modulem nějak pohnul, projevilo se to barevnými změnami. Znovu sem FFC konektor propájel a zacvaknul, ale zlobilo to pořád. I po té, co jsem flexipásek zafixoval k desce tavným lepidlem. To už jsem pojal vážné podezření, že chyba je na druhém konci flexipásku, který je připojen k čipu LCD řadiče na skle. Po odlepení flexipásku ze zadní části LCD panelu se s jeho manipulací barevné efekty ještě zintenzivnily a dokonce začal vypadávat úplně obraz. Po opětovném přilepení se mi bohužel už nepodařilo dosáhnout stabilně normálního obrazu. Tady jsem skončil, tohle je běžnými prostředky neopravitelné :( Nový LCD modul se dá sice sehnat na eBay, ale velmi draho (asi 180$ + pošta). Buď se mi poštěstí sehnat nějaké vadné PDA na díly nebo ho koupím od někoho z druhé ruky, ale znovu už za něj 7,5 tisíce nedám, to bych spíš uvažoval o modernějším stroji. Zatím R.I.P.
12.11.2010 Nesehnal jsem ani náhraní LCD ani vadný iPAQ, ale podařilo se mi na Aukru koupit funkční iPAQ 214 se španělskou ROM a příslušenstvím za 3000,- Kč. Španělskou ROM jsem přeflashoval bez problémů na anglickou, ale nakonec jsem vyměnil LCD modul u svého iPAQu, protože má novějši revizi základní desky.
iPAQ 214 hacking
20.4.2009 Zdá se, že se na poli iPAQů 21x začalo blýskat na lepší hackerské časy. Na fóru BrightHand popsal uživatel elektrownik postup, jak jednoduše dumpnout obsah NAND FlashROM paměti z PDA (přesněji řečeno některé její části). To je první krok k úspěšnému vytvoření vlastní modifikované verze ROM. Já jsem uvedený postup úspěšně zopakoval a podařilo se mi vyextrahovat soubory operačního systému Windows Mobile 6.0. To je ale jen začátek, k úspěšnému sestavení vlastního ROM image a flashnutí zbývá ještě kus cesty. Hlavně flashování zatím nikdo v praxi nevyzkoušel.
Zatím bych uvedl pár podrobností o organizaci vnitřní NAND FlashROM paměti. Ta je rozdělena na dva virtuální disky, z nichž jeden (DSK1:) slouží jako systémový + uživatelský a druhý (IPQ1:) jako perzistentní uživatelské úložiště. První disk je dále rozdělen na 4 oddíly s různými souborovými systémy. První a druhý oddíl obsahují bootloadery, jádro Windows Mobile a nějaké základní utility. Třetí oddíl obsahuje asi 3500 souborů systému Windows Mobile. Tyto tři oddíly používají komprimovaný souborový systém. Čtvrtý oddíl slouží pro uložení uživatelských nastavení, programů a souborů a používá zřejmě souborový systém FAT32. Pokud je proveden hard reset, tak se tento oddíl kompletně vymaže. Druhý virtuální disk je použit jako \iPAQ File Store - trvalé úložiště, které přežije i hard reset. Tyto uživatelské souborové systémy jsou OS spravované technikou wear levelling, která se stará o rovnoměrné vytížení všech sektorů při zápisu, čímž se prodlouží celková životnost média. Třetí a čtvrtý oddíl DSK1: je operačním systémem spojen v jediný disk, který vidíme v PDA jako kořenový systém. Soubory, které jsou na 3. oddílu, však nelze přepisovat ani kopírovat. Pokud nějaký patch instaluje např. novější verzi systémové knihovny, tak je tento soubor fyzicky uložen na 4. oddíl a soubor téhož jména ze 3. oddílu je automaticky skryt. Po hard resetu je tak logicky nutné nainstalovat všechny záplaty znovu.
256 MB NAND FlashROM DSK1: IPQ1: partition 0 partition 1 partition 2 partition 3 partition 0 bootloader OBM
SRPX
1,5 MBbootloader WinCE
SRPX
2,1 MBWinCE OS files
ImgFS
57,9 MBuser files
TFAT32
162,4 MBiPAQ File Store
FAT16
24,7 MB
Všechny tyto výše uvedené oddíly lze z PDA vygrabovat programem pdocread.exe, který je součástí balíku itsutils. Pro jeho funkčnost je potřeba mít nainstalovaný program M$ ActiveSync a PDA připojené k PC přes USB kabel. Obsah NAND FlashROM vypíšeme příkazem pdocread.exe -l V případě, že vše funguje, měli bychom dostat podobný výpis (zkráceno):
223.88M (0xdfe0000) DSK1: | 1.50M (0x17f000) Part00 | 2.13M (0x220000) Part01 | 57.88M (0x39e0000) Part02 | 162.38M (0xa260000) Part03 24.75M (0x18c0000) IPQ1: | 24.75M (0x18bf000) Part00 14.94G (0x3bc000000) DSK2: | 14.74G (0x3af270200) CF_16GB_FAT | 199.34M (0xc756000) Part00
Image libovolného oddílu pak stáhneme do PC též pomocí programu pdocread.exe, např.: pdocread -w -d DSK1: -b 0x800 -p Part00 0 0x17f000 part00.img, kde je potřeba zadat virtuální disk: "DSK1:", oddíl: "Part00", počáteční offset: "0", velikost v bytech (hexa, viz předchozí výpis): "0x17f000" a nakonec jméno cílového souboru: "part00.img". Image 1. a 2. oddílu je potřeba dekomprimovat programem srpx2xip.exe a pak vyextrahovat soubory programem dumprom.exe. Image 3. oddílu stačí extrahovat programem ImgfsToDump.exe, který sám vytvoří adresář dump s příslušnými soubory OS. Po modifikaci souborů OS lze adresář se soubory zabalit zpět do ImgFS souboru pomocí programu DumpToImgfs.exe a teoreticky flashnout programem pdocwrite.exe. Zatím jsem ho vyzkoušel pouze na disku IPQ:, který jsem si předtím dumpnul, vymazal na něm všechny soubory a znovu obnovil příkazem pdocwrite -w -d IPQ1: -b 0x800 -p Part00 ipq1-p0.raw 0 0x18bf000. Pak je potřeba PDA hned restartovat, aby se změna projevila a také předem zabránit zápisu běžících programů do této oblasti, protože by mohlo dojít k nekonzistenci souborového systému. Pokud k tomu náhodou dojde, je nutno \iPAQ File Store zformátovat programem Resco Explorer 2008. Předpokládám, že obdobně půjde flashnout i oddíl s WinCE. Za běhu OS je to ale potenciálně nebezpečná operace, dal bych radši přednost flashování z karty pomocí bootloaderu.
9.5.2009 Tak jsem si konečně pořídil větší SD kartu (Verbatim 2 GB 60x), abych mohl pod Linuxem vytvořit kompletní zálohu FlashROM. Na PC jsem pomocí linuxového fdisku vytvořil na kartě 2 oddíly: první primární FAT16 oddíl o velikosti 1,5 GB s aktivním boot flagem (byte 80h v MBR) a druhý primární ext2 oddíl o velikosti 0,5GB. Na linuxový oddíl jsem nakopíroval obsah rootfs balíčku, FAT oddíl jsem zformátoval pod Windows a nakopíroval tam uboot loader a kernel. Pak jsem kartu přehodil do PDA a aktivoval bootloader postupem popsaným výše v odstavci o linuxu. V menu jsem vybral položku 2: Backup - Boot Linux on MMC with single flash partition (for backing up winCE) (druhé tlačítko zleva). V tomto případě kernel namapuje do zařízení /dev/mtd0 celou FlashROM. Po startu Linuxu a přihlášení jsem spustil "Start Menu|Other|RootShell" a zadal příkazy:
root@ipaq214:/# cat /proc/mtd dev: size erasesize name mtd0: 10000000 00020000 "All" root@ipaq214:/# nanddump -f /backup.raw /dev/mtd0 ECC failed: 0 ECC corrected: 0 Number of bad blocks: 9 Number of bbt blocks: 0 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x10000000...
První příkaz pouze vypíše informace o MTD (Memory Technology Device) zařízení (celková velikost 256 MB, velikost bloku pro mazání 128 kB). Druhý příkaz zkopíruje kompletní obsah FlashROM na SD kartu do souboru "/backup.raw". Celá operace trvala asi 10 minut. výsledný soubor musí mít velikost přesně 276824064 Bajtů. To je víc než předpokládaných 256 MB - nanddump totiž ukládá 2kB stránky paměti včetně přídavných 64 B, které neslouží pro uživatelská data, ale pro uložení ECC kódu. Vzhledem k tomu, že každý iPAQ může mít ve FlashROM nějaké vadné stránky a to pokaždé na jiném místě, tak je tento dump jedinečný pro daný iPAQ a neměl by být použit na jiném PDA. Porovnával jsem svůj dump s tím, který uploadoval uživatel elektrownik a první rozdíl byl už na adrese 207C2h, tedy někde v oblasti OEM bootloaderu, který by měl být všude stejný. Takže si myslím, že je rozumné tuto zálohu použít jen na tom iPAQu, kde byla vytvořena.
Postup při obnově zálohy probíhá podobně. Opět je třeba nabootovat Linux z SD karty, kde máme uložen soubor raw image volbou 2: Backup - Boot Linux on MMC with single flash partition (for backing up winCE) a spustit RootShell, kam zadáme příkazy:
root@ipaq214:/# cat /proc/mtd dev: size erasesize name mtd0: 10000000 00020000 "All" root@ipaq214:/# flash_eraseall /dev/mtd0 Erasing 128 Kibyte @ 0 -- 0 % complete. Erasing 128 Kibyte @ 20000 -- 0 % complete. Erasing 128 Kibyte @ 40000 -- 0 % complete. ... Erasing 128 Kibyte @ 10000000 -- 100 % complete. root@ipaq214:/# nandwrite -o -n /dev/mtd0 /backup.raw Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000 ... Writing data to block 1053 at offset 0x83a0000 Bad block at 83a0000, 1 block(s) from 83a0000 will be skipped Writing data to block 1054 at offset 0x83c0000 ... Data was only partially written due to error : Success root@ipaq214:/#
První příkaz, stejně jako dříve, vypíše informace o MTD, druhý příkaz vymaže celou FlashROM a třetí příkaz zapíše data ze souboru "/backup.raw" do FlashROM. Zápis všech bloků FlashROM trvá asi hodinu, takže je dobré mít nabitý akumulátor, případně připojený napájecí adaptér. V mojem případě se situace trochu komplikuje. Můj iPAQ má 9 vadných bloků, což by nemělo ničemu vadit, protože systém o nich ví a nepoužívá je. Když jsem ale zálohu obnovil, začal jsem mít problémy. Vypadalo to, že některé soubory jsou poškozené (i na \iPAQ File Store) a PDA mi zatuhávalo při restartu (na úvodní obrazovce s logem HP). Po hard resetu už systém naběhnul, ale místo úvodní obrazovky s kalibrací touchscreenu vyskočila nějaká welcome stránka. Také se mi nedařilo obnovit zálohu z SPB Backupu (tuhnutí při obnově registrů). Nakonec se po mnoha hard resetech vše spravilo, zálohu jsem obnovil a \iPAQ File Store jsem zformátoval Resco Explorerem 2008. Teď se zdá, že je PDA zas v původním stavu. Možná systém během hard resetů prováděl nějaké mapovaní vadných bloků ve FlashROM. Předpokládám, že ti, kteří žádné bad bloky ve flash nemají, tak s tímhle nebudou mít problém.
25.1.2011 Oliver zkompiloval nový balíček mtd-utils zahrnující patche, které by snad měly vyřešit problém zápisu do FlashROM s bad bloky (utilita nandwrite). Balíček se nainstaluje příkazem opkg install mtd-utils_latest+git-r4.6_armv5te.ipk.
30.12.2013 Alvin Wong portoval na iPAQ 21x Android Gingerbread 2.3.7. Testovací verzi lze nabootovat z SD karty nebo přímo nahrát do NADN FlashROM. Podporuje WiFi, SD kartu, částečně BlueTooth, audio výstup a úplné vypnutí. Projekt byl však opuštěn a zůstal v alpha stage. Na novější Andoidy je už HW iPAQu moc zastaralý. Po čase jsem se poohlédnul po nějakém novějším HW pro Android (jelikož platforma Windows Mobile je už mrtvá a Windows Phone nebo Windows 10 mě vůbec neoslovily), ale nechtělo se mi vyhazovat tisíce korun za momentálně nejrychleji zastarávající elektroniku a tak jsem si opravil jeden postarší telefon Samsung Galaxy S2.
24.8.2015 Když jsem loni na Teslathonu pouštěl z PDA hudbu do svého Audio SSTC, tak se mi podařilo nějakými VF proudy z tesláku přismahnout jeden kanál sluchátkového výstupu. Hrál pak znatelně slaběji a při zkoumání na osciloskopu dával zdravý kanál rozkmit cca 500 mVpp, zatímco poškozený kanál byl ořezaný na cca 70 mVpp. Napřed jsem myslel, že odešel audiokodek WM9713L, ale z něj šel signál v pořádku. Navíc s menší amplitudou, takže mezi kodekem a sluchátky je ještě zapojen nějaký zesilovač, ale nepodařilo se mi ho na desce lokalizovat (BGA čipy nejdou propípat). Nakonec jsem zjistil, že skoro-zkrat se nachází v miniaturní BGA kostičce 1 x 2 mm s 2 x 3 kuličkama mezi zásuvkou pro sluchátka a miniUSB konektorem, která funguje zřejmě jako ESD ochrana (dvojitě vstup-zem-výstup). Pokoušel jsem se ten BGA čip přepájet z jedné desky, co mám na náhradní díly, ale neúspěšně, takže jsem nakonec musel udělat drátkové přemostění. Jelikož na té desce nešlo zjistit, kam ty spoje dál vedou, musel jsem se nakontaktovat na ty miniaturní ball-pady s roztečí asi 0,5 mm. To je snad první věc, kterou bych bez mikroskopu asi nedal. Musel jsem si to strčit pod 10x sklo, kde se i ten nejtenčí jehlový hrot Weller jevil jako děsný kopyto, ale nakonec se podařilo a už to zase hraje :) Pro příště si budu muset dát na audiokabel nějaký externí účinnější filtr...