* MT25Q Advanced Sector Protection support
@ 2021-04-15 9:20 Stefan Roese
2021-04-15 9:40 ` Tudor.Ambarus
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Roese @ 2021-04-15 9:20 UTC (permalink / raw)
To: linux-mtd, Tudor Ambarus, Miquel Raynal
Hi,
I'm right now working on a board equipped with an MT25QU128ABA1ESE.
And after doing some intensive QSPI NOR tests, one sector (at 0x40000)
seems to be permanently locked. The normal unlocking does not seem to
help:
# flash_eraseall -u /dev/mtd0
flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please
use it
Erasing 64 Kibyte @ 40000 -- 22 % complete libmtd: error!: MEMERASE64
ioctl failed for eraseblock 4 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 64 Kibyte @ 110000 -- 100 % complete
My best guess right now is that somehow the nonvolatile locking via the
advanced sector protection is active and locking this sector.
Does anyone have some ideas on how to continue here? Is there some
ongoing work to support the Micron advanced sector protection in Linux?
Or did I miss something trivial perhaps?
Thanks,
Stefan
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: MT25Q Advanced Sector Protection support
2021-04-15 9:20 MT25Q Advanced Sector Protection support Stefan Roese
@ 2021-04-15 9:40 ` Tudor.Ambarus
2021-04-15 9:44 ` Stefan Roese
0 siblings, 1 reply; 4+ messages in thread
From: Tudor.Ambarus @ 2021-04-15 9:40 UTC (permalink / raw)
To: sr, linux-mtd, miquel.raynal
On 4/15/21 12:20 PM, Stefan Roese wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hi,
Hi,
>
> I'm right now working on a board equipped with an MT25QU128ABA1ESE.
> And after doing some intensive QSPI NOR tests, one sector (at 0x40000)
> seems to be permanently locked. The normal unlocking does not seem to
> help:
>
> # flash_eraseall -u /dev/mtd0
have you tried to unlock it before erasing? You can use flash_unlock.
> flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please
> use it
> Erasing 64 Kibyte @ 40000 -- 22 % complete libmtd: error!: MEMERASE64
> ioctl failed for eraseblock 4 (mtd0)
> error 5 (Input/output error)
> flash_erase: error!: /dev/mtd0: MTD Erase failure
> error 5 (Input/output error)
> Erasing 64 Kibyte @ 110000 -- 100 % complete
>
> My best guess right now is that somehow the nonvolatile locking via the
> advanced sector protection is active and locking this sector.
>
> Does anyone have some ideas on how to continue here? Is there some
If it's indeed about the individual block protection, you'll have to
read the register that describes which registers are locked.
> ongoing work to support the Micron advanced sector protection in Linux?
I'm adding support for individual block protection on sst26 flashes,
which should be similar.
Cheers,
ta
> Or did I miss something trivial perhaps?
>
> Thanks,
> Stefan
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: MT25Q Advanced Sector Protection support
2021-04-15 9:40 ` Tudor.Ambarus
@ 2021-04-15 9:44 ` Stefan Roese
2021-04-15 10:05 ` Tudor.Ambarus
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Roese @ 2021-04-15 9:44 UTC (permalink / raw)
To: Tudor.Ambarus, linux-mtd, miquel.raynal
Hi Tudor,
On 15.04.21 11:40, Tudor.Ambarus@microchip.com wrote:
> On 4/15/21 12:20 PM, Stefan Roese wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> Hi,
>
> Hi,
>
>>
>> I'm right now working on a board equipped with an MT25QU128ABA1ESE.
>> And after doing some intensive QSPI NOR tests, one sector (at 0x40000)
>> seems to be permanently locked. The normal unlocking does not seem to
>> help:
>>
>> # flash_eraseall -u /dev/mtd0
>
> have you tried to unlock it before erasing? You can use flash_unlock.
IIUTC, the "-u" parameter in eraseall should provide this unlocking as
well. But hey, I also tried "flash_unlock" without any success. I assume
that this command unlocks all sectors in the MTD device automatically.
>> flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please
>> use it
>> Erasing 64 Kibyte @ 40000 -- 22 % complete libmtd: error!: MEMERASE64
>> ioctl failed for eraseblock 4 (mtd0)
>> error 5 (Input/output error)
>> flash_erase: error!: /dev/mtd0: MTD Erase failure
>> error 5 (Input/output error)
>> Erasing 64 Kibyte @ 110000 -- 100 % complete
>>
>> My best guess right now is that somehow the nonvolatile locking via the
>> advanced sector protection is active and locking this sector.
>>
>> Does anyone have some ideas on how to continue here? Is there some
>
> If it's indeed about the individual block protection, you'll have to
> read the register that describes which registers are locked.
Yes, I'm digging into it right now. ;)
>> ongoing work to support the Micron advanced sector protection in Linux?
>
> I'm adding support for individual block protection on sst26 flashes,
> which should be similar.
Do you by any chance have a WIP version to share, so that I could base
my work on this?
Thanks,
Stefan
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: MT25Q Advanced Sector Protection support
2021-04-15 9:44 ` Stefan Roese
@ 2021-04-15 10:05 ` Tudor.Ambarus
0 siblings, 0 replies; 4+ messages in thread
From: Tudor.Ambarus @ 2021-04-15 10:05 UTC (permalink / raw)
To: sr, linux-mtd, miquel.raynal
On 4/15/21 12:44 PM, Stefan Roese wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hi Tudor,
>
> On 15.04.21 11:40, Tudor.Ambarus@microchip.com wrote:
>> On 4/15/21 12:20 PM, Stefan Roese wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> Hi,
>>
>> Hi,
>>
>>>
>>> I'm right now working on a board equipped with an MT25QU128ABA1ESE.
>>> And after doing some intensive QSPI NOR tests, one sector (at 0x40000)
>>> seems to be permanently locked. The normal unlocking does not seem to
>>> help:
>>>
>>> # flash_eraseall -u /dev/mtd0
>>
>> have you tried to unlock it before erasing? You can use flash_unlock.
>
> IIUTC, the "-u" parameter in eraseall should provide this unlocking as
oh yes, I missed that.
> well. But hey, I also tried "flash_unlock" without any success. I assume
> that this command unlocks all sectors in the MTD device automatically.
yes, this is what I would expect.
>
>>> flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please
>>> use it
>>> Erasing 64 Kibyte @ 40000 -- 22 % complete libmtd: error!: MEMERASE64
>>> ioctl failed for eraseblock 4 (mtd0)
>>> error 5 (Input/output error)
>>> flash_erase: error!: /dev/mtd0: MTD Erase failure
>>> error 5 (Input/output error)
>>> Erasing 64 Kibyte @ 110000 -- 100 % complete
>>>
>>> My best guess right now is that somehow the nonvolatile locking via the
>>> advanced sector protection is active and locking this sector.
>>>
>>> Does anyone have some ideas on how to continue here? Is there some
>>
>> If it's indeed about the individual block protection, you'll have to
>> read the register that describes which registers are locked.
>
> Yes, I'm digging into it right now. ;)
>
>>> ongoing work to support the Micron advanced sector protection in Linux?
>>
>> I'm adding support for individual block protection on sst26 flashes,
>> which should be similar.
>
> Do you by any chance have a WIP version to share, so that I could base
> my work on this?
The sst26 individual block protection is vendor specific, has some read and
write locking features, the individual block protection is discovered by
parsing a vendor specific table, etc. My implementation will reside in sst.c.
You have to check if the Individual Block Protection scheme supported by
micron is used by other vendors as well, and if yes, the code should
reside in swp.c. Similar flash support, but different implementations.
I have 2 patches at:
To https://github.com/ambarus/linux-0day.git
* [new branch] spi-nor/next-sst26-locking -> spi-nor/next-sst26-locking
Cheers,
ta
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-15 10:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 9:20 MT25Q Advanced Sector Protection support Stefan Roese
2021-04-15 9:40 ` Tudor.Ambarus
2021-04-15 9:44 ` Stefan Roese
2021-04-15 10:05 ` Tudor.Ambarus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).