VIA VL80x USB 3 PCI-E Firmware Utility (Code 10 error)

Flashing tool including the latest 3 firmware FW0138c0 - FW0138a1 - FW0137ad

The flashing tool don’t work in latest windows 10 and 11 because the certificate is revoked.

I am using it on Windows 11 working fine, probably i have whatever needed to check the certificate disabled or something

Can anyone help me find out the correct config for my card? I am unable to piece it all together how to change the ini file.

The SPI my card is using is labeled:
T25S40
PB21F1
PPE912

(H&M Semiconductor) HM25Q40A (T25S40/20)

Thanks for the fast response. However, I fear this is too difficult for me. I tried wrapping my head around it, but with no luck. Appreciate your help though.

You should try to modify SpiFlash.ini and add these entries.

[FlashType]
27=HM25Q40A

[HM25Q40A]
FlashID=
ReadID=03
WriteEnable=06
WriteStatus=01
ChipErase=C7
ReadData=03
ReadStatus=05
PageProgram=02
ClockRate=32
PageSize=100

Thanks for the suggestion. I just tried it out, but sadly did not work. However I was a bit suprised by the result the flashing tool gave, apparently the SPI was recognized as number 23 (ZB25D40B). Do you know what is going on? I also tried to remove the entry 23, but then the tool just said it is an unknown SPI and of course failed as well.

Targeted VID = 1106
Targeted PID = 3483
 
ISP file size: 24246(DW)

FW file = 013705.bin
VL805/VL806 is found.
Bus=3, Dev=0, Func=0
, Chip Verision=B1
 
Match gFlashType No. = 23, FlashType = ZB25D40B

spi erase

pageSizeDW = 64

wait while programming...

ERROR:(0x00002000) read dword 0xffffffff!= write dword 0x08f09020!!!!

Update ISP Fail!

It seems that you need to find the correct data for the chip.
Both HM25Q40A and ZB25D40B are similar.
First try changing the ReadID=03 to ReadID=9F.

Or try something new like this:

[FlashType]
27=T25S40

[T25S40]
FlashID=
ReadID=9F
WriteEnable=06
WriteStatus=01
ChipErase=C7
ReadData=03
ReadStatus=05
PageProgram=02
ClockRate=32
PageSize=100

If that does not work then you will have to do the trial and error yourself.

Main problem with these cards, is VIA upgrading utility, its crap… there is not any confirmation or check before, firmware is upgrade and if specific chip settings is not found, it erase flash memory! and try to flash it with default setting, which make controller half dead - not working, it showing in device manager, is able to be flashed again, but can work for USB device.

Funny thing is that it makes flash backup file, but its unable to flash it back.

There my 1 half bricked controller VIA 805/806 chip / other has too old firmware with , they both using chips which are not, even in last firmware updater, which i have found here:

I seems to found datasheet for my chips. Im unable to create magic numbers for them, i never had to understand such chips… I need help from someone who does.

In attachment are both controller photos and datasheets to chips, which i identified on boards. Some chip could have only different name, that is search by ulity *.ini file…

Here is example of chip blocks, for already supported chips:
[AT25F512A]
FlashID=1F65
ReadID=15

WriteEnable=06
WriteStatus=01
ChipErase=62
ReadData=03
ReadStatus=05
PageProgram=02
ClockRate=32
PageSize=80

Some values like ChipErase and Read Data, ReadStatus etc… seems to be contants and same for all chips, or there is only few simple values, to test all, but others has to be found in the datasheets…
And simple search for ClockRate, PageSize, PageProgram give me not simple, clear results but some low level wall of texts which i dont easy understand.

Im also not sure, if possible to use alternative utility or if this one has some command line interface for testing compatibility without erasing flash memory.

Datasheets+photos:
https://www.dropbox.com/scl/fi/1fsmptr23nc623041tgn4/USB3-ControllersFofrwareUpgrading.zip?rlkey=46hje5lpdq4a61odk6a1rts6c&dl=0