I built flashrom from commit 7b8b945a004ba69529fe0283ad18a40ee34255bd
I was able to read firmware from my pci card.
I don't have an original firmware (version 013600) to compare it to but it looks legit:
cmp -l vl805_fw_013600.bin vl805_fw_013701.bin | head 130 40 41 131 256 245 133 42 43 134 340 147 151 214 374 172 74 303 178 166 346 180 43 44 181 202 11 241 42 41
flashrom dumps the whole 512KB of FM25Q04 using generic SPI.
Comparing other official firmware my guess is the layout(?) for this firmware should be: 0:17AD7 FW013600
i'M keeping track of firmware on https://github.com/jpmorrison/VL805/tree/main/firmware
flashrom unknown on Linux 4.15.0-130-generic (x86_64) flashrom was built with libpci 3.5.2, GCC 7.5.0, little endian Command line (7 args): ./flashrom -VV --programmer vl805 -r test.img -o test.log Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Initializing vl805 programmer Found "VIA VL805" (1106:3483, BDF 01:00.0).
...
SFDP has autodetected a flash chip which is not natively supported by flashrom yet. All standard operations (read, verify, erase and write) should work, but to support all possible features we need to add them manually. You can help us by mailing us the output of the following command to flashrom@flashrom.org: 'flashrom -VV [plus the -p/--programmer parameter]' Thanks for your help! === Found Unknown flash chip "SFDP-capable chip" (512 kB, SPI) on vl805. Probing for AMIC unknown AMIC SPI chip, 0 kB: compare_id: id1 0xa1, id2 0x4013 Probing for Atmel unknown Atmel SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Eon unknown Eon SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Macronix unknown Macronix SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for PMC unknown PMC SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for SST unknown SST SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for ST unknown ST SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Generic Variable Size SPI chip, 64 kB: Probing for Generic unknown SPI chip (RDID), 0 kB: RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00 Probing for Generic unknown SPI chip (REMS), 0 kB: compare_id: id1 0xa1, id2 0x12 Found Unknown flash chip "SFDP-capable chip" (512 kB, SPI). Block protection is disabled. Reading flash... done.