About a week ago, while using my 12 year old Logic16 (purchased from Little Bird Electronics for AUD$330 on 05 March 2013) using Logic 2.4.29 (which I had just upgraded to) under Windows, it started failing to properly enumerate. This might have been a grounding or USB connection glitch (though both laptop and DUT were referenced to the same ground).
Upon restarting into Linux, I found that it was enumerating as VID 04B4 PID 8613.
After researching a bit, I found this was the VID and PID of the FX2LP USB interface when the eeprom connected to it is corrupt.
Following that research, I grabbed the fx2 pip package and dumped the eeprom, where I found that the first byte was 0x00, and the next 16 bytes were 0x0b. The remainder of the bytes are presumably intact.
To fix at least the VID / PID / Serial, I dug through my old Logic settings and logs to get the serial number, converted that to hex, then re-wrote the proper config / VID / PID / serial (byte-reversed).
However, even with that fix, capture using either Saleae Logic 1.2.40 or 2.4.29 now breaks almost immediately, regardless of whether I’m capturing at 100MHz or 500kHz.
Capturing using sigrok and the Saleae Logic 1.2.10 firmware reliably breaks after between 4.993 and 4.996 seconds (rounded down to the nearest USB packet boundary at lower capture rates) regardless of capture frequency or channel count.
Meanwhile, using sigrok / PulseView with la16fw works fine, with it going well even after 10 minutes.
I know being 12 years old the hardware would no longer be under warranty. I am wondering if the Saleae firmware is treating my device as a fake (which it is not), or if the Saleae firmware is perhaps running into some hardware issue that the alternative firmware evades?