Hello from France,

I have been trying to perform Bios updates on many (old) computers this last days and I am facing an issue with the AT25DF641(A) chip (like in this intersting post https://www.mail-archive.com/flashrom@flashrom.org/msg07475.html but I did not find the answer I was looking for).


The full story :
I am replacing some very old blades by some others (very old too) I had as spare parts.
As they are spare parts, they have never been used, and so they come with a very very old Bios version (which has known bugs).

These blades are :
System Information
Manufacturer: INSYDE
Product Name: Thurley
Version: Thurley.3.59.48.0028_BUILD_NCB_N0016

Back in 2011, when they have been shipped, they were used with RedHat 5.x and we were using a closed source software from Insyde to update the Bios.
This software used a kernel module, so, as you have already understood, it is not working any more on modern Linux sources.

So, I have two choices here :
- use a recent flash tool, like flashrom
- create a Redhat 5 PXE Boot image and try to use the old software

The easy way is the first one of course.
So I downloaded the source from git, extracted a tar.gz file, compile and tried it.

It worked very well on the first blade (reading try) :
[root@compute67 flashrom]# ./flashrom --programmer internal -r /dev/null
flashrom v1.2-57-g6f793e4 on Linux 3.10.0-1062.12.1.el7.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found chipset "Intel ICH10".
Enabling flash write... OK.
Found Atmel flash chip "AT25DF321" (4096 kB, SPI) mapped at physical address 0x00000000ffc00000.
Reading flash... done.
[root@compute67 flashrom]#

The write part went fine too, and the blade rebooted properly with the latest Bios version.


Second blade's flash try was different.
It uses a AT25DF641(A) chip instead of a AT25DF321.
The image size is 8MB instead of 4MB.

Looking at flashrom Wiki both are handled well and should be able to be flashed.

Reading test :
[root@compute63 flashrom]# ./flashrom --programmer internal -r /dev/null
flashrom v1.2-57-g6f793e4 on Linux 3.10.0-1062.18.1.el7.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found chipset "Intel ICH10".
Enabling flash write... Warning: Setting BIOS Control at 0xdc from 0x02 to 0x01 failed.
New value is 0x02.
OK.
Found Atmel flash chip "AT25DF641(A)" (8192 kB, SPI) mapped at physical address 0x00000000ff800000.
Ignoring security lockdown (if present)
Reading flash... done.
[root@compute63 flashrom]#

I decided to flash it any way (because I have spare parts), and got a nice Brick (black screen after power on, nothing to do).


So, as I have a lot of blades using this AT25DF641A chip, is there a way to flash it properly (because it is reported to be working in the wiki) or should I carry on trying to create a RHEL5 PXE image and use the old tool ?

Thanks for your answers,
Lionel