[flashrom] Issue with internal access to the W39V040FB

Andrey Korolyov andrey at xdel.ru
Fri Jan 15 15:33:00 CET 2016


On Sun, Jan 3, 2016 at 9:44 PM, Andrey Korolyov <andrey at xdel.ru> wrote:
>> Hi Andrey,
>>
>> please post complete logs of a working and non-working probe as well as
>> the exact flashrom version you are using. The output of lspci -nnv
>> might become handy as well.
>>
>
>
> Thanks Stefan,
>
> even giving out a fact that I am very lucky to hit very twisted issues
> at all, this time it looks like chip eventually stopped to respond via
> an appropriate interface (slight voltage change? bit-flip during a
> board initialization? lack of a probe delay? ), so I think that the
> initial report could be incorrect, as the flash is not responding
> anymore even where is was supposed to. Nevertheless, the appropriate
> log and lspci output are attached, please take a look on them if they
> could be helpful.

Got an another sample of the same board, because original was died
from overheating during EEPROM resoldering procedure. Internal WRITE
effectively bricked a board over cold reboot but I finally obtained
logs with some possible usefulness. Should I check same random
behavior as I reported previously after reflashing the chip
externally? Unfortunate to me, the board layout strictly requires chip
desoldering before I would be able to program it with anything,
in-place attempts are failing even with external power source, but
when de-soldered, chip flashes just perfectly via Minipro.
-------------- next part --------------
flashrom v0.9.7-r1711 on NetBSD 7.0 (i386)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.3.0, GCC 4.8.4, little endian
Command line (7 args): flashrom -p internal:laptop=this_is_not_a_laptop -c W39V040FB -r bios.bin -V
Calibrating delay loop... OS timer resolution is 5 usecs, 166M loops per second, 10 myus = 14 us, 100 myus = 105 us, 1000 myus = 1004 us, 10000 myus = 10042 us, 20 myus = 24 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: ""
DMI string system-product-name: ""
DMI string system-version: ""
DMI string baseboard-manufacturer: ""
DMI string baseboard-product-name: ""
DMI string baseboard-version: ""
DMI string chassis-type: ""
DMI chassis-type is not specific enough.
Found Winbond Super I/O, id 0x52
========================================================================
WARNING! You may be running flashrom on an unsupported laptop. We could
not detect this for sure because your vendor has not setup the SMBIOS
tables correctly. You can enforce execution by adding
'-p internal:laptop=this_is_not_a_laptop' to the command line, but
please read the following warning if you are not sure.

Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
Found chipset "AMD CS5536" with PCI ID 1022:2080. Enabling flash write... No MSR support for your OS yet.
FAILED!
Warning: unexpected second chipset match: "AMD CS5536"
ignoring, please report lspci and board URL to flashrom at flashrom.org
with 'CHIPSET: your board name' in the subject line.
The following protocols are supported: Non-SPI.
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xda, id2 0x54
Found Winbond flash chip "W39V040FB" (512 kB, FWH) at physical address 0xfff80000.
Lockout bits:
Hardware bootblock locking (#TBL) is not active.
Hardware remaining chip locking (#WP) is not active..
Lock status of block at 0x00000000 is Full Access.
Lock status of block at 0x00010000 is Full Access.
Lock status of block at 0x00020000 is Full Access.
Lock status of block at 0x00030000 is Full Access.
Lock status of block at 0x00040000 is Full Access.
Lock status of block at 0x00050000 is Full Access.
Lock status of block at 0x00060000 is Full Access.
Lock status of block at 0x00070000 is Full Access.
Lockout bits:
Hardware bootblock locking (#TBL) is not active.
Hardware remaining chip locking (#WP) is not active..
Reading flash... done.
-------------- next part --------------
flashrom v0.9.7-r1711 on NetBSD 7.0 (i386)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.3.0, GCC 4.8.4, little endian
Command line (7 args): flashrom -p internal:laptop=this_is_not_a_laptop -c W39V040FB -w coreboot.rom -V
Calibrating delay loop... OS timer resolution is 5 usecs, 166M loops per second, 10 myus = 15 us, 100 myus = 104 us, 1000 myus = 1004 us, 10000 myus = 10021 us, 20 myus = 24 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: ""
DMI string system-product-name: ""
DMI string system-version: ""
DMI string baseboard-manufacturer: ""
DMI string baseboard-product-name: ""
DMI string baseboard-version: ""
DMI string chassis-type: ""
DMI chassis-type is not specific enough.
Found Winbond Super I/O, id 0x52
========================================================================
WARNING! You may be running flashrom on an unsupported laptop. We could
not detect this for sure because your vendor has not setup the SMBIOS
tables correctly. You can enforce execution by adding
'-p internal:laptop=this_is_not_a_laptop' to the command line, but
please read the following warning if you are not sure.

Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
Found chipset "AMD CS5536" with PCI ID 1022:2080. Enabling flash write... No MSR support for your OS yet.
FAILED!
Warning: unexpected second chipset match: "AMD CS5536"
ignoring, please report lspci and board URL to flashrom at flashrom.org
with 'CHIPSET: your board name' in the subject line.
The following protocols are supported: Non-SPI.
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xda, id2 0x54
Found Winbond flash chip "W39V040FB" (512 kB, FWH) at physical address 0xfff80000.
Lockout bits:
Hardware bootblock locking (#TBL) is not active.
Hardware remaining chip locking (#WP) is not active..
Lock status of block at 0x00000000 is Full Access.
Lock status of block at 0x00010000 is Full Access.
Lock status of block at 0x00020000 is Full Access.
Lock status of block at 0x00030000 is Full Access.
Lock status of block at 0x00040000 is Full Access.
Lock status of block at 0x00050000 is Full Access.
Lock status of block at 0x00060000 is Full Access.
Lock status of block at 0x00070000 is Full Access.
Lockout bits:
Hardware bootblock locking (#TBL) is not active.
Hardware remaining chip locking (#WP) is not active..
coreboot last image size (not ROM size) is 524288 bytes.
Manufacturer: AMD
Mainboard ID: GX3
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x00ffff:S, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:EFAILED at 0x00040000! Expected=0xff, Found=0xae, failed byte count from 0x00040000-0x0004ffff: 0x4ee6
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
Trying erase function 1... 0x000000-0x07ffff:EFAILED at 0x00000000! Expected=0xff, Found=0x5f, failed byte count from 0x00000000-0x0007ffff: 0x365e7
ERASE FAILED!
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything changed.
Good. It seems nothing was changed.
Writing to the flash chip apparently didn't do anything.
This means we have to add special support for your board, programmer or flash
chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom at flashrom.org, thanks!
-------------------------------------------------------------------------------
You may now reboot or simply leave the machine running.


More information about the flashrom mailing list