View Single Post
Old 10-26-2017, 04:35 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
Quote:
Originally Posted by AlanHK View Post
- - -
Initially, I wanted to know if it is hardware related (unfixable) or software (potentially fixable).
If I could actually prove it was hardware I might be able to get it replaced though.
- - - -
Is it hardware related: YES
Is it unfixable: NO
Does the hardware need to be replaced: NO
Is it fixable: YES
If it is fixable, can I fix it: YES
How to fix it then: Reboot it, the system's startup code will detect and fix the hardware problem.

How can it do that?
1) You have a eMMC (the flash storage device) with a erase block with an uncorrectable error.
2) The eMMC device has spare erase blocks
3) The eMMC device has a record (list) of the spare erase blocks
4) The eMMC has hardware error reporting
5) The Linux kernel's startup code includes checking for (1) above.
6) The end result will be to execute commands that cause the eMMC to move the in-use erase block with errors to a list of bad blocks, that content copied (using ECC to fix the error) to one of the spare erase blocks removed from (3).
7) The file system will be checked, and any errors found corrected.
8) Normal startup will continue.

How is the above sequence triggered? Reboot the damn thing!

It isn't magic, it is written into the start up code.
If you where interested, you could get a copy from the dev forum posts, disassemble it, and read it for yourself.

Sure, it is the same directions that are often given to dumbshit customers by dumbershit "service representatives" - but in this case, it is the way engineered into the system to fix what is most likely wrong.

You can either take my word for it, that I have read it, and that is really the way the startup code is written, or you can read it for yourself.
knc1 is offline   Reply With Quote