Bug 1

Summary: Support Cypress FX2 (not FX2LP) devices too
Product: libsigrok Reporter: Uwe Hermann <uwe>
Component: Driver: fx2lafwAssignee: Uwe Hermann <uwe>
Status: RESOLVED FIXED    
Severity: normal CC: mr.nuke.me
Priority: Normal    
Version: unreleased development snapshot   
Target Milestone: ---   
Hardware: All   
OS: All   

Description Uwe Hermann 2012-12-13 13:46:16 CET
The current EZ-USB / FX2(LP) code in libsigrok and the fx2lafw driver code need to be extended to check whether the device is an FX2 or FX2LP (using the REVID register), and the correct firmware file must be uploaded accordingly.

Some logic analyzer devices such as older USBee SX versions or more recent devices which use a "fake" FX2LP (which is actually an FX2) need this.

See also the thread at

  http://thread.gmane.org/gmane.comp.debugging.sigrok.devel/389

A fix is being worked on.
Comment 1 mrnuke 2013-01-08 08:31:31 CET
A small update on the issue:

The way to distinguish an FX2 from FX2LP is via the REVID register. On an unconfigured (no firmware) FX2 or FX2LP, the known way to read internal memory is via vendor request 0xa0. Unfortunately, trying to read the REVID register (0xE60A) will not work in this manner, at least not on FX2. Instead, a read in this manner will return random data.

We are not aware of a way to read the REVID register of an unconfigured FX2 from the host. fx2lafw provides vendor request 0xb2 to read the REVID register. This still means that whatever firmware we upload must be able to run on the FX2 without issue.
Comment 2 Uwe Hermann 2013-02-22 09:03:46 CET
The firmware part for this is fixed in 9e7a268db08095e2585d845a51a9e5c89ba90fbd in the sigrok-firmware-fx2lafw repo. Since we keep only one set of *.fw files and don't change any APIs of fx2lafw, changes to the libsigrok fx2lafw driver are not required. Closing this issue.