Today I ran LimeUtil --update my LimeSDR, which was working fine so far, And yes, once done, I experienced the “Gateware version 0, revision 0” bug (actually I experienced “Read(64 bytes) error” and some Write errors too), but then I did a LimeUtil --make and that’s when I saw the “version 0, revision 0” line) and searching the Web, I saw than I was not the only one. I knew I had not made a single HW modification, so the only cause could be software – the upgrade. So I thought maybe downgrading, or re-upgrading, would fix things.
Long story short, I tried going through LimeSuite or LimeUtil, I tried with different USB cables, through an externally-powered hub, and also by supplying 12V on the DC connector, but always the board would show read or write errors and gateware version 0, regardless of the versions of the firmware files I ran through LimeUtil --fw / --fpga – (these commands, by the way, never gave a single warning).
Eventually, I noticed something: Starting from power-on or reset, if I did a LimeUtil --fw, the LED closest to the USB connector and the PCB edge would turn from green to red while the (assumed) flashing was underway, and it did so until after the first LimeUtil --fpga, and then LimeUtil --fw or --fpga would not turn the LED red anymore until reset or power cycle.
So I tried this: with the LimeSDR powered externally by a 12V / 1.5A supply and connected through USB3.0, just after power on, run the LimeUtil --fpga (the LED would turn red), repeat it (this time the LED would stay green), run the LimeUtil --fw (the LED would stay green) then cycle a few LimeUtil --make.
The first time I did this, the LimeSDR would show the correct Gateware version (2.12 at this point), then after a few turns, read or write errors would crop up and the gateware version would go back to 0.
Then I tried the sequence again, this time with the 18.04 firmwares (Gateware 2.16)… And this time the Gateware version 0 messages went away as did the read/write errors, GNU Radio was able to talk to the LimeSDR again, and all was fine again.
I am still wondering why this worked – my only clue to trying this sequence was the LED’s behavior. I am not claiming this works for everyone, but just in case it helps someone else… (or if the issue crops up again… fingers crossed).
[side note: the LED color is not simply always “green=ok, red=ko”: right now, if I run a LimeUtil --make every second, the LED will bleep red every second, without any read or write error being logged.]