Regarding
fx2tool, it uses libusb for communication with the fx2 mcu.
In Windows you need to use
zadig to apply the WINusb driver to your usb device (unless already using it), as libusb uses winusb on windows.
Zadig is included with PulseView for Windows, so you should have it already.
Once that is done, you will need the VID:PID of your device from Device Manager (right click on device > Properties > Details > Hardware IDs)
Install fx2tool at the dos command line and view help info:
C:\Work> pip3 install fx2
C:\Work> py -m fx2.fx2tool --help
Then you can use the python fx2tool to write the eeprom (example below VID:PID is 04b4:8613 and has eeprom device with one address byte -W 1, writes hex data given above)
C:\Work> py -m fx2.fx2tool -B -d 04b4:8613 write_eeprom -W 1 -a 0 -d C0250981380100007D2C5D848E2CE2A3
..hmm, or maybe you should use the saleae.hex to ensure other locations are erased to 0xFF:
C:\Work> py -m fx2.fx2tool -B -d 04b4:8613 write_eeprom -W 1 -a 0 -F saleae.hex
Read back eeprom data, assuming eeprom size of 256 bytes:
C:\Work> py -m fx2.fx2tool -B -d 04b4:8613 read_eeprom -W 1 0 256
The above are just a guess, your command line options will be similar to, or maybe the same as above.
Then replug.
Maybe the VID:PID has changed. Maybe not.
You need to ensure the OEM driver is used now, not winusb/libusb (i.e. if it is still assigned to winusb/libusb, right-click on device and uninstall driver).
Unless of course the oem is using winusb anyway, then it doesn't matter.
Edit: JAN24 the fx2 pip package
is out of date and needs this fix:
https://github.com/whitequark/libfx2/commit/82d154153f548b29b1be60f1c11d7a5bc102486dYou can manually fix that, line 352 in fx2tool.py.
On Windows, pip keeps the fx2 package here:
C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\fx2
Edit: JAN24 pip package now updated, so you should get the latest versionpip install fx2 --upgrade