VPD error with stock rom

This is on stock ROM on multiple boards in the past few weeks. Not sure if it’s due to an update or just a coincidence but thought this would be the best place to ask.

Getting the following error when trying to modify VPD on ChromeOS. WP is disabled.

Warning vpd: [flashrom.cc(46)] At least some flash regions are read protected. You have to use a flash layout and include only accessible regions. For write operations,

You’ll additionally need the –noverify-all switch. See manpage for more details”

“2023-05-03T01: 43:13.272346Z error vpd:[flashrom.cc(48)} read_flashRoby(0xf7f000…0xffffff)

I know with flashrom, you can specify the region with --ifd -i bios, but not sure if this is possible with VPD. I imagine reading with flashrom, modifying the file with VPD, then writing is an option but if anyone knows why this is happening and if there is a way to fix with only using VPD that would be much appreciated!

what command are you running?

the VPD can be modified on a live system using the vpd command.

flashrom can read/modify FMAP regions using the --fmap -i <region> param, eg sudo flashrom -p internal -r --fmap -i RO_VPD:vpd.bin

1 Like

Thank you, I wasn’t aware you could read only the vpd region with flashrom.

However, do you know why I am getting an error when attempting to write the file?

well, the error is pretty explicit - the file size doesn’t match the region to which you are trying to write it. The RO_VPD region / vpd.bin file should be 16kb (16384 bytes). Is the fille 16k after reading via flashrom?

But again, why are you reading via flashrom when you can simply run vpd -s "serial_number"="newserial" and not have to deal with explicit reads/writes?

Also, that screen/device is crying out for a good dusting/wipe down =D

I get the error from my original post when I use vpd -s

And my Drawlat likes to be dirty :laughing:

I don’t see any error in the original post, only a warning.

I was helping someone remotely and they swore it wasn’t actually working, but you’re right it was just a warning and it is indeed changing with vpd -s

1 Like

I noticed today that this vpd warning appears after a recent update to ChromeOS. Everything still works, but the warning displays each time.

@MrChromebox do you know why it warns “cannot read inside Device Expansion Region” and what Device Expansion region is? Like I said z everything still works but I just want to understand what’s happening if possible.

it’s a spurious flashrom warning. Device Expansion Region is part of the flashmap on certain platform devices (usually older small core ones, APL/GLK)

Ok I’ve noticed it mostly on fleex so that makes sense. Even though it works I’ve had many people tell me the command stopped working so that’s been fun haha