Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 09-19-2016, 05:48 PM   #16
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
Quote:
Originally Posted by knc1 View Post
#1 - Stop the boot sequence at the "recovery menu" place
The recovery menu will have an "export usb storage" (or words to that effect) selection.
Hook up USB cable to PC, select that choice.
Note: You may have to type something every 5 .. 10 seconds to keep the menu from timing out - space usually works.
When that selection is made, your PC's automation should auto-mount it and open a file manager (just as if it where normal).
Delete the update file(s) - you probably have both a *.bin and a *.stgz (or something like that).
Add the: "DO_FACTORY_RESTORE" flag filename to visible root.
With file manager: "eject"
Remove USB cord
With the Recovery Menu - "Exit" or "Reboot" or whatever it is named.
It it doesn't restart, restart it with the power button, wait.
You can watch what is happening on the serial port - it **might** loop, trying to write an erase block, error, map-out, try again - - - etc.
And eventually run (even with the mis-matched kernel / kernel-modules.

For others reading this in the future, to mount from recovery the option is "E. Export FAT partition"
In the root folder I deleted the .bin file, but did not see any others (only Folders). I copied both the document and system folder, then added the empty DO_FACTORY_RESTORE file. On reboot the Software Update screen was no longer there, but the default tree pic took it's place.

Spoiler:
Code:
Press CTRL-A Z for help on special keys                                      
                                                                             
## Booting kernel from Legacy Image at 80800000 ...                          
   Image Name:   Linux-3.0.35-lab126                                         
   Image Type:   ARM Linux Kernel Image (uncompressed)                       
   Data Size:    2633728 Bytes =  2.5 MB                                     
   Load Address: 80008000                                                    
   Entry Point:  80008000                                                    
   Verifying Checksum ... OK                                                 
   Loading Kernel Image ... OK                                               
OK                                                                           
                                                                             
Starting kernel ...                                                          

[    0.099187] boot: C def:bcut:batterycut=1
[    0.276335] LPDDR2 MfgId: 0x1 [Samsung]
[    0.280419] 
[    0.280423] just text: vaddr c0150d44, va 0xc0150200 pa 0x801000c3 attr 0x6
[    0.292959] 
[    0.292963] nmx6sl_wfi_iram: vaddr d084e000, va 0xd084e200 pa 0x904043 attr 0x2
[    0.301807] 
[    0.301810] mx6sl_ddr: vaddr d0856000, va 0xd0856200 pa 0x905043 attr 0x2
[    0.310140] 
[    0.310143] mx6sl_iomux: vaddr f40e0000, va 0xf40e0200 pa 0x20110c3 attr 0x149
[    0.320973] 
[    0.320976] ANATOP: vaddr f40c8000, va 0xf40c8200 pa 0x20110c3 attr 0x149
[    0.335304] 
[    0.335307] CCM: vaddr f40c4000, va 0xf40c4200 pa 0x20110c3 attr 0x149
[    0.347435] 
[    0.347438] MMDC_P0: vaddr f41b0000, va 0xf41b0200 pa 0x21110c3 attr 0x149
[    0.357843] 
[    0.357846] L2: vaddr f2a02000, va 0xf2a02200 pa 0xa02043 attr 0x149
[    0.367739] 
[    0.367742] arm perif: vaddr f2a00000, va 0xf2a00200 pa 0xa00043 attr 0x149
3.0.35-lab126 #1 PREEMPT Fri Jul 31 15:04:21 PDT 2015 armv7l
Press [ENTER] for recovery menu...       0 //dev/mmcblk0p4:
CHS=4/16/104512 size=3424649216 bytes
flag type      first       last  lba first   lba size
Partition p1:
0x00 0x0b         16 <large>            16    6688752
    CHS: 0/1/1 - <large>
Partition p2:
Partition p3:
Partition p4:
BOOTING DEFAULT.
IP-Config: no devices to configure
kinit: Mounted root (ext3 filesystem) readonly.
[    5.997741] EXT3-fs error (device mmcblk0p1): ext3_lookup: deleted inode referenced4
kinit: opening console: error 5


I will hopefully find some time tonight to attempt #2 from above and report back.

Last edited by stack; 09-21-2016 at 12:00 AM.
stack is offline   Reply With Quote
Old 09-19-2016, 06:02 PM   #17
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Phooey!
That bad block is part of the file system meta-data, leaving a corrupted file system.

- - - -

Give the factory initial firmware a chance, it might be programmed to deal with that kind of error.

Note that if it does, it will be a slow process -

On this flash memory, the build of e2fsck the Kindle uses has to start over after mapping out each bad block.
So keep the Kindle on a charger while it is trying to recover the file system, it may take a few days (really).

If it doesn't auto-recover, we will have to force it.

We aren't ready for the "Erase All" big hammer (yet).
There are less drastic things to try if "#2" doesn't do the job.

= = = =

Note:
Even when everything is normal, it is a tricky business to install an update image that is larger than available memory (and without swap enabled also).

We may, eventually, have to treat this as a blank eMMC - -
Search for a fairly recent (this summer) thread with 'fastboot' in the title.
It also has a lot of capture logs attached to the posts to serve as reference information.

Don't be concerned if the thread you find isn't about the PW-2, the procedure will be the same.

Ah, and yes, we did recover from a blank eMMC - -
Which reminds me, we need to make a copy of the Diags system before doing an "erase all" on the Kindle.

geekmaster is probably following this thread, he may have some other reference threads to suggest.

Last edited by knc1; 09-19-2016 at 06:11 PM.
knc1 is offline   Reply With Quote
Old 09-20-2016, 10:20 PM   #18
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
Quote:
Originally Posted by knc1 View Post
#2 Presuming the above failed to do any good -
From the JB thread: https://www.mobileread.com/forums/sho...d.php?t=275877
Step #3, get the factory initial firmware for a PW-2 (and its MD5SUM).
As above, enter Recovery Menu, Cable, Export USB storage, put that factory initial firmware at the root of visible storage.
CHECK ITS MD5SUM - remember we are working with flaky storage.
Repeat moving the factory initial update file to the Kindle until you get a good copy in-place (the micro-controller is a bit dumb, it will only map out one block per try).
Got that in place?
eject, remove cable, reboot (menu or power button).

Your trying something un-tried so far - see if the factory initial firmware can recover the device - - I **think** this is the package that the "refurbish" people use.

If your lucky, that will fix it.

If not - we will have to get serious and tackle it at a lower level.
I have tried to copy over the update_PW2_5.4.3.2_initial.bin at least 20 times, but the result is always the same. I simply cannot get the hashes to line up due to write errors. It copies over most of the bin but then comes the deluge of I/O errors:

Spoiler:
Code:
 Press [ENTER] for recovery menu...       0 /
Charge: 99% [##########################################################]


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:   8 \e


Charge: 99% [##########################################################]

[FAT32]
1. done
R. reboot
Choose: |


USB CONNECTED!!
Charge: 99% [##########################################################]

[FAT32]
1. done
R. reboot
Choose: -[   45.997094] mmcblk0: error -110 transferring data, sector 4436072, nr 1024,0
[   46.007534] end_request: I/O error, dev mmcblk0, sector 4436072
[   46.013485] Buffer I/O error on device mmcblk0p4, logical block 423949
[   46.020998] end_request: I/O error, dev mmcblk0, sector 4436080
[   46.026942] Buffer I/O error on device mmcblk0p4, logical block 423950
[   46.034365] end_request: I/O error, dev mmcblk0, sector 4436088
[   46.040306] Buffer I/O error on device mmcblk0p4, logical block 423951
[   46.047707] end_request: I/O error, dev mmcblk0, sector 4436096
[   46.053648] Buffer I/O error on device mmcblk0p4, logical block 423952
[   46.061052] end_request: I/O error, dev mmcblk0, sector 4436104
[   46.066993] Buffer I/O error on device mmcblk0p4, logical block 423953
[   46.074381] end_request: I/O error, dev mmcblk0, sector 4436112
[   46.080321] Buffer I/O error on device mmcblk0p4, logical block 423954
[   46.087708] end_request: I/O error, dev mmcblk0, sector 4436120
[   46.093648] Buffer I/O error on device mmcblk0p4, logical block 423955
[   46.101037] end_request: I/O error, dev mmcblk0, sector 4436128
[   46.106977] Buffer I/O error on device mmcblk0p4, logical block 423956
[   46.114366] end_request: I/O error, dev mmcblk0, sector 4436136
[   46.120308] Buffer I/O error on device mmcblk0p4, logical block 423957
[   46.127704] end_request: I/O error, dev mmcblk0, sector 4436144
[   46.133646] Buffer I/O error on device mmcblk0p4, logical block 423958
[   46.141038] end_request: I/O error, dev mmcblk0, sector 4436152
[   46.147003] end_request: I/O error, dev mmcblk0, sector 4436160
[   46.152962] end_request: I/O error, dev mmcblk0, sector 4436168
[   46.158919] end_request: I/O error, dev mmcblk0, sector 4436176
[   46.164875] end_request: I/O error, dev mmcblk0, sector 4436184
[   46.170831] end_request: I/O error, dev mmcblk0, sector 4436192
[   46.176787] end_request: I/O error, dev mmcblk0, sector 4436200
[   46.182743] end_request: I/O error, dev mmcblk0, sector 4436208
[   46.188698] end_request: I/O error, dev mmcblk0, sector 4436216
[   46.194654] end_request: I/O error, dev mmcblk0, sector 4436224
[   46.200609] end_request: I/O error, dev mmcblk0, sector 4436232
[   46.206564] end_request: I/O error, dev mmcblk0, sector 4436240
[   46.212520] end_request: I/O error, dev mmcblk0, sector 4436248
[   46.218475] end_request: I/O error, dev mmcblk0, sector 4436256
[   46.224432] end_request: I/O error, dev mmcblk0, sector 4436264
[   46.230387] end_request: I/O error, dev mmcblk0, sector 4436272
[   46.236342] end_request: I/O error, dev mmcblk0, sector 4436280
[   46.242297] end_request: I/O error, dev mmcblk0, sector 4436288
[   46.248252] end_request: I/O error, dev mmcblk0, sector 4436296
[   46.254206] end_request: I/O error, dev mmcblk0, sector 4436304
[   46.260159] end_request: I/O error, dev mmcblk0, sector 4436312
[   46.266113] end_request: I/O error, dev mmcblk0, sector 4436320
[   46.272067] end_request: I/O error, dev mmcblk0, sector 4436328
[   46.278022] end_request: I/O error, dev mmcblk0, sector 4436336
[   46.283976] end_request: I/O error, dev mmcblk0, sector 4436344
[   46.289929] end_request: I/O error, dev mmcblk0, sector 4436352
[   46.295883] end_request: I/O error, dev mmcblk0, sector 4436360
[   46.301835] end_request: I/O error, dev mmcblk0, sector 4436368
[   46.307788] end_request: I/O error, dev mmcblk0, sector 4436376
[   46.313740] end_request: I/O error, dev mmcblk0, sector 4436384
[   46.319692] end_request: I/O error, dev mmcblk0, sector 4436392
[   46.325644] end_request: I/O error, dev mmcblk0, sector 4436400
[   46.331596] end_request: I/O error, dev mmcblk0, sector 4436408
[   46.337549] end_request: I/O error, dev mmcblk0, sector 4436416
[   46.343502] end_request: I/O error, dev mmcblk0, sector 4436424
[   46.349454] end_request: I/O error, dev mmcblk0, sector 4436432
[   46.355406] end_request: I/O error, dev mmcblk0, sector 4436440
[   46.361357] end_request: I/O error, dev mmcblk0, sector 4436448
[   46.367308] end_request: I/O error, dev mmcblk0, sector 4436456
[   46.373260] end_request: I/O error, dev mmcblk0, sector 4436464
[   46.379211] end_request: I/O error, dev mmcblk0, sector 4436472
[   46.385162] end_request: I/O error, dev mmcblk0, sector 4436480
[   46.391113] end_request: I/O error, dev mmcblk0, sector 4436488
[   46.397064] end_request: I/O error, dev mmcblk0, sector 4436496
[   46.403014] end_request: I/O error, dev mmcblk0, sector 4436504
[   46.408964] end_request: I/O error, dev mmcblk0, sector 4436512
[   46.414913] end_request: I/O error, dev mmcblk0, sector 4436520
[   46.420864] end_request: I/O error, dev mmcblk0, sector 4436528
[   46.426820] end_request: I/O error, dev mmcblk0, sector 4436536
[   46.432772] end_request: I/O error, dev mmcblk0, sector 4436544
[   46.438722] end_request: I/O error, dev mmcblk0, sector 4436552
[   46.444670] end_request: I/O error, dev mmcblk0, sector 4436560
[   46.450620] end_request: I/O error, dev mmcblk0, sector 4436568
[   46.456569] end_request: I/O error, dev mmcblk0, sector 4436576
[   46.462518] end_request: I/O error, dev mmcblk0, sector 4436584
[   46.468467] end_request: I/O error, dev mmcblk0, sector 4436592
[   46.474416] end_request: I/O error, dev mmcblk0, sector 4436600
[   46.480364] end_request: I/O error, dev mmcblk0, sector 4436608
[   46.486313] end_request: I/O error, dev mmcblk0, sector 4436616
[   46.492262] end_request: I/O error, dev mmcblk0, sector 4436624
[   46.498210] end_request: I/O error, dev mmcblk0, sector 4436632
[   46.504158] end_request: I/O error, dev mmcblk0, sector 4436640
[   46.510106] end_request: I/O error, dev mmcblk0, sector 4436648
[   46.516055] end_request: I/O error, dev mmcblk0, sector 4436656
[   46.522002] end_request: I/O error, dev mmcblk0, sector 4436664
[   46.527951] end_request: I/O error, dev mmcblk0, sector 4436672
[   46.533898] end_request: I/O error, dev mmcblk0, sector 4436680
[   46.539846] end_request: I/O error, dev mmcblk0, sector 4436688
[   46.545793] end_request: I/O error, dev mmcblk0, sector 4436696
[   46.551740] end_request: I/O error, dev mmcblk0, sector 4436704
[   46.557688] end_request: I/O error, dev mmcblk0, sector 4436712
[   46.563634] end_request: I/O error, dev mmcblk0, sector 4436720
[   46.569582] end_request: I/O error, dev mmcblk0, sector 4436728
[   46.575528] end_request: I/O error, dev mmcblk0, sector 4436736
[   46.581475] end_request: I/O error, dev mmcblk0, sector 4436744
[   46.587421] end_request: I/O error, dev mmcblk0, sector 4436752
[   46.593366] end_request: I/O error, dev mmcblk0, sector 4436760
[   46.599313] end_request: I/O error, dev mmcblk0, sector 4436768
[   46.605258] end_request: I/O error, dev mmcblk0, sector 4436776
[   46.611204] end_request: I/O error, dev mmcblk0, sector 4436784
[   46.617153] end_request: I/O error, dev mmcblk0, sector 4436792
[   46.623099] end_request: I/O error, dev mmcblk0, sector 4436800
[   46.629045] end_request: I/O error, dev mmcblk0, sector 4436808
[   46.634990] end_request: I/O error, dev mmcblk0, sector 4436816
[   46.640935] end_request: I/O error, dev mmcblk0, sector 4436824
[   46.646880] end_request: I/O error, dev mmcblk0, sector 4436832
[   46.652825] end_request: I/O error, dev mmcblk0, sector 4436840
[   46.658770] end_request: I/O error, dev mmcblk0, sector 4436848
[   46.664714] end_request: I/O error, dev mmcblk0, sector 4436856
[   46.670659] end_request: I/O error, dev mmcblk0, sector 4436864
[   46.676604] end_request: I/O error, dev mmcblk0, sector 4436872
[   46.682549] end_request: I/O error, dev mmcblk0, sector 4436880
[   46.688493] end_request: I/O error, dev mmcblk0, sector 4436888
[   46.694438] end_request: I/O error, dev mmcblk0, sector 4436896
[   46.700382] end_request: I/O error, dev mmcblk0, sector 4436904
[   46.706326] end_request: I/O error, dev mmcblk0, sector 4436912
[   46.712270] end_request: I/O error, dev mmcblk0, sector 4436920
[   46.718214] end_request: I/O error, dev mmcblk0, sector 4436928
[   46.724157] end_request: I/O error, dev mmcblk0, sector 4436936
[   46.730100] end_request: I/O error, dev mmcblk0, sector 4436944
[   46.736043] end_request: I/O error, dev mmcblk0, sector 4436952
[   46.741986] end_request: I/O error, dev mmcblk0, sector 4436960
[   46.747928] end_request: I/O error, dev mmcblk0, sector 4436968
[   46.753871] end_request: I/O error, dev mmcblk0, sector 4436976
[   46.759815] end_request: I/O error, dev mmcblk0, sector 4436984
[   46.765758] end_request: I/O error, dev mmcblk0, sector 4436992
[   46.771700] end_request: I/O error, dev mmcblk0, sector 4437000
[   46.777642] end_request: I/O error, dev mmcblk0, sector 4437008
[   46.783585] end_request: I/O error, dev mmcblk0, sector 4437016
[   46.789527] end_request: I/O error, dev mmcblk0, sector 4437024
[   46.795469] end_request: I/O error, dev mmcblk0, sector 4437032
[   46.801412] end_request: I/O error, dev mmcblk0, sector 4437040
[   46.807354] end_request: I/O error, dev mmcblk0, sector 4437048
[   46.813296] end_request: I/O error, dev mmcblk0, sector 4437056
[   46.819238] end_request: I/O error, dev mmcblk0, sector 4437064
[   46.825179] end_request: I/O error, dev mmcblk0, sector 4437072
[   46.831120] end_request: I/O error, dev mmcblk0, sector 4437080
[   46.837062] end_request: I/O error, dev mmcblk0, sector 4437088
still alive...
Charge: Unknown

[FAT32]
1. done
R. reboot


I'm assuming that if it's possible to get a clean copy to the kindle, I would then select recovery option: U. Update using update*.bin file on FAT partition. Unfortunately I have the feeling we're going to have to do this the hard way.
stack is offline   Reply With Quote
Old 09-20-2016, 11:09 PM   #19
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
We have stopped it from getting stuck in an update attempt.

But that is an awful lot of bad sectors to deal with, I don't know about that "still alive" message - that firmware may be overly optimistic.

I am not sure what resources we have when running the 'Diags' system (system in p2 - which should still be intact).

We can boot the 'Diags' system from U-Boot interactive prompt, but it is too late for me to think tonight.
Actually, we can boot just about anything from U-Boot, and I have posted an eMMC utility, but I don't think I built it for running out of ram only.
Something that may get more useful as these devices age.

I'll look up the details when I am awake.
(I can't recall everything, not even things I have wrote, the best I can do is remember how to find it.)

Last edited by knc1; 09-20-2016 at 11:30 PM.
knc1 is offline   Reply With Quote
Old 09-20-2016, 11:40 PM   #20
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
Is it worth trying to format the fat partition in a last ditch attempt to get the original firmware loaded? I was thinking of trying it before but didn't want to stray off-script in case the recovery does more than it says it will.
stack is offline   Reply With Quote
Old 09-21-2016, 08:55 AM   #21
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by stack View Post
Is it worth trying to format the fat partition in a last ditch attempt to get the original firmware loaded? I was thinking of trying it before but didn't want to stray off-script in case the recovery does more than it says it will.
I think it better to be sure we can't "fix" it from the Diags system before trying that.

Both "Main" and "Diags" need what looks like an error free /var/local (partition 3) and /mnt/us (partition 4) to complete the boot process.
Otherwise the start-up code will try to re-format them.
Currently, it is NOT trying to re-format either of them, so they must be 'good enough' to pass the simple tests to continue the boot.
Not necessarily 'good enough' to work, just 'good enough' to pass POST.

When the system re-partitions partition 4 (it is a partition within a partition system) to account for the reduced size (from mapping out more eraseblocks than the device has spare eraseblocks) and then re-formatting the re-sized partition we could very well end up with a partition within partition 4 that does not past POST.

I.E: Inadvertently making both 'Main' and 'Diags' fail to boot.
In which case you can proceed directly to the thread on how to replace the eMMC with a brand-new (bigger) one.
Oops.

Internally the eMMC only supports:
Erase, Re-program, and Read (in eraseblock size, 4Kbyte, chunks).

Meaning that when one is mapped out, you lose 8 "sectors" from the file system.
It is pretty easy to destroy FAT-32 (or any format) taking out 8 adjacent "sectors" at a time.

So let's try booting the other operating system first and make sure there isn't anything there that could help this situation.
Perhaps Lab126 has an eMMC maintenance utility included there.
knc1 is offline   Reply With Quote
Old 09-21-2016, 10:25 AM   #22
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
Quote:
Originally Posted by knc1 View Post
So let's try booting the other operating system first and make sure there isn't anything there that could help this situation.
Perhaps Lab126 has an eMMC maintenance utility included there.

Spoiler:
Code:
   PINOT-WFO - System Diags
   ~~~~  1.12.547.231842  ~~~~ 
     pcbId:027220##########
~ S ~ Device Setting  
P) Touch Sensor Plate Test     
O) Operator test suite     
E) 511     
N) Misc individual diagnostics     
Y) nART factory test     
U) USB device mode     
H) Touch Hold Test     
I) USB Bundle Install     
D) Exit, Reboot or Disable Diags     
L) Lock diags screen     
X) Exit
N) Misc individual diagnostics:
Code:
~ C ~ Certification Test Mode  
I) Wifi Test     
G) Gas Gauge     
L) LED Test     
O) FrontLight test     
S) HallSensor detect     
V) Video Test     
T) Touch Sensor Menu     
N) MoviNand     
E) Power Test     
H) Adjust battery     
M) MoviNand/AdjBat/DisableDiags     
U) Utilities     
X) Exit
U) Utilities:
Code:
~ O ~ Format user partitions  
A) Erase waveform     
E) 511 with device info     
D) WAN Desense Test     
Z) Enable USBnet     
M) Mount nfs     
S) Stress Tests     
R) Run in Test     
T) ORT Discharge     
W) WIFI Bundle Install     
F) Fastboot Bundle Install     
X) Exit


Nothing in Diags that immediately jumps out at me to attempt. Any suggestions?

Quote:
Originally Posted by knc1 View Post
Which reminds me, we need to make a copy of the Diags system before doing an "erase all" on the Kindle.
I didn't see a tutorial on backing up diags, should we do this now?
stack is offline   Reply With Quote
Old 09-21-2016, 11:39 AM   #23
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Sytem Diags - D - In some versions, that is: "exit to command line"

Misc Diags - M - Might exercise / test eMMC and just the label hasn't been changed (Kindles once used MoviNand devices)

Utilities - Z - enable USBnet - that might let you ssh into the Diags command line
- M - Do you have an nfs server set-up (it is usually included by default in Linux distros)?
If so, we could try mounting the "Main" file system over nfs (just as if we where developers )
That one we get a root system image by opening up an Amazon update package with KindleTool.

Also worth exploring: W and F

Backing up 'Diags' - -
We don't want to do it while mounted and running - and 'Main' isn't working (unless we can net-mount a good copy).

Sticky "Where do I start?" -
It will be among the "legacy" de-bricking things.

But the 'Diags' system is evidently burned into the eMMC while still on the tape, before being mounted on the board.
Then it is never changed, so anybody with a working PW-2 can donate a copy if we need it. (NiLuJe has a PW-2, when he gets time to return here)
knc1 is offline   Reply With Quote
Old 09-21-2016, 03:41 PM   #24
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
knc1, I really appreciate your help here. Unfortunately I'm starting to feel like my head is about to explode trying to absorb all the disparate nuggets of info from all the posts I've read over the last week. I think I'm going to need a little (more) hand-holding through your last post. I'm a little confused about what we are trying to do here, or what I'm to do once completing certain steps. Are we attempting, in order, to address the I/O errors, back up data, then flash an update?

Quote:
Originally Posted by knc1 View Post
Sytem Diags - D - In some versions, that is: "exit to command line"
I found an "L) Exit to login prompt", same thing? When I exit diags and get to a command prompt will I then be able to run fsck?

Quote:
Misc Diags - M - Might exercise / test eMMC and just the label hasn't been changed (Kindles once used MoviNand devices)
N) Misc individual diagnostics --> N) MoviNand:
Spoiler:
Code:
C) Certification Test Mode     
I) Wifi Test     
G) Gas Gauge     
L) LED Test     
O) FrontLight test     
S) HallSensor detect     
V) Video Test     
T) Touch Sensor Menu     
N) MoviNand     
E) Power Test     
H) Adjust battery     
M) MoviNand/AdjBat/DisableDiags     
~ U ~ Utilities  
X) Exit
     

(784, 72) pixel not in range (0..768, 0..1024)
DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 21, MoviNand
Command: N
        MoviNandTest:exe 
system_diags[MoviNandTest] 1 INFO : Start test
Can not open or create DiagTest Log     Parsing : [RunInMode=0 Mount_Cust_Flag=/cust/e]
        RunInMode = 0
        Mount_Cust_Flag = /cust/etc/version.txt
        loLimit: -558907665, hiLimit: -558907665
   PINOT-WFO - MoviNand -  92
   ~~~~  1.12.547.231842  ~~~~ 
     pcbId:027220##########
   Enter MOVINAND Test.
   It might take few minutes
   to finish the test
   Be patient

HalMoviNand:startThread 
HalMoviNand:callBack Start
MD5 file list : /opt/factory/diagrootfs_md5_list
HalMoviNand:stopThread 
HalMoviNand:callBack Done
        MoviNandTest:enterTest Check customer partition
HalMoviNand:startThread 
HalMoviNand:callBack Start
HalMoviNand:hal_cmd_movi_nand_md5 checking customer partition
system: I mntroot:def:Making root filesystem writeable
[11049.472414] EXT3-fs (mmcblk0p2): using internal journal
umount: /cust: not mounted
[11049.503888] EXT3-fs: barriers not enabled
[11049.508687] kjournald starting.  Commit interval 5 seconds
[11049.514211] EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode
system: I mntroot:def:Making root filesystem read-only
MD5 file list : /cust/opt/factory/rootfs_md5_list
HalMoviNand:hal_cmd_movi_nand_md5 check_md5_file, rval = -1
HalMoviNand:stopThread 
HalMoviNand:callBack Done
        MoviNandTest:enterTest checkCustomerPartition failed
Can not open or create DiagTest Log   PINOT-WFO - MoviNand -  92
   ~~~~  1.12.547.231842  ~~~~ 
     pcbId:027220114454001Z
 
   user sw md5sum error, update again
   FAIL
~ X ~ Exit

It doesn't seem to do much more than comparing hashes. However you can probably see more into the output than I can

Quote:
Utilities - Z - enable USBnet - that might let you ssh into the Diags command line
- M - Do you have an nfs server set-up (it is usually included by default in Linux distros)?
If so, we could try mounting the "Main" file system over nfs (just as if we where developers )
That one we get a root system image by opening up an Amazon update package with KindleTool.
So far I've only been able to successfully get kindletool up and running. I am sure that I can get nfs working but it's going to be some trial and error getting there.

As an aside I found a version.txt on the kindle that displayed, "Kindle 5.6.5 (273030 038)". I'm thinking this is a good thing for once we're up and running. I'm assuming it also may help decide which firmware version to try installing since we can't downgrade (no?).

I apologize for my rudimentary skill level here as Linux is not my strong suit. It is very interesting learning as I go, unfortunately it seems that for every thread I read I end up with more questions than answers when trying to make them applicable to this situation.
stack is offline   Reply With Quote
Old 09-21-2016, 04:56 PM   #25
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
All I was saying was those where things to explore.

Which you seem to be doing (I don't have a PW-2 to explore).

That 'exit to login prompt' thing may be the only one we can use (plus the networking stuff).

If 'exit to login prompt' works, we don't need anything else.
(Well, other than 'main' network mounted.)

The KindleTool is easy to learn, easy to use, if lab126 can learn to use it . . . . .
don't be concerned about that, take your time at this.

And if you give KindleTool your serial number - it can also produce your Diags, user: Root login password.

No magic, just experience and everybody has to start somewhere.
Embedded Linux is rapidly showing up in every kind of device, and Kindles are a cheap (un-documented) place to learn.

Last edited by knc1; 09-21-2016 at 05:29 PM.
knc1 is offline   Reply With Quote
Old 09-23-2016, 12:52 AM   #26
stack
Member
stack began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Sep 2016
Location: Chicago
Device: PW2
I understand. Makes a lot of sense to see what can be done before actually attempting to do something that might not work. I was thinking there might be a playbook to follow and simply felt overwhelmed trying to decipher all that I was reading.

Unfortunately I've run into a pretty big snag in moving forward. Last night I tried to 'exit to login prompt' when minicom froze on me. Turns out I somehow pulled out the ground wire from the board as I was manipulating the screen (that little guy was a pain to get a grip on the pad in the first place). Today I spent some time modifying the kindle and put headers on both the kindle and ftx board.

Spoiler:



Of course now I cannot connect to minicom or putty. I've spent the last few hours testing and re-testing every connection with a multimeter, but there are no shorts and everything looks solid. Is it possible I've killed something by either losing ground or pulling the battery when exiting diags? Everything else seems the same as there are no issues restarting or getting the screen to light up to the tree screen. I'm totally stumped and will probably end up reverting the modifications to what worked if there isn't a common issue I'm missing here.

Any ideas?

Last edited by stack; 09-23-2016 at 12:55 AM.
stack is offline   Reply With Quote
Old 09-23-2016, 02:50 AM   #27
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Check first that Tx and Rx did not get swapped from before modification to now.

Remember, with the jim.ftx board using an external reference, the external reference MUST be powered BEFORE the usb connection is powered.
Plug in battery, press power button to start the Kindle, plug in USB cable to PC.

That order, don't rush, you can follow plugging in the USB cable with another power button re-boot once the adapter has been powered on.
(I thought mine was dead for a long time until I stumbled onto that one.)

That shield is also ground - and actually easier to solder too than the board's internal copper ground plane (which is why it was so hard to solder the first time).

Very close to the shield and the serial port pin-out are a pair of resistors about the size of fly shit. A little stray heat and they come off.
I don't recall the PW-2 pictures posted here, but some Kindle models have those resistors INSIDE of the shield, where you can not see if they came loose.

Summer, Chicago - humidity should be too high for ESD to be a problem, but maybe.
But a stay "ground loop" between the soldering iron and the electronics could have killed the interface port(s) (either cable end).
(It doesn't look to me as if your using a hot air gun - which is even harder to use in this case - stray hot air is hard to control .)

Beware of multi-meter in use. That is low voltage CMOS, the multi-meter must be an extremely high impedance type with a special "Diode" test range.
From the appearance of the work, you probably already know about that.

Could it be the adapter end?
Might have pulled or bent something on the other end of cable while working.

Duh....
All that comes to mind at the moment.
knc1 is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Kindle PW2 Software Update 5.6.1 kaznelson Amazon Kindle 67 02-05-2017 04:17 AM
PW2 software update issue, Amazon cs says broken stack Amazon Kindle 5 09-14-2016 10:08 PM
Kindle PW2 Software Update 5.6.1: Does old JB method work? kaznelson Kindle Developer's Corner 112 11-27-2014 06:18 PM
Kindle PW2 Software Update 5.4.5.1 JoHunt Amazon Kindle 16 10-27-2014 03:27 PM
Advice Regarding Kindle PW2 and Kobo Aura Crimmers Which one should I buy? 9 01-01-2014 02:25 PM


All times are GMT -4. The time now is 04:18 PM.


MobileRead.com is a privately owned, operated and funded community.