On Tue, Sep 10, 2019 at 01:00:30PM +0200, Sean Nyekjaer wrote: > > > On 10/09/2019 12.48, Sascha Hauer wrote: > > On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote: > > > > > > > > > On 10/09/2019 11.55, Sascha Hauer wrote: > > > > > [ 2.434057] Bad block table written to 0x00001ffc0000, version 0x01 > > > > > [ 2.437254] Bad block table written to 0x00001ff80000, version 0x01 > > > > What about this "Bad block table written" message? You should see this > > > > exactly once. Do you see this multiple times, especially when switching > > > > kernels between the good one and the bad one? > > > > > > > > Sascha > > > > > > Not exactly sure what you mean, but here is the dumps: > > > > > > Before (mtd: rawnand: gpmi: Implement exec_op) > > > [ 3.389352] Bad block table written to 0x00001ffc0000, version 0x01 > > > [ 3.399019] Bad block table written to 0x00001ff80000, version 0x01 > > > > > > After > > > [ 3.301096] Bad block table written to 0x00001ffc0000, version 0x01 > > > [ 3.310599] Bad block table written to 0x00001ff80000, version 0x01 > > > > The Bad block table is written once. When you see this message multiple > > times then this means that Linux can't read the BBT and writes it again. > > So the question is: Start the good kernel multiple times. Do you see > > this message once or on each boot? Then start the bad Kernel multiple > > times. Do you see the message once or on each boot? > > > > Sascha > > > > U-boot: > => nand erase.chip > > NAND erase.chip: device 0 whole chip > Skipping bad block at 0x0c780000 > Skipping bad block at 0x18000000 > Skipping bad block at 0x18040000 > Skipping bad block at 0x1ff00000 > Skipping bad block at 0x1ff40000 > Skipping bad block at 0x1ff80000 > Skipping bad block at 0x1ffc0000 > > Look weird it marks the bbt location bad ? Yes, that's normal. The BBT itself is marked as bad. Otherwise the they would just be used by regular mtd users. > Or is it a uboot feature? > I have tried another board, and uboot marks the bbt location bad on that as > well > > First boot: > [ 4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc > > > [ 4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit > [ 4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB > size: 128 > > [ 4.175918] Bad block table not found for chip 0 > [ 4.184059] Bad block table not found for chip 0 > [ 4.188808] Scanning device for bad blocks > [ 4.690183] Bad eraseblock 798 at 0x00000c780000 > [ 5.155504] Bad eraseblock 1536 at 0x000018000000 > [ 5.161008] Bad eraseblock 1537 at 0x000018040000 > [ 5.487883] Bad block table written to 0x00001ffc0000, version 0x01 And is this the bad kernel or the good kernel? The question I am trying to answer is: Can the good kernel read the BBT it has written? Can the bad Kernel do that? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/