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
A fix is being worked on.
A small update on the issue:
fx2lafw is elegantly simple, and easily fits in the 8KB RAM of older FX2 chips. We already know how to set up the build to make the code fit and run on the FX2's limited memory. There still are a few small issues to be fixed.
1) Enumeration with 100mA current limit.
Out of reset, the FX2 with fx2lafw consumes over 150mA. This is out of USB spec. We need to somehow keep the power consumption below 100mA before enumeration, and before the host OK's higher consumption. The official workaround is to enumerate as full-speed, get the OK from the host, then renumerate as high-speed. This needs further investigation.
2) Disconnecting and reconnecting the USB layer after a hard reset.
When #RESET is asserted and de-asserted, FX2 devices do not disconnect and reconnect from USB, while FX2LP do so automatically. This might be a moot point to try to fix, as few devices have a RESET button.
This is fixed in 9e7a268db08095e2585d845a51a9e5c89ba90fbd, closing.