Fuente:
http://tieba.baidu.com/p/2196284896
A11 NAND drive was recently on the Internet, began to doubt the v972 flat-panel flash chip is not the quality of the batch has serious problems. ONDA is not the so-called "firmware upgrade" in hiding the what?
If you frequent file system corruption and data loss, or even brush firmware, please reply to the following information:
1. the machine version, firmware version
2. whether to open the barrier=1, see
http://www.ondabbs.CN/thread-219815-1-1.html
3. for testing. First of all, remove the external TF card avoid interference test results, remove to restart after the next. There are no external TF card can be started directly.
4. power up the system after a period of time, enter Su on the ADB or a terminal emulator application carriage return, and enter dmesg|BusyBox grep PHY returns. Reply in this post in results.
Analysis of results:
If you have the command output: PHY_PageRead:too much ECC err,Bank xxxx block yyy,page zzz
Explain your NAND bad is a bit much. Although any NAND chips will have some bad blocks, but with ECC testing algorithms are save without live Flash is obviously not qualified.
If PHY_PageRead:ecc limit aa bb cc dd this was error, bad block is encountered, ECC testing algorithm for maximum volume, than a good point earlier.
I have my first:
1. v972 v.133
2. open barrier=1
3. output:
Nearly 30: PHY_PageRead:ecc limit, 0xA, 0x0, 0xA, 0x0
Report: evidence of why PHY_PageRead:ecc limit is flashing:
Drivers/block/sun5i_nand/src/physic/nand_phy.c (A11 flash drive, A31 should be similar), 788 lines in the PHY_PageRead function:
if(ret == ECC_LIMIT)
{
PHY_ERR("%s : %d : ecc limit\n",__FUNCTION__,__LINE__);
}
Look around drivers/block/sun4i_nand/src/include/nand_type.h,340 line:
//define the return value
#define ECC_LIMIT 10 //reach the limit of the ability of ECC
#define ERR_MALLOC 11 //request buffer failed
#define ERR_ECC 12 //too much ecc error
#define ERR_NANDFAIL 13 //nand flash program or erase fail
#define ERR_TIMEOUT 14 //hardware timeout
#define ERR_PHYSIC 15 //physical operation module error
#define ERR_SCAN 16 //scan module error
#define ERR_FORMAT 17 //format module error
#define ERR_MAPPING 18 //mapping module error
#define ERR_LOGICCTL 19 //logic control module error
#define ERR_ADDRBEYOND 20 //the logical sectors need be accessed is beyond the logical disk
#define ERR_INVALIDPHYADDR 21
Comment saying it is clear that ECC_LIMIT is because the ECC has reached its limit, and ERR_ECC (that is PHY_PageRead:too much ECC err) is saved even ECC does not live a bad block.
Journal of the code above is from the official source code.
Conclusion
Proposals which are only PHY_PageRead:ecc users limit, you can open the barrier=1 see also errors do not appear. If no problem you can forget it.
Recommended a large number of PHY_PageRead:too much ECC error err, PHY_PageRead:read timeout, PHY_PageWrite:writetimeout these users immediately asked the ONDA repair plate.
Such tablet flash serious problem and can not fix with firmware. Unless you can stand the one every other day or so data-loss tablet.
I was the rabbit rabbit 2, this audit after published in v972 Forum, however, can send to the online forum.