Purpose
To upgrade the BIOS on the FWA-2320, the open-source utility called flashrom was utilized. This article will explain how to use this utility on an Ubuntu 14.04.6 LTS-based OS and guide users on resolving the "chipset detection issue" encountered with older versions of flashrom.
Target Audience
Users who need to flash BIOS on FWA-2320
Minimum requirement
- Advantech hardware FWA-2320
- Linux based OS (here we took ubuntu 14.04.6 LTS as an example
Steps:
1. On Ubuntu 14.04.6 , user may got flashrom installed via apt-get install flashrom. But flashrom v0.9.6 is too old to complete BIOS upgrade on FWA-2320
$ sudo flashrom -w <BIOS.bin> -p internal
flashrom v0.9.6.1-r1563 on Linux 4.4.0-142-generic (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
WARNING: No chipset found. Flash detection will most likely fail.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
2. Upgrade flashrom to newer version is highly recommended, here we take the latest version flashrom v1.1 as an example
3. Download latest flashrom v1.1 from following website , we get "flashrom-v1.1.tar.bz2"
https://www.flashrom.org/Flashrom/1.1
4. Before compiling the packages, plz make sure following lib or others from the message during compile were installed.
# apt install make
# apt install gcc
# apt install libpci-dev
# apt install libusb-dev
# apt install libusb-1.0-0-dev
# others, which were reported during you compile the packages
5. Decompress the package and run "make" command to compile the source
# tar xvf flashrom-v1.1.tar.bz2
# cd flashrom-v1.1/
# make
6. If everything went well, the flashrom (new) should be in folder flashrom-v1.1
[root@ubuntu:~flashrom-v1.1]# ./flashrom -V
flashrom v1.1 on Linux 3.16.0-77-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
flashrom was built with libpci 3.2.1, GCC 4.8.4, little endian
Command line (1 args): ./flashrom -V
Please select a programmer with the --programmer parameter.
Previously this was not necessary because there was a default set.
To choose the mainboard of this computer use 'internal'. Valid choices are:
internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, atavia,
it8212, serprog, buspirate_spi, dediprog, developerbox, rayer_spi, pony_spi,
nicintel, nicintel_spi, nicintel_eeprom, ogp_spi, satamv, linux_mtd, linux_spi,
pickit2_spi, ch341a_spi, digilent_spi.
[root@ubuntu:~flashrom-v1.1]#
7. Update BIOS with new flashrom and reboot
root@ubuntu:~flashrom-v1.1]# ./flashrom -w <BIOS.bin> -p internal
flashrom v1.1 on Linux 3.16.0-77-generic (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 Avoton/Rangeley".
Enabling flash write... SPI Configuration is locked down.
OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x 00000000ff800000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
[root@ubuntu:~flashrom-v1.1]# reboot
Comments
0 comments
Please sign in to leave a comment.