[BUG] pxa3xx: wait time out when scanning for bb
Miquel RAYNAL
miquel.raynal at free-electrons.com
Wed Dec 13 00:41:05 PST 2017
Hi Sean,
> >>> I insist on the fact that this is something I could have spotted
> >>> earlier
> >>> if you had blindlessly copy/pasted the *entire* trace, I don't
> >>> mind if it is big, it can be really interesting for others to get
> >>> the full trace.
> >>>
> >>> This time I only need the trace without the "on-flash-bbt"
> >>> property.
> >
> I have double checked the result without kernel bbt and the bbt
> written from uboot, the marvell_nand driver is reading 0xFF's...
That is weird. I am gonna check with my setup if the sequence I ask you
actually works.
>
> Tracing:
> U-Boot 2017.11-00035-ge9282bb30b-dirty (Dec 12 2017 - 11:22:21 +0100)
"-dirty"? Is the 17.11 U-Boot clean around the NAND area? What did you
change from mainline code?
>
> SoC: MV88F6810-A0 at 1066 MHz
> DRAM: 1 GiB (533 MHz, 16-bit, ECC not enabled)
> WDT: Enabling Armada 385 watchdog.
> NAND: PXA3xx: strength 4, ecc_stepsize 512, page_size 2048
> 256 MiB
> Bad block table found at page 131008, version 0x01
> Bad block table found at page 130944, version 0x01
> Model: Triax dvb-tc output
> Board: Triax dvb-tc output
> Net:
> Warning: ethernet at 30000 (eth0) using random MAC address -
> d6:4c:37:5e:b6:28 eth0: ethernet at 30000
> => nand erase.part ubi0; nand scrub 0xFF80000 0x80000; nand bad
>
> NAND erase.part: device 0 offset 0x100000, size 0xff00000
> Skipping bad block at 0x0ff00000
> Skipping bad block at 0x0ff20000
> Skipping bad block at 0x0ff40000
> Skipping bad block at 0x0ff60000
> Skipping bad block at 0x0ff80000
> Skipping bad block at 0x0ffa0000
> Skipping bad block at 0x0ffc0000
> Skipping bad block at 0x0ffe0000
>
> OK
>
> NAND scrub: device 0 offset 0xff80000, size 0x80000
> Warning: scrub option will erase all factory set bad blocks!
> There is no reliable way to recover them.
> Use this command only for testing purposes if you
> are sure of what you are doing!
>
> Really scrub this NAND flash? <y/N>
> y
> Erasing at 0xffe0000 -- 100% complete.
> OK
>
> Device 0 bad blocks:
> Bad block table not found for chip 0
> Bad block table not found for chip 0
> Scanning device for bad blocks
> Bad block table written to 0x00000ffe0000, version 0x01
> Bad block table written to 0x00000ffc0000, version 0x01
> 0ff00000
> 0ff20000
> 0ff40000
> 0ff60000
> 0ff80000
> 0ffa0000
> 0ffc0000
> 0ffe0000
> => boot
> [ ... ]
Please, stop doing this, we _really_ _really_ _really_ want the *full*
log, no matter if you think this part is irrelevant.
If for you the trace is too big, please use
http://code.bulix.org/ or https://pastebin.com/
> [ 2.699996] nand: device found, Manufacturer ID: 0x2c, Chip ID:
> 0xda [ 2.706413] nand: Micron MT29F2G08ABAEAH4
> [ 2.710461] nand: 256 MiB, SLC, erase size: 128 KiB, page size:
> 2048, OOB size: 64
> [ 2.718122] nand: NAND_ECC_NONE selected by board driver. This is
> not recommended!
> [ 2.725750] nand: WARNING: pxa3xx_nand-0: the ECC used on your
> system is too weak compared to the one required by the NAND chip
> [ 2.737295] Scanning device for bad blocks
> [ 2.886451] 2 cmdlinepart partitions found on MTD device
> pxa3xx_nand-0 [ 2.893008] Creating 2 MTD partitions on
> "pxa3xx_nand-0": [ 2.898429] 0x000000000000-0x000000100000 :
> "uboot" [ 2.903806] 0x000000100000-0x000010000000 : "ubi0"
> [ ... ]
> root at output-module:~# nanddump -nop -l 0x800 --bb=dumpbad -s
> 0xFE80000 /dev/mtd1
While I am investigating on my side, could you please:
- dump the same pages as before from U-Boot, with the OOB area of
course (do not substract the 0x100000 offset from U-Boot), I want
to see if there is actually something in these pages.
- dump the entire MTD1 device from Linux (same configuration as before)
and grep for the string "MVBbt".
Thanks,
Miquèl
More information about the linux-mtd
mailing list