Update not supported: LimeSDR-PCIe[HW=3]

#1

So … how to update the LimeSDR-PCIe card…? Last time I had to do this I ended up having to compile the FPGA code from source. There must be some easier way…?

Thanks.

#2

Looking in the source code, I see LimeSuite is not supposed to be able to update LimeSDR PCIe devices:

static const ConnectionImageEntry &lookupImageEntry(const LMS64CProtocol::LMSinfo &info)
{
    static const std::vector<ConnectionImageEntry> imageEntries = {
        ConnectionImageEntry({LMS_DEV_UNKNOWN, -1, -1, nullptr, -1, -1, nullptr}),
        ConnectionImageEntry({LMS_DEV_LIMESDR, 4, 4, "LimeSDR-USB_HW_1.4_r4.0.img", 2, 21,  "LimeSDR-USB_HW_1.4_r2.21.rbf"}),
        ConnectionImageEntry({LMS_DEV_LIMESDR, 3, 3, "LimeSDR-USB_HW_1.3_r3.0.img", 1, 20, "LimeSDR-USB_HW_1.1_r1.20.rbf"}),
        ConnectionImageEntry({LMS_DEV_LIMESDR, 2, 3, "LimeSDR-USB_HW_1.2_r3.0.img", 1, 20, "LimeSDR-USB_HW_1.1_r1.20.rbf"}),
        ConnectionImageEntry({LMS_DEV_LIMESDR, 1, 7, "LimeSDR-USB_HW_1.1_r7.0.img", 1, 20, "LimeSDR-USB_HW_1.1_r1.20.rbf"}),
        ConnectionImageEntry({LMS_DEV_STREAM,  3, 8, "STREAM-USB_HW_1.1_r8.0.img",  1, 2,  "STREAM-USB_HW_1.3_r1.2.rbf"}),
        ConnectionImageEntry({LMS_DEV_LIMENET_MICRO, 3, 0, nullptr,  1, 2,  "LimeNET-Micro_lms7_trx_HW_2.1_r1.2.rpd"}),
        ConnectionImageEntry({LMS_DEV_LIMESDRMINI,  0, 0, nullptr,  1, 30,  "LimeSDR-Mini_HW_1.2_r1.30.rpd"}),
};

So my question remains. What is the proper way doing this? I have two identical machines, but with different versions of firmware and gateware due to different batches of LimeSDR PCIe card ordered, and they behaves very differently.

Please advice.

#3

Tagging @Zack.