Skip to main content
Topic: shasum of winbond 25x40 (Read 364 times) previous topic - next topic

shasum of winbond 25x40

curious if anyone could provide a shasum of the winbond 25x40 on the open bench logic sniffer?

i did two different dumps using flashrom on macos with a bus pirate.

1. i hooked up a SOIC clip to the physical winbond chip
2. i soldered a header to the SPI pin outs just above the winbond chip

i was able to get identical sha256 sums using flashrom and using the two different connections.

as i understand the winbond contains the bootloader for the pic and then the pic loads the code for the fpga (please correct me if i have this wrong)

i'm curious what other people's sha sums are for this device, as it would be reassuring that i am indeed getting the proper contents of the winbond chip. something i have failed to find is the physical binary blob or hex file that can be loaded to the chip, all i've come across are "FW" utilities that seem correspond to the PIC microcontroller, but  i haven't see any utilities related to the boot loader only a page about how some of the boards were shipped without a bootloader and how one could be loaded using a windows utility and the headers on the bottom side of the board with the lables PSC,PGD,etc,etc.

i'll poke around in that windows utility and see if there is a physical bin that it uses to upload data to the winbond chip but other than that i don't know where i should be looking.

the sha256 sums i got from using the bus pirate are

Code: [Select]
88996dbb2537b4aac849b2cf5be2d65c2646ceb08cf2c375dbde5441825dfc6a
88996dbb2537b4aac849b2cf5be2d65c2646ceb08cf2c375dbde5441825dfc6a

the first sha came from the header, the 2nd came from using the SOIC clip.
also known as ipatch on these forums, account got locked out during the upgrade 🤷‍♂️
...shit happens

 

Re: shasum of winbond 25x40

Reply #1
A few months passed, I hope you have not forgotten your post!

The last package for OLS that I have found is version 3.0.8 in this link:
http://www.gadgetfactory.net/logicsniffer/index.php?n=LogicSniffer.Download
I use linux so download the Linux Expert what does not Include JRE

There are two executables, one (fw_update) to update the PIC18FJ50 firmware and the other (ols-loader) to update
the W25X40VB memory with the synthesis for the FPGA.

In Linux, USB devices of the standard communication class are created with the name /dev/ACM*
To see the current state of OLS, 00 = OK

Hold down the UPDATE button, then press the RESET button, now release both, the ACT led will turn on steady.
Enter bootloader mode.

Code: [Select]
$ ./ols-loader -p:/dev/ttyACM0 -boot
Logic Sniffer ROM loader v0.3 (November 9, 2010)
Opening serial port '/dev/ttyACM0' @ 921600 ... OK
Found OLS HW: 1, FW: 3.0, Boot: 2
Found flash: WINBOND W25X40
OLS switched to bootloader mode

USB ID should change from 04d8: fc92 to 04d8: fc90

Code: [Select]
$ lsusb
Bus 007 Device 041: ID 04d8:fc92 Microchip Technology, Inc. Open Bench Logic Sniffer
$ lsusb
Bus 007 Device 063: ID 04d8:fc90 Microchip Technology, Inc. Diolan
Code: [Select]
$ ./ols-loader -p:/dev/ttyACM0 -status
Logic Sniffer ROM loader v0.3 (November 9, 2010)
Opening serial port '/dev/ttyACM0' @ 921600 ... OK
Found OLS HW: 1, FW: 3.0, Boot: 2
Found flash: WINBOND W25X40
OLS status: 00
To self-test and see the hardware versions of the OLS board and the firmware in the pic.

Code: [Select]
$ ./ols-loader -p:/dev/ttyACM0 -selftest
Logic Sniffer ROM loader v0.3 (November 9, 2010)
Opening serial port '/dev/ttyACM0' @ 921600 ... OK
Found OLS HW: 1, FW: 3.0, Boot: 2
Found flash: WINBOND W25X40
done...
Passed self-test :)

Update the firmware of the PIC15FJ50 to the latest version available which is v3.0
Code: [Select]
$ ./fw_update -e -w -m flash -vid 0x04D8 -pid 0xFC90 -ix OLSv1.firmware.v3.0.hex
U2IO flash erasing: DONE.
U2IO flash programming: DONE.
RESET Device
Operation successfully completed.


Update the W25X40VB memory with the latest version of the available synthesis, for the Xilinx Spartan-3E 250 FPGA, which is v3.0.7.
Hold down the UPDATE button, then press the RESET button, now release both, the ACT led will turn on steady.
Code: [Select]
$ ./ols-loader -write -erase -p:/dev/ttyACM0 -wB:logic_sniffer_3.07-Demon-Core.bit
Logic Sniffer ROM loader v0.3 (November 9, 2010)
Opening serial port '/dev/ttyACM0' @ 921600 ... OK
Found OLS HW: 1, FW: 3.0, Boot: 2
Found flash: WINBOND W25X40
Chip erase ... done :)
Reading BIN file 'logic_sniffer_3.07-Demon-Core.bit' ... OK! (binary size = 169314)
Will write 662 pages
Page 0x0000 write ... (0x0000 0x0000)OK
Page 0x0001 write ... (0x0000 0x0001)OK
....
....
Page 0x0294 write ... (0x0002 0x0094)OK
Page 0x0295 write ... (0x0002 0x0095)OK


Gets a current copy of memory.
Code: [Select]
$ ./ols-loader -read -p:/dev/ttyACM0 -rB:backup-current-logic_sniffer-Demon-Core.bit
Logic Sniffer ROM loader v0.3 (November 9, 2010)
Opening serial port '/dev/ttyACM0' @ 921600 ... OK
Found OLS HW: 1, FW: 3.0, Boot: 2
Found flash: WINBOND W25X40
Will read 1024 pages
Page 0x0000 read ... OK
Page 0x0001 read ... OK
....
....
Page 0x03fe read ... OK
Page 0x03ff read ... OK
Writing BIN file 'backup-current-logic_sniffer-Demon-Core.bit' ... done!

Code: [Select]
$ ls -l backup-current-logic_sniffer-Demon-Core.bit
-rw-r--r-- 1 user user 262144 feb 20 04:11 backup-current-logic_sniffer-Demon-Core.bit

As you can see, the sha256sum are not the same, does the pic provide something to modify it, maybe a checksum or CRC or something like that?
Code: [Select]
$ sha256sum backup-current-logic_sniffer-Demon-Core.bit 
e16ede2e14eed7f4fdff321d02c894d0778ab1f4766e7139473753fcbd99e69f  backup-current-logic_sniffer-Demon-Core.bit

$ sha256sum logic_sniffer_3.07-Demon-Core.bit
bbe2ed55a44bb0e6acc4eb1aa814cc96328542fdcd480b324eca9d212a0bafdd  logic_sniffer_3.07-Demon-Core.bit

I have removed the memory from the board and read it with the buspirate V3.5C.
Code: [Select]
$ flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -c "W25X40" -r buspirate-V3.5C-OLS-V1.04-original-00.bin
Found Winbond flash chip "W25X40" (512 kB, SPI) on buspirate_spi.
Reading flash... done.

$ sha256sum buspirate-V3.5C-OLS-V1.04-original-00.bin
1b98a7d77e63e33292c99abf57a5753f1274a3eb6b5f98243218b95fbc5b4742  buspirate-V3.5C-OLS-V1.04-original-00.bin

Observe that it reports with sigrock-cli.
Code: [Select]
$ sigrok-cli --driver ols:conn=/dev/ttyACM0 --scan
The following devices were found:
ols - Open Logic Sniffer v1.01 FPGA version 3.07 with 32 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Code: [Select]
$ sigrok-cli --driver ols:conn=/dev/ttyACM0 --show
Driver functions:
    Logic analyzer
Scan options:
    conn
    serialcomm
ols - Open Logic Sniffer v1.01 FPGA version 3.07 with 32 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Supported configuration options:
    Maximum number of samples: 0
    samplerate (10 Hz - 200 MHz in steps of 1 Hz)
    Supported triggers: 0 1
    captureratio: 0 (current)
    external_clock: on, off
    pattern: None (current), External, Internal
    swap: on, off
    rle: on, off (current)

Everything will depend on what version you have in your OLS to be able to compare with this data.
Greetings.