Firmware update problems with LimeSDR 1.2 prototype

Hello,

I’m having trouble with the firwmware updating process.

I “successfully” upload/program version 1.4 of the FX3 firmware
https://github.com/myriadrf/LimeSDR-USB_FX3/raw/master/Debug/LimeSDR-USB_fx3_fw.img
using the User Guide method and Cypress’s Control app on Ubuntu 16.04 with all the latest packages installed/updated. I’m using a USB 2.0 extension cable on a USB 3.0 port.

When I power cycle the device after programming, it is not recognized by SoapySDRUtil, but LimeSuite can connect (but see warning/error messages below). The Cypress cy_usb program sees (see attached screenshot) it. Facing the USB connector, the front LED in LEDS1 is flashing red/green at about 2 hertz, the LED behind it is solid red, and in LEDS2 just the back LED (power) is green.

I’ve tried the following procedures:

  • updating empty flash
  • updating populated flash
  • both above on Windows 10 and with Cypress’s app and LImeSuite’s programming

The popup dialog Programming complete is shown and the terminal shows:
Found FX3 flash programmer
Erased sector 0 of SPI flash
Erased sector 1 of SPI flash
Erased sector 2 of SPI flash

  • print from LimeSuite
    ########################################################

!!! Warning: firmware version mismatch !!!

Expected firmware version 0, but found version 2

Follow the FW and FPGA upgrade instructions:

http://wiki.myriadrf.org/Lime_Suite#Flashing_images

########################################################

########################################################

!!! Warning: gateware version mismatch !!!

Expected gateware version 2, revision 0

But found version 0, revision 0

Follow the FW and FPGA upgrade instructions:

http://wiki.myriadrf.org/Lime_Suite#Flashing_images

########################################################

Any suggestions are welcome.

AJB

Did you also update Lime Suite and run the udev rules install again?

Thanks, yes, I did–unfortunately, that doesn’t change the firmware mismatch warning.

apt-get reports:
limesuite is already the newest version (16.8.1.819.1016.541ef1d-myriadrf1~xenial).

I just happened to try Linux because of the endless dance with Windows (10 x64) and Zadig…

In addition, I have to pull the J13 jumper for LimeSuiteGUI to see and connect to the board.
When I do connect, and run an RX calibration test, the unhelpful dialog appears as seen in the screenshot.
The terminal prints something about uploading DC/IQ calibration firmware but never says whether it completes or not.
When I do something simple like click the Read Temp button, it takes about 5 seconds to respond, and always has the same temp. And SoapySDRUtil still doesn’t the board in this case.

So I don’t know what is really going on.

hw1.2 you need version 1.2 fw and version 1.2 fpga
https://github.com/myriadrf/LimeSDR-USB_FX3/raw/HW_1.2/Debug/LimeSDR-USB_fx3_fw.img

https://github.com/myriadrf/LimeSDR-USB_GW/raw/HW_v1.3-v1.0/output_files/LimeSDR-USB_lms7_trx_HW_1.2.rbf

Thanks - that cleared away the LimeSuiteGUI warnings.
No luck with SoapySDRUtil yet.

The Prototype V1.2 board was returned to me from Tony Bigbee. It still is in a state where the FX3 firmware is calling for a windows driver that does not exist on this machine. Prior to the loan to Tony, the 1.2 board used the Cypress Streamer Example driver.

Since we need to get our only prototype board working with Windows quickly, we have two possible choices:

  1. Reload the FX3 firmware that was supplied on the USB memory key chain with the board when it shipped from Lime. This probably would restore the VID/PID in the firmware and call for the use of the Cypress streamer example driver.

  2. Obtain a driver from Lime that is certified for use on Windows 10 that uses the VID/PID in the new FX3 image. Is there a certified driver available?

Paul Oxley

@poxley, we’re just waiting for a certificate to be issued and as soon as we have this there will be signed drivers. Until then it looks as though you can disable signature checking in Windows. E.g. from a quick Google search I found:

Andrew

We the RASDR team have been down that course of action before on the Digi-Red board. It was not pretty. Therefore, I will roll back the firmware to the original FX3 image supplied on the original USB key chain. This will allow the operation with the Cypress Streamer Driver.

If the FX3 firmware on the V1.4 boards that will ship soon contains the new VID/PID, we will need a certified and signed driver very quickly.

Paul

Andrew

Today, I successfully rolled back the FX3 load in the SPI flash to the image on the USB key chain. I used Cypress Utility Program together with a boot to boot loader by removing the boot jumper. The board now boots to Cypress Streamer Example as before.

This solved part of the issue. However, it was also necessary to roll back the FPGA bitstreams to the original version. I used the capability of LMS7Suite to accomplish this load.

Now the board almost operates. However, setting a Rx fequency results in an error.

Any help would be appreciated.’

Paul

Hi Paul,

It’s not easy for us to support people using old versions of firmware and gateware. Is there no way you can install unsigned drivers for the time being? A number of other folks seem to have managed to do this just fine.

As to the error, I’m not sure what to suggest other than to check out out an older Lime Suite git commit, from before the SPI and driver changes, and build and install from this.

Andrew

Andrew

I might be able to install an unsigned driver if it existed. Do you have a .inf (driver) file for Windows 10 X64?

As you might know if you are a Windows user, Microsoft upgraded all of the Windows 7 and 8.1 versions to Windows 10 unless you disabled the automatic update feature. Thus, most Windows users are likely on Windows 10.

The Geek link you provided is dangerous if you use the second option. You should not totally disable the check for unsigned drivers. This would leave your PC wide open to hacker loading of malware using the driver update back door.

If it is necessary to do a work around waiting for the signed and certified drivers, it would be best to only do this one time, not forever.

A better alternative might be to provide an interim FX3 image load that continues to use the Cypress signed and certified Drivers that were used in the original release of V1.2 boards. Any changes except the VID/PID could be included. When the VID/PID is changed, it causes Windows to call for a different driver. This makes the V1.2 board useless on a Windows 10 systems.

What is the plan for addressing this issue on the V1.4 boards that are shipping? I expect to receive mine soon since I purchased one in the “Second Flock” group.

Paul

Hi Paul,

Please see:

We’re in the process of getting a cert so that we can sign the drivers and I’m hoping this shouldn’t be too far off now. Creating more FX3 firmware versions would not make sense and IIRC the VID/PID switch coincided with a change to the way that SPI programming is handled (via the FX3->FPGA instead of FX3 I2C->I2C/SPI bridge), so I’m not sure it would even be that easy. I could be wrong, but the solution is signed drivers in any case.

Regards,

Andrew

Andrew,

Was able to get this driver version loaded and the firmware updated to the correct versions indicated for the 1.2 hw board a few weeks ago, but haven’t gotten back to it since. It was communicating with LimeSuite, but only had limited success with it and other SDR software. Is there a particular version of LimeSuite that should be used, or just the latest?

Thanks,
Mike

Andrew

OK. I am holding my breath and not getting any development done.

How about the UNSIGNED DRIVER (.inf file) for Windows 10 X64? Cypress has a driver for Windows 10 X64. Can it be modified to use the new Lime VID/PID as an unsigned driver? That would make the work around usable.

Paul

@n4mho, please use the latest stable build.

@poxley link posted above to GitHub repo and in that Windows-drivers/WinDriver_LimeSDR-USB/Win10/x64./