Hello everybody,
I have LimeSDR (USB version) and LimeSDR PCIe.
Now I’m porting my projects from LimeSuite to LimeSuiteNG.
I have some progress in porting LimeSDR (USB version), but I’m stuck on LimeSDR PCIe.
The old version of the LimeSuite supports the Xillybus connection, allowing interaction with the LimeSDR PCIe board via xillybus_core and xillybus_pcie Linux Kernel modules.
As I can see the new version of the LimeSuiteNG doesn’t have such type of connection and as I can understand from the source code and documentation the limepcie module should be used instead.
When I try to use the limepcie module it successfully loaded, but doesn’t see my LimeSDR PCIe board. As I can see from the source code the PCIe board is mentioned in the list of supported devices:
src/comms/PCIe/linux-kernel-module/boards.h
enum eLMS_DEV {
...
LMS_DEV_LIMESDR_PCIE = 15,
...
const char LMS_DEV_NAMES[][80] = {
...
"LimeSDR-PCIe",
But per my understanding, the module doesn’t see the board because LimeSDR PCIe has an unexpected combination of device and vendor IDs.
To make the board visible for the module I tried to add the following lines:
src/comms/PCIe/linux-kernel-module/limepcie.c
+ #define PCI_ALTERA_VENDOR_ID 0x1172
+ #define PCI_DEVICE_ID_XILLYBUS 0xebeb
...
static const struct pci_device_id limepcie_pci_ids[] = {{PCI_DEVICE(XILINX_FPGA_VENDOR_ID, XILINX_FPGA_DEVICE_ID)},
{PCI_DEVICE(XILINX_FPGA_VENDOR_ID, XTRX_FPGA_DEVICE_ID)},
{PCI_DEVICE(ALTERA_FPGA_VENDOR_ID, ALTERA_FPGA_DEVICE_ID)},
+ {PCI_DEVICE(PCI_ALTERA_VENDOR_ID, PCI_DEVICE_ID_XILLYBUS)},
After the above modification, the module can see the LimeSDR PCIe board, but it can’t initialize it. The issue occurs during reading the device-specific info:
src/comms/PCIe/linux-kernel-module/limepcie.c
static int ReadInfo(struct limepcie_device *myDevice)
...
if (pkt.status == 0) {
return -EIO;
}
So my questions are the following:
- does the current version of the LimeSuiteNG (and the limepcie module in particular) support the LimeSDR PCIe?
- if the answer is No, is it planned to add such support in the future?
Thank you in advance!