From: Miquel RAYNAL <miquel.raynal@free-electrons.com>
To: "Sean Nyekjær" <sean.nyekjaer@prevas.dk>
Cc: <ezequiel.garcia@free-electrons.com>,
<linux-mtd@lists.infradead.org>,
"Kasper Revsbech (KREV)" <krev@triax.com>,
Boris Brezillon <Boris.Brezillon@free-electrons.com>
Subject: Re: [BUG] pxa3xx: wait time out when scanning for bb
Date: Tue, 12 Dec 2017 12:08:06 +0100 [thread overview]
Message-ID: <20171212120806.7c31463f@xps13> (raw)
In-Reply-To: <e9e6bf70-918f-b750-5893-55744dc34882@prevas.dk>
On Tue, 12 Dec 2017 11:55:22 +0100
Sean Nyekjær <sean.nyekjaer@prevas.dk> wrote:
> Hi Miquel
> > Are you sure your U-Boot does actually use the BBT?
> >
> > The last two blocks (supposedly written by U-Boot) are usually
> > declared bad by Linux when it does not find the BBT. This is not
> > the case, like if the last blocks were empty.
> >
> > Could you try this, still with "ecc-none" and without the
> > "nand-keep-config" property:
> &nand_controller {
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <&nand_pins>, <&nand_rb>;
>
> nand@0 {
> reg = <0>;
> label = "pxa3xx_nand-0";
> marvell,rb = <0>;
> nand-ecc-mode = "none";
> nand-on-flash-bbt;
> };
> };
> >
> > 1/ From U-Boot, scrub the last 4 blocks. As your NAND is 256MiB
> > wide with 128kiB blocks, this should do the trick:
> >
> > nand scrub 0xFF80000 0x80000
> >
> > 2/ At this point, U-Boot should tell you it cannot find a bad block
> > table, a second later it will tell you that it created it twice at
> > the end of the NAND chip.
> Yes uboot is recreating the bbt and after a new reset it recognise
> the new bbt.
> >
> > 3/ Boot Linux with ECC == none
> > 4/ Dump the first page of the 4 last blocks:
> >
> > nanddump -nop -l 0x800 -s <adddr> /dev/mtd1
> See tracing below
> >
> > Supposedly that /dev/mtd1 is the _last_ MTD partition of your NAND
> > device and <addr> being sequentially:
> >
> > 0xFF80000
> > 0xFFA0000
> > 0xFFC0000
> > 0xFFE0000
> >
> > Please copy/paste the overall trace without any cuts (including
> > U-Boot traces, literally everything).
> >
>
>
> U-Boot 2017.11-00035-ge9282bb30b-dirty (Dec 12 2017 - 11:22:21 +0100)
>
> 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@30000 (eth0) using random MAC address -
> 26:d3:56:98:ca:b4 eth0: ethernet@30000
> => nand scrub 0xFF80000 0x80000
>
> 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
> => boot
>
> Starting kernel ...
>
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 4.15.0-rc1-00094-g1791eb8f2475-dirty
> (skn@skn) (gcc version 7.2.0 (Arch Repository)) #30 SMP PREEMPT Tue
> Dec 12 09:28:30 CET 2017
> ...
> [ 2.692801] nand: device found, Manufacturer ID: 0x2c, Chip ID:
> 0xda [ 2.699176] nand: Micron MT29F2G08ABAEAH4
> [ 2.703232] nand: 256 MiB, SLC, erase size: 128 KiB, page size:
> 2048, OOB size: 64
> [ 2.710928] nand: NAND_ECC_NONE selected by board driver. This is
> not recommended!
> [ 2.718523] nand: WARNING: pxa3xx_nand-0: the ECC used on your
> system is too weak compared to the one required by the NAND chip
> [ 2.731429] Bad block table not found for chip 0
> [ 2.737384] Bad block table not found for chip 0
> [ 2.742024] Scanning device for bad blocks
> [ 2.891818] Bad block table written to 0x00000ffe0000, version 0x01
> [ 2.898837] Bad block table written to 0x00000ffc0000, version 0x01
> [ 2.905152] 2 cmdlinepart partitions found on MTD device
> pxa3xx_nand-0 [ 2.911708] Creating 2 MTD partitions on
> "pxa3xx_nand-0": [ 2.917130] 0x000000000000-0x000000100000 :
> "uboot" [ 2.922512] 0x000000100000-0x000010000000 : "ubi0"
> ...
> output-module login: root
> Password:
> root@output-module:~#
> root@output-module:~# nanddump -nop -l 0x800 -s 0xFF80000 /dev/mtd1
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x0ff80000 and ending at 0x0ff80800...
> root@output-module:~# nanddump -nop -l 0x800 -s 0xFFA0000 /dev/mtd1
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x0ffa0000 and ending at 0x0ffa0800...
> root@output-module:~# nanddump -nop -l 0x800 -s 0xFFC0000 /dev/mtd1
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x0ffc0000 and ending at 0x0ffc0800...
> root@output-module:~# nanddump -nop -l 0x800 -s 0xFFE0000 /dev/mtd1
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x0ffe0000 and ending at 0x0ffe0800...
> root@output-module:~# reboot
> ...
> U-Boot 2017.11-00035-ge9282bb30b-dirty (Dec 12 2017 - 11:22:21 +0100)
>
> 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 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
>
> If I reboot uboot is unable recognise the bbt, but recreates it. But
> the kernel is scanning on every boot.
> Am I doing anything wrong in the nanddump command?
I did not realize your NAND had 2 partitions (I though /dev/mtd0 was
something else).
In Linux, the offset your give to nanddump is from the beginning of the
MTD device, not the NAND device. Because /dev/mtd1 starts at 0x100000
(8 blocks are used for U-Boot), you have to substract 0x100000 from the
offsets I gave you otherwise you read beyond the device (ie. nothing).
Please try again with:
0xFE80000
0xFEA0000
0xFEC0000
0xFEE0000
Thank you,
Miquèl
next prev parent reply other threads:[~2017-12-12 11:08 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 9:12 [BUG] pxa3xx: wait time out when scanning for bb Sean Nyekjær
2017-11-28 13:02 ` Miquel RAYNAL
2017-11-28 13:12 ` Sean Nyekjær
2017-11-28 13:30 ` Miquel RAYNAL
2017-11-28 13:42 ` Sean Nyekjær
2017-11-28 14:04 ` Miquel RAYNAL
2017-11-29 7:14 ` Sean Nyekjær
2017-11-29 8:03 ` Miquel RAYNAL
2017-11-30 12:00 ` Sean Nyekjær
2017-11-30 17:18 ` Miquel RAYNAL
2017-11-30 18:13 ` Sean Nyekjær
2017-12-01 8:15 ` Miquel RAYNAL
2017-12-01 8:54 ` Sean Nyekjær
2017-12-07 20:38 ` Miquel RAYNAL
2017-12-08 9:04 ` Sean Nyekjær
2017-12-08 9:21 ` Miquel RAYNAL
2017-12-11 8:25 ` Sean Nyekjær
2017-12-11 8:45 ` Sean Nyekjær
2017-12-11 9:53 ` Miquel RAYNAL
2017-12-11 10:20 ` Sean Nyekjær
2017-12-11 11:35 ` Sean Nyekjær
2017-12-11 13:22 ` Sean Nyekjær
2017-12-11 14:02 ` Miquel RAYNAL
2017-12-11 14:09 ` Miquel RAYNAL
2017-12-11 14:49 ` Boris Brezillon
2017-12-12 8:44 ` Sean Nyekjær
2017-12-12 8:51 ` Miquel RAYNAL
2017-12-12 8:56 ` Sean Nyekjær
2017-12-12 10:12 ` Miquel RAYNAL
2017-12-12 10:55 ` Sean Nyekjær
2017-12-12 11:08 ` Miquel RAYNAL [this message]
2017-12-12 11:28 ` Sean Nyekjær
2017-12-12 11:35 ` Miquel RAYNAL
2017-12-12 11:49 ` Sean Nyekjær
2017-12-12 12:47 ` Miquel RAYNAL
2017-12-12 13:09 ` Sean Nyekjær
2017-12-12 13:35 ` Miquel RAYNAL
2017-12-12 18:10 ` Sean Nyekjær
2017-12-12 18:23 ` Miquel RAYNAL
2017-12-13 6:25 ` Sean Nyekjær
2017-12-13 8:41 ` Miquel RAYNAL
2017-12-13 9:31 ` Sean Nyekjær
2017-12-15 17:25 ` Miquel RAYNAL
2017-12-15 18:56 ` Sean Nyekjær
2017-12-15 19:19 ` Miquel RAYNAL
2017-12-17 11:56 ` Sean Nyekjaer
2017-12-17 13:19 ` Boris Brezillon
2017-12-17 21:47 ` Sean Nyekjaer
2017-12-17 22:00 ` Boris Brezillon
2017-12-17 22:15 ` [SPAM] " Sean Nyekjær
2017-12-17 22:19 ` Boris Brezillon
2017-12-17 22:19 ` Miquel RAYNAL
2017-12-18 6:23 ` Sean Nyekjær
2017-12-18 8:56 ` Miquel RAYNAL
2017-12-18 9:26 ` Sean Nyekjær
2017-12-18 9:35 ` Miquel RAYNAL
2017-12-18 10:12 ` Sean Nyekjær
2017-12-18 10:19 ` Miquel RAYNAL
2017-12-18 10:26 ` Sean Nyekjær
2017-12-18 10:45 ` Boris Brezillon
2017-12-18 10:48 ` Sean Nyekjær
2017-12-18 12:43 ` Boris Brezillon
2017-12-18 8:57 ` [SPAM] " Boris Brezillon
2017-12-17 13:48 ` Boris Brezillon
2017-12-11 20:11 ` Miquel RAYNAL
2017-12-09 23:18 ` Ezequiel Garcia
2017-12-10 14:17 ` Miquel RAYNAL
2017-12-11 12:30 ` Ezequiel Garcia
2017-12-11 13:13 ` Miquel RAYNAL
2017-12-11 16:08 ` Ezequiel Garcia
2017-12-11 16:41 ` Miquel RAYNAL
[not found] ` <CAL92e2W7fLjVOWFgH2PpRLRP7Tf5L1vta0jduWm+bTVm647MNQ@mail.gmail.com>
2017-12-11 16:24 ` Ezequiel Garcia
2017-12-11 16:45 ` Boris Brezillon
2017-12-11 21:16 ` Boris Brezillon
2017-12-12 6:01 ` Greg Cook
2017-12-12 7:09 ` Ezequiel Garcia
2017-12-12 7:30 ` Greg Cook
2017-12-12 8:15 ` Boris Brezillon
2017-12-12 16:22 ` Ezequiel Garcia
2017-12-12 6:36 ` Sean Nyekjær
2017-12-12 6:50 ` Ezequiel Garcia
2017-12-12 7:17 ` Greg Cook
2017-12-09 23:04 ` Ezequiel Garcia
2017-12-09 23:22 ` Ezequiel Garcia
2017-12-09 23:24 ` Ezequiel Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171212120806.7c31463f@xps13 \
--to=miquel.raynal@free-electrons.com \
--cc=Boris.Brezillon@free-electrons.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=krev@triax.com \
--cc=linux-mtd@lists.infradead.org \
--cc=sean.nyekjaer@prevas.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox