Oživení zdechlého Kindle 3
Při experimentech se čtečkou Kindle se vcelku lehce může stát, že se přístroj zasekne, zobrazuje jen naposledy použitou obrazovku a nereaguje na stisk žádných kláves. Čtyři možnosti řešení problému jsem seřadil podle stupně nebezpečnosti. Alibisticky se zříkám odpovědnosti za níže uvedené postupy – všechno provádíte na vaše vlastní nebezpečí. Takže pokud něčemu nerozumíte nebo si nejste jistí - nechte to být, ať neuděláte víc škody než užitku.
Restart zařízení:
Podržte tlačítko napájení minimálně 20 vteřin, a měl by proběhnout restart Kinde. Všechna nastavení i data (knížky) zůstanou neporušeny. Pokud nefunguje – použijte další způsob.
Návrat do továrního nastavení:
Podržte tlačítko napájení na asi 20 vteřin, a potom mačkejte/uvolňujte tlačítko "Home". V oficiálních návodech se doporučuje stisknout naráz obě tlačítka, po 20 vteřinách pustit napájecí a po dalších 20 vteřinách pustit tlačítko "Home". Můžete vyzkoušet, co je výhodnější.
Pokud se objeví obrazovka, na které je pod obrázkem nápis "Reset to Factory Defaults", potom je vyhráno, stačí na klávesnici vyťukat "RESET" a Kindle je jako nový (ovšem přijdete o všechna nastavení a o všechny knížky ve vnitřní paměti přístroje). Zároveň se Kindle přepne do USB módu – je přístupný jako nový disk. Ale všechna data v Kindlu jsou smazána. Nepoužívat na jakýmkoli způsobem hackovaný přístroj (jailbreak ...).
Oprava souborů ve vnitřní paměti: pozor - tady je vysoká možnost zničení firmwaru!!!!
První část postupu je stejná, jen místo tlačítka "Home" je třeba přidržet tlačítko "Enter".
Zobrazí se tabulka:
I -> Initialize partitions
O -> Format Userstore
E -> Export over USB
U -> Update Kernel + Rootfs
Q -> Quit and Reboot
Každopádně nemačkat I, O a U !!! Pokud se vám to povede, máte cihličku kterou zprovozníte jen pomocí TTL adaptéru.
Servisní mód je tlačítko E, zpřístupní vnitřní paměť pro přístup (přes USB, Kindle se přihlásí jako další disk). Tady se dá pár věcí napravit (třeba nahrazení vadných souborů Launchpadu nebo Duokanu, které při spouštění dělají problémy). Více informací lze najít v diskusích na www.mobileread.com, je třeba hledat v tématu programu, který problém způsobil.
Oživení pomocí USB/TTL adaptéru:
Pomůcky:
- USB/TTL adaptér, je možné si ho vyrobit svépomocí nebo koupit - můj je zde, není to nejnovější typ, ale prakticky pro tento účel (mou osobou) ověřený. Cca 120 – 150 Kč i s dopravou (doufám, že cena ještě platí, kupoval jsem asi před šesti měsíci). Je to běžná výbava opravářů mobilních telefonů nebo fandů do elektroniky.
- Mechanika - dva špendlíky, lepicí páska, kablíky k TTL převodníku, pro perfekcionisty páječka.
- Software – Linux; stačí například Ubuntu Live CD (pokud ovšem nejedete na Linuxu, potom samozřejmě není nutné).
- Záložní firmware Kindlu - třeba stáhnout z internetu, získat z kamarádova přístroje nebo mi dát vědět (pokud selže bod 1 a 2, jen v krizových situacích). Jak od kámoše? Do cizího Kindla nahrajete toto, zadáte update (Home / Menu / Nastavení / Menu / Update) a v paměti přístroje je po cca 10 minutách firmware.
- Lepší než uživatelské zkušenosti s počítačem, základy práce s Linuxem a minimum znalostí elektroniky (jen kam dát správný drát, detailně popíšu - ale pro absolutního laika to může být trošku problém).
Postup:
· Zapojení TTL adaptéru:
· |
· TTL adaptér – důležité piny jsou zřetelně popsány. |
· |
· Připojení Kindlu – bílý kablík je GND, přilepený ke kostře lepicí páskou (stačí). Černý drát je RX, oranžový TX. Pro připojení do konektoru jsou použity špendlíky, důslední jedinci mohou přechod špendlík/vodič propájet a odizolovat. |
·
S výše uvedeným převodníkem stačí propojit TX, RX a GND podle obrázku. Někdy je ale potřeba i přípojení VDD ( napětí 1.8 V). Takže v případě problémů nastudovat informace z odkazu. Je tady ještě jeden problém - zapojení konektoru Kindle se měnilo, takže pokud přístroj nebude komunikovat, doporučuju zkusmo prohazovat TX - RX na konektoru (adaptér to vydrží). Nebo si osciloskopem vyzkoušet, na kterých pinech probíhá komunikace (pro magnáty nebo šílence do elektroniky, kteří tenhle přístroj vlastní).
· Zjištění hesla do Kindlíčka:
Heslo pro přístup do vašeho přístroje je zakódováno do sériového čísla uvedeného na krabici, ve které byl Milášek doručen. Nějaký dobrodinec vytvořil skript pro dekódování, maličko jsem ho upravil pro online zpracování níže uvedeným webem. Tenhle skript je asi "velice tajný" - kdosi na mobileread.com dostal za zveřejnění maličko vynadáno.
import hashlib,sys;
print "fiona%s" % hashlib.md5("%s\n" % "B008A0A011450208").hexdigest()[7:11]
Přejděte na http://doc.pyschools.com/console , a do „Code Input“ zadejte předchozí dva řádky (samozřejmě řetězec "B008A0A011450208" musí být nahrazen sériovým číslem z obalu vašeho přístroje; poznámka - znak 0 je nula. Zelenou šipkou vpravo nahoře se skript provede, a v pravé části obrazovky se vypíše heslo. Zapsat si!!!
Pokud máte nainstalovaný Python, skript si samozřejmě můžete spustit na svém počítači.
· Zpřístupnění oddílů přes terminál:
Pokud už nejste v Linuxu, potom si stáhněte Ubuntu CD, vypalte, v Biosu nastavte start z CD/DVD a spusťte počítač. Po zavedení systému doporučuju nainstalovat "Cute Com" terminál (programy/instalovat). A spustit.
Samozřejmě je možné použít jakýkoli jiný terminál s vhodným nastavením (115200/8/0/1/none), ale tohle je vyzkoušené a bezproblémové. Pokud je Kindle připojený, v CC terminálu stačí nastavit "device" na /dev/ttyUSB0 a zvolit "Open". Základní nastavení odpovídají volbám pro komunikaci s Kindlem. Potom je nutné přístroj připojit resetem - nejspolehlivější je odšroubovat baterii, na dvě vteřiny nadzvednout, připlácnout a prozatímně zatížit. Pokud není přístroj úplně mrtvý, terminál vypíše něco podobného:
U-Boot 1.3.0-rc3-lab126 (Feb 5 2011 - 19:03:59)
CPU: Freescale i.MX35 at 532 MHz
Board: MX35 Luigi [ POR]
WDOG_WCR = 0xff31
WDOG_WMCR = 0x0
Board Id: SP1B000000000000
S/N: B008A0A011450208
DRAM: 256 MB
Using default environment
In: serial
Out: serial
Err: serial
No ethernet found.
i.MX35 CPU board version 2.0
Net: No ethernet found.
Hit any key to stop autoboot: 1
U-Boot 1.3.0-rc3-lab126 (Feb 5 2011 - 19:03:59)
CPU: Freescale i.MX35 at 532 MHz
Board: MX35 Luigi [ POR]
WDOG_WCR = 0xff31
WDOG_WMCR = 0x0
Board Id: SP1B000000000000
S/N: B008A0A011450208
DRAM: 256 MB
Using default environmentIn: serial
Out: serial
Err: serial
No ethernet found.
i.MX35 CPU board version 2.0
Net: No ethernet found.
Hit any key to stop autoboot: 0
## Booting image at 87f40400 ...
Image Name: Linux-2.6.26-rt-lab126
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2166568 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
Uncompressing Linux.............................................................
............................................................. done, booting the
kernel.
boot: C def:bcut:batterycut=1:
last sysfs file: /sys/devices/virtual/net/lo/flags
2.6.26-rt-lab126 #5 Sat Feb 5 19:05:05 PST 2011 armv6l
INFO:Using default keypad setting. (not passing "kb_rev" to module)
INFO:Loaded module /lib/modules/mxc_keyb.ko (22508 bytes)
Press [ENTER] for recovery menu... 0 /INFO:Partition table verified for /d
ev/mmcblk0
INFO:Loaded module /lib/modules/eink_fb_hal.ko (73284 bytes)
INFO:Loaded module /lib/modules/eink_fb_hal_broads.ko bs_orientation=0 bs_bpp=4
(124904 bytes)
INFO:Loaded module /lib/modules/eink_fb_shim.ko (127992 bytes)
INFO:eink initialized... (483328 bytes)
INFO:Loaded module /lib/modules/arcotg_udc.ko (56288 bytes)
INFO:Loaded module /lib/modules/g_file_storage.ko (40764 bytes)
Charge: 24% [##############::::::::::::::::::::::::::::::::::::::::::::]
V průběhu startu je potřeba rychle zmáčknout "Enter" a přejít do servisní nabídky - nepovede se to vždycky na první pokus. Pokud se to povede, vyběhne další nabídka:
Menu
====
3. Load MMC0 over USB storage
4. Erase MMC0
I. Initialize Partition Table (fdisk) and format FAT
O. Format and overwrite FAT partition
E. Export FAT partition
U. Update using update*.bin file on FAT partition
M. Update using update*.bin file on FAT partition of second MMC port
D. dmesg / kernel printk ring buffer.
Q. quit
Choose: 10 /
Rychle zadat "3". Potom se systém zeptá se na heslo. Jak je získat, jsem popsal výše. Pokud přístroj "sežere" heslo, jsou v Linuxu přístupné systémové oddíly Kindlu přes USB.
· Kontrola přístupu k oddílům Kindle:
Připojte Kindle do USB, neodpojujte od TTL adaptéru a počkejte cca 10 sec. Potom spusťte konzoli (příkazový řádek pro Linux) a zadejte příkaz fdisk -l .
Tady je příklad výsledku:
Disk /dev/sda: 80.0 GB, 80025280000 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x67f9122e
Device Boot Start End Blocks Id System
/dev/sda1 * 1 7180 57673318+ 7 HPFS/NTFS
/dev/sda2 7181 9729 20474842+ 7 HPFS/NTFS
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcf217c7b
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdb2 13 48937 392978432 7 HPFS/NTFS
/dev/sdb3 48937 121601 583677952 7 HPFS/NTFS
Partition 3 does not end on cylinder boundary.
root@ubuntu:/home/ubuntu# umount /dev/sdc1
umount: /dev/sdc1: not found
root@ubuntu:/home/ubuntu# umount /dev/sdc1
umount: /dev/sdc1: not found
root@ubuntu:/home/ubuntu# umount /dev/sdc1
umount: /dev/sdc1: not mounted
root@ubuntu:/home/ubuntu# umount /dev/sdc1
umount: /dev/sdc1: not mounted
root@ubuntu:/home/ubuntu# fdisk –l
Disk /dev/sda: 80.0 GB, 80025280000 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x67f9122e
Device Boot Start End Blocks Id System
/dev/sda1 * 1 7180 57673318+ 7 HPFS/NTFS
/dev/sda2 7181 9729 20474842+ 7 HPFS/NTFS
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcf217c7b
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdb2 13 48937 392978432 7 HPFS/NTFS
/dev/sdb3 48937 121601 583677952 7 HPFS/NTFS
Partition 3 does not end on cylinder boundary.
Disk /dev/sdc: 4001 MB, 4001366016 bytes
4 heads, 16 sectors/track, 122112 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000058b
Device Boot Start End Blocks Id System
/dev/sdc1 * 121 20921 665628 83 Linux
/dev/sdc2 20922 21689 24576 83 Linux
/dev/sdc3 21690 21945 8192 83 Linux
/dev/sdc4 21946 122112 3205344 b W95 FAT32
root@ubuntu:/home/ubuntu# umount /dev/sdc1
umount: /dev/sdc1: not mounted
root@ubuntu:/home/ubuntu# mkfs.ext3 /dev/sdc1
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
41664 inodes, 166407 blocks
8320 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=171966464
6 block groups
32768 blocks per group, 32768 fragments per group
6944 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
Příkaz vypíše informace o discích v počítači. Musí tam být disk s velikostí 4001 MB - to je Kindle. A hlavně je třeba si zapsat (nebo zapamatovat) jeho první oddíl - v tomhle případě /dev/sdc1. Toto je nutné nesplést – je nemilé zformátovat např. systémový disk Windows.
· Formát systémového oddílu Kindlu:
Zadejte tuto posloupnost příkazů - v závorkách jsou komentáře:
sudo su (admin)
umount /dev/sdc1 („dev/sdc1“ nahradit diskem kindle, u jednoho disku v počítači. je to „dev/sdb1“, chyba v provedení nemusí vadit, jde o odpojení zařízení).
mkfs.ext3 /dev/sdc1 (FORMÁT disku sdc1. Třikrát se přesvědčte, že formátujete oddíl Kindle, a ne oddíl počítače - Kindle má 4 GB a čtyři oddíly. Jinak přijdete o systém, data.. vlastně o všechno).
Příkaz vypíše toto:
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
41664 inodes, 166407 blocks
8320 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=171966464
6 block groups
32768 blocks per group, 32768 fragments per group
6944 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Tímto je oddíl naformátován.
· Nahrání nového firmware:
Zadejte níže uvedený příkaz.
dd if='/home/ubuntu/mmcblk0p1.dmp' of=/dev/sdc1
Opět „dev/sdc1“ nahraďte diskem Kindle, soubor „/home/ubuntu/mmcblk0p1.dmp'“ je soubor firmware – ten od kámoše nebo z internetu, samozřejmě že musíte nahradit i cestu k souboru – podle toho, kam si soubor uložíte (zde „/home/ubuntu/“).
Zápis trvá asi 50-60 minut, terminál nevypisuje nic - až toto po úspěšném ukončení.
1331256+0 records in
1331256+0 records out
681603072 bytes (682 MB) copied, 2197.95 s, 310 kB/s
· Restart zařízení:
Zbývá už jen restart Kindle, a měl by být živý. Postup je ověřen po vcelku nechytrém experimentu s Duokanem – největší problém byl kupodivu jen s utříděním různých informací z několika různojazyčných diskusních fór (ruský jazyk už bohužel nevládám tak jak za mladých let). Potom už vše probíhalo přesně tak, jak mělo.
- Zobrazení: 5909
- Předchozí článek: Nová verze čtečky knihovny Calibre pro Android
- Další článek: Rozšíření firmware čteček Sony (505, 600,650, 300 , 350, 950) - PRS +