public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* ubi: refuse attaching mtd3 - MLC NAND is not supported
@ 2018-05-24 19:28 Mathieu Malaterre
  2018-05-24 19:42 ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Malaterre @ 2018-05-24 19:28 UTC (permalink / raw)
  To: Richard Weinberger; +Cc: MIPS Creator CI20 Development, linux-mtd

Hi Richard,

I cannot boot my MIPS Creator CI20 system anymore. Doing a git bisect leads to:

$ git bisect bad
b5094b7f135be34630e3ea8a98fa215715d0f29d is the first bad commit
commit b5094b7f135be34630e3ea8a98fa215715d0f29d
Author: Richard Weinberger <richard@nod.at>
Date:   Sat Mar 3 11:45:54 2018 +0100

    ubi: Reject MLC NAND

    While UBI and UBIFS seem to work at first sight with MLC NAND, you will
    most likely lose all your data upon a power-cut or due to read/write
    disturb.
    In order to protect users from bad surprises, refuse to attach to MLC
    NAND.

    Cc: stable@vger.kernel.org
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
    Acked-by: Artem Bityutskiy <dedekind1@gmail.com>

:040000 040000 715242e81a7386bbc9ec5b10d0eb5138cd41ff3f
a2c894baaef840fc9dce4e87f3370a66731fc770 M drivers


On my system here is what I can see (screen + ttyUSB):

## Booting kernel from Legacy Image at 88000000 ...
   Image Name:   Linux-4.16.0+
   Image Type:   MIPS Linux Kernel Image (uncompressed)
   Data Size:    5890340 Bytes = 5.6 MiB
   Load Address: 80010000
   Entry Point:  80401550
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel [    0.155993] cacheinfo: Failed to find cpu0 device node
[    0.238335] ubi: refuse attaching mtd3 - MLC NAND is not supported
[    0.244827] UBI error: cannot attach mtd3
[    0.248838] ubi: refuse attaching mtd4 - MLC NAND is not supported
[    0.255061] UBI error: cannot attach mtd4
[    0.259413] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
[    0.267679] Rebooting in 10 seconds..


This has been working great so far. If I understand correctly your
commit, this is a sort of safe code path to avoid corrupted data upon
power-cut. Is there a way for me to continue booting my system as-is
(other than a git revert b5094b7f135be).

For reference, I flashed the NAND using:

https://elinux.org/CI20_Distros#Debian_8_2016-02-02_Beta

Thanks for suggestions,

-M

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubi: refuse attaching mtd3 - MLC NAND is not supported
  2018-05-24 19:28 ubi: refuse attaching mtd3 - MLC NAND is not supported Mathieu Malaterre
@ 2018-05-24 19:42 ` Richard Weinberger
  2018-05-25 10:12   ` Mathieu Malaterre
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Weinberger @ 2018-05-24 19:42 UTC (permalink / raw)
  To: Mathieu Malaterre
  Cc: MIPS Creator CI20 Development, linux-mtd, boris.brezillon

Mathieu,

Am Donnerstag, 24. Mai 2018, 21:28:12 CEST schrieb Mathieu Malaterre:
> Hi Richard,
> 
> I cannot boot my MIPS Creator CI20 system anymore. Doing a git bisect leads to:
> 
> $ git bisect bad
> b5094b7f135be34630e3ea8a98fa215715d0f29d is the first bad commit
> commit b5094b7f135be34630e3ea8a98fa215715d0f29d
> Author: Richard Weinberger <richard@nod.at>
> Date:   Sat Mar 3 11:45:54 2018 +0100
> 
>     ubi: Reject MLC NAND
> 
>     While UBI and UBIFS seem to work at first sight with MLC NAND, you will
>     most likely lose all your data upon a power-cut or due to read/write
>     disturb.
>     In order to protect users from bad surprises, refuse to attach to MLC
>     NAND.
> 
>     Cc: stable@vger.kernel.org
>     Signed-off-by: Richard Weinberger <richard@nod.at>
>     Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
>     Acked-by: Artem Bityutskiy <dedekind1@gmail.com>
> 
> :040000 040000 715242e81a7386bbc9ec5b10d0eb5138cd41ff3f
> a2c894baaef840fc9dce4e87f3370a66731fc770 M drivers
> 
> 
> On my system here is what I can see (screen + ttyUSB):
> 
> ## Booting kernel from Legacy Image at 88000000 ...
>    Image Name:   Linux-4.16.0+
>    Image Type:   MIPS Linux Kernel Image (uncompressed)
>    Data Size:    5890340 Bytes = 5.6 MiB
>    Load Address: 80010000
>    Entry Point:  80401550
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> 
> Starting kernel [    0.155993] cacheinfo: Failed to find cpu0 device node
> [    0.238335] ubi: refuse attaching mtd3 - MLC NAND is not supported
> [    0.244827] UBI error: cannot attach mtd3
> [    0.248838] ubi: refuse attaching mtd4 - MLC NAND is not supported
> [    0.255061] UBI error: cannot attach mtd4
> [    0.259413] Kernel panic - not syncing: VFS: Unable to mount root
> fs on unknown-block(0,0)
> [    0.267679] Rebooting in 10 seconds..
> 
> 
> This has been working great so far. If I understand correctly your
> commit, this is a sort of safe code path to avoid corrupted data upon
> power-cut. Is there a way for me to continue booting my system as-is
> (other than a git revert b5094b7f135be).

No. MLC is simply not supported and not safe to use.
With that commit we reflect the state of the code and stop giving wrong promises.

I can hardly believe that it has been working great so far, did you
ever do power-cut tests?
Or are there other mechanisms on your board that make MLC usable by UBI?
For example SLC-emulation.

Thanks,
//richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubi: refuse attaching mtd3 - MLC NAND is not supported
  2018-05-24 19:42 ` Richard Weinberger
@ 2018-05-25 10:12   ` Mathieu Malaterre
  2018-05-28 20:15     ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Malaterre @ 2018-05-25 10:12 UTC (permalink / raw)
  To: Richard Weinberger
  Cc: MIPS Creator CI20 Development, linux-mtd, boris.brezillon

On Thu, May 24, 2018 at 9:42 PM, Richard Weinberger <richard@nod.at> wrote:
> Mathieu,
>
> Am Donnerstag, 24. Mai 2018, 21:28:12 CEST schrieb Mathieu Malaterre:
>> Hi Richard,
>>
>> I cannot boot my MIPS Creator CI20 system anymore. Doing a git bisect leads to:
>>
>> $ git bisect bad
>> b5094b7f135be34630e3ea8a98fa215715d0f29d is the first bad commit
>> commit b5094b7f135be34630e3ea8a98fa215715d0f29d
>> Author: Richard Weinberger <richard@nod.at>
>> Date:   Sat Mar 3 11:45:54 2018 +0100
>>
>>     ubi: Reject MLC NAND
>>
>>     While UBI and UBIFS seem to work at first sight with MLC NAND, you will
>>     most likely lose all your data upon a power-cut or due to read/write
>>     disturb.
>>     In order to protect users from bad surprises, refuse to attach to MLC
>>     NAND.
>>
>>     Cc: stable@vger.kernel.org
>>     Signed-off-by: Richard Weinberger <richard@nod.at>
>>     Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
>>     Acked-by: Artem Bityutskiy <dedekind1@gmail.com>
>>
>> :040000 040000 715242e81a7386bbc9ec5b10d0eb5138cd41ff3f
>> a2c894baaef840fc9dce4e87f3370a66731fc770 M drivers
>>
>>
>> On my system here is what I can see (screen + ttyUSB):
>>
>> ## Booting kernel from Legacy Image at 88000000 ...
>>    Image Name:   Linux-4.16.0+
>>    Image Type:   MIPS Linux Kernel Image (uncompressed)
>>    Data Size:    5890340 Bytes = 5.6 MiB
>>    Load Address: 80010000
>>    Entry Point:  80401550
>>    Verifying Checksum ... OK
>>    Loading Kernel Image ... OK
>>
>> Starting kernel [    0.155993] cacheinfo: Failed to find cpu0 device node
>> [    0.238335] ubi: refuse attaching mtd3 - MLC NAND is not supported
>> [    0.244827] UBI error: cannot attach mtd3
>> [    0.248838] ubi: refuse attaching mtd4 - MLC NAND is not supported
>> [    0.255061] UBI error: cannot attach mtd4
>> [    0.259413] Kernel panic - not syncing: VFS: Unable to mount root
>> fs on unknown-block(0,0)
>> [    0.267679] Rebooting in 10 seconds..
>>
>>
>> This has been working great so far. If I understand correctly your
>> commit, this is a sort of safe code path to avoid corrupted data upon
>> power-cut. Is there a way for me to continue booting my system as-is
>> (other than a git revert b5094b7f135be).
>
> No. MLC is simply not supported and not safe to use.
> With that commit we reflect the state of the code and stop giving wrong promises.

ACK. Would you recommend an alternate filesystem then ?

> I can hardly believe that it has been working great so far, did you
> ever do power-cut tests?
> Or are there other mechanisms on your board that make MLC usable by UBI?
> For example SLC-emulation.

Looking quickly at the tech specs:

https://www.elinux.org/CI20_Hardware#ROM.2FNAND

...
Is provided by a single Samsung K9GBG08UOA NAND flash, using an 8bit
data interface to the SoC.
...

So my understanding is that "it just worked" so far. I've tried
contacting some of the people involved with the design of CI20 to get
confirmation.

-M

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubi: refuse attaching mtd3 - MLC NAND is not supported
  2018-05-25 10:12   ` Mathieu Malaterre
@ 2018-05-28 20:15     ` Richard Weinberger
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Weinberger @ 2018-05-28 20:15 UTC (permalink / raw)
  To: Mathieu Malaterre
  Cc: MIPS Creator CI20 Development, linux-mtd, boris.brezillon

Mathieu,

Am Freitag, 25. Mai 2018, 12:12:02 CEST schrieb Mathieu Malaterre:
> > No. MLC is simply not supported and not safe to use.
> > With that commit we reflect the state of the code and stop giving wrong promises.
> 
> ACK. Would you recommend an alternate filesystem then ?

There is none.

One option you have is putting the MLC NAND into SLC mode, some support this.
This needs to be achieved by a vendor specific command which is often undocumented.

Boris and I experimented also with software SLC mode in UBI.
If you want you can revive our work.
 
> > I can hardly believe that it has been working great so far, did you
> > ever do power-cut tests?
> > Or are there other mechanisms on your board that make MLC usable by UBI?
> > For example SLC-emulation.
> 
> Looking quickly at the tech specs:
> 
> https://www.elinux.org/CI20_Hardware#ROM.2FNAND
> 
> ...
> Is provided by a single Samsung K9GBG08UOA NAND flash, using an 8bit
> data interface to the SoC.
> ...
> 
> So my understanding is that "it just worked" so far. I've tried
> contacting some of the people involved with the design of CI20 to get
> confirmation.

"just worked" in terms of nobody gave it a decent testing, I fear. ;-\

Thanks,
//richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-28 20:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-24 19:28 ubi: refuse attaching mtd3 - MLC NAND is not supported Mathieu Malaterre
2018-05-24 19:42 ` Richard Weinberger
2018-05-25 10:12   ` Mathieu Malaterre
2018-05-28 20:15     ` Richard Weinberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox