Ver Mensaje Individual
  #37  
Viejo 07/03/13, 17:45:42
Avatar de moitisimo
moitisimo moitisimo no está en línea
Miembro del foro
Mensajes: 92
 
Fecha de registro: ene 2013
Mensajes: 92
Modelo de smartphone: Onda v972
Tu operador: Simyo
Mencionado: 0 comentarios
Tagged: 0 hilos
the v972 flash quality problem investigation report

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.

Última edición por moitisimo Día 07/03/13 a las 17:48:09
Responder Con Cita