Getting up and running with LimeSDR XTRX

Hi.
I just received LimeSDR XTRX.
But I can’t find a suitable driver and software for Windows.
I confirmed that the device was correctly recognized as a Xilinx’s device (10EE) by Device Manager, but that was all.

image

Currently PCIe driver is available only for Linux. GitHub - myriadrf/pcie-linux-module

My recent post maybe a operation error. Sorry for that.
By the way, after update LimeSuite@litepcie-update-39717c2, The limeDevice shows some information such as a serial number.
And The rfTest seems to work but sometimes get wired outputs like Rx: -325.154 MB/s.

$ ./limeDevice -f
Found 1 device(s) :
0: LimeSDR XTRX, media=PCIe, addr=/dev/LimeXTRX0
        Expansion name          : UNSUPPORTED
        Firmware version        : 1
        Gateware version        : 1
        Gateware revision       : 8
        Gateware target board   : LimeSDR XTRX
        Hardware version        : 0
        Protocol version        : 1
        Serial number           : **********
        SPI slave devices       :
                                  FPGA
                                  LMS7002M
        Memory devices          :
                                  FPGA FLASH
        GPS Lock:
                GPS - Undefined
                Glonass - Undefined
                Galileo - Undefined
                Beidou - Undefined

$ ./rfTest 
Release build
0: LimeSDR XTRX, media=PCIe, addr=/dev/LimeXTRX0

Press CTRL+C to stop

----------TEST FullStreamTxRx, sampleRate: 10 MHz, MIMO:yes
SDR configured in 1522ms
TxDeltaTS +49920, (+4.992ms) 195 packets
Stream0 usePoll:1 rxSamplesInPkt:256 rxPacketsInBatch:3, DMA_ReadSize:6192, batchSizeInTime:0us
Stream0 samplesInTxPkt:256 maxTxPktInBatch:3, batchSizeInTime:infus
Main Rx: 9996288  ampl: 0.000000, rmsI:0.001713, rmsQ:0.002239 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.255 MB/s | TS:10047232 pkt:39054 o:0 shw:13018/12961(+57) u:0(+0) l:0(+0) tsAdvance:+46336/+48300/+49408, f:2
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:9999360 pkt:39060 o:0(+0) l:0(+0) dma:13020/13024(4) swFIFO:0
Main Rx: 19998720  ampl: 0.000000, rmsI:0.002036, rmsQ:0.001986 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.620 MB/s | TS:20048896 pkt:78123 o:0 shw:26041/25985(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48425/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:20001792 pkt:78132 o:0(+0) l:0(+0) dma:26044/26048(4) swFIFO:0
Main Rx: 30001152  ampl: 0.000000, rmsI:0.001906, rmsQ:0.001630 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:30051328 pkt:117195 o:0 shw:39065/39009(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48366/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:30004224 pkt:117204 o:0(+0) l:0(+0) dma:39068/39072(4) swFIFO:0
Main Rx: 40003584  ampl: 0.000000, rmsI:0.001835, rmsQ:0.001776 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:40053760 pkt:156267 o:0 shw:52089/52033(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48437/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:40006656 pkt:156276 o:0(+0) l:0(+0) dma:52092/52096(4) swFIFO:0
Main Rx: 50006016  ampl: 0.000000, rmsI:0.001787, rmsQ:0.001971 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:50056192 pkt:195339 o:0 shw:65113/65057(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48375/+49408, f:1
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:50009088 pkt:195348 o:0(+0) l:0(+0) dma:65116/65120(4) swFIFO:0
Main Rx: 60008448  ampl: 0.000000, rmsI:0.001863, rmsQ:0.001878 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:60058624 pkt:234411 o:0 shw:12601/12545(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48432/+49408, f:1
/dev/LimeXTRX0_trx0 Rx: -325.154 MB/s | TS:60011520 pkt:234420 o:0(+0) l:0(+0) dma:12604/12608(4) swFIFO:0
Main Rx: 70010880  ampl: 0.000000, rmsI:0.001907, rmsQ:0.001852 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:70061056 pkt:273483 o:0 shw:25625/25569(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48430/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:70013952 pkt:273492 o:0(+0) l:0(+0) dma:25628/25632(4) swFIFO:0
Main Rx: 80013312  ampl: 0.000000, rmsI:0.001877, rmsQ:0.001785 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:80063488 pkt:312555 o:0 shw:38649/38593(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48439/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:80016384 pkt:312564 o:0(+0) l:0(+0) dma:38652/38656(4) swFIFO:0
Main Rx: 90015744  ampl: 0.000000, rmsI:0.001715, rmsQ:0.001761 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:90065920 pkt:351627 o:0 shw:51673/51617(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48435/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:90018816 pkt:351636 o:0(+0) l:0(+0) dma:51676/51680(4) swFIFO:0
Main Rx: 100018176  ampl: 0.000000, rmsI:0.002218, rmsQ:0.001953 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:100068352 pkt:390699 o:0 shw:64697/64641(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48417/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:100021248 pkt:390708 o:0(+0) l:0(+0) dma:64700/64704(4) swFIFO:0
Main Rx: 110020608  ampl: 0.000000, rmsI:0.001790, rmsQ:0.001731 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:110070784 pkt:429771 o:0 shw:12185/12129(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48363/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: -325.154 MB/s | TS:110023680 pkt:429780 o:0(+0) l:0(+0) dma:12188/12192(4) swFIFO:0
Main Rx: 120023040  ampl: 0.000000, rmsI:0.002599, rmsQ:0.002119 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:120073216 pkt:468843 o:0 shw:25209/25153(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48437/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:120026112 pkt:468852 o:0(+0) l:0(+0) dma:25212/25216(4) swFIFO:0
Main Rx: 130025472  ampl: 0.000000, rmsI:0.001798, rmsQ:0.001578 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:130075648 pkt:507915 o:0 shw:38233/38177(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48429/+49408, f:0
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:130028544 pkt:507924 o:0(+0) l:0(+0) dma:38236/38240(4) swFIFO:0
Main Rx: 140027904  ampl: 0.000000, rmsI:0.001964, rmsQ:0.001724 badSignal: 0
/dev/LimeXTRX0_trx0 Tx: 80.645 MB/s | TS:140078080 pkt:546987 o:0 shw:51257/51201(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48431/+49408, f:1
/dev/LimeXTRX0_trx0 Rx: 80.645 MB/s | TS:140030976 pkt:546996 o:0(+0) l:0(+0) dma:51260/51264(4) swFIFO:0
^CStoppping
Rx0: packetsIn: 567792
/dev/LimeXTRX0_trx0 Tx: 80.682 MB/s | TS:145401856 pkt:567783 o:0 shw:58189/58133(+56) u:0(+0) l:0(+0) tsAdvance:+47104/+48431/+49408, f:0
Tx Loop totals: packets sent: 567783 (0x0008A9E7) , FPGA packet counter: 567614 (0x0008A93E), diff: 169, FPGA tx drops: 0

Also, GNU Radio still not working even if using SoapySDR instead of gr-limesdr.

$ SoapySDRUtil --info
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Lib Version: v0.8.1-gbb33b2d2
API Version: v0.8.200
ABI Version: v0.8-3
Install root: /usr/local
Search path:  /usr/local/lib/SoapySDR/modules0.8-3
Module found: /usr/local/lib/SoapySDR/modules0.8-3/libLMS7Support.so (24.0.0-38ab764c)
Available factories... lime
Available converters...
 -  CF32 -> [CF32, CS16, CS8, CU16, CU8]
 -  CS16 -> [CF32, CS16, CS8, CU16, CU8]
 -  CS32 -> [CS32]
 -   CS8 -> [CF32, CS16, CS8, CU16, CU8]
 -  CU16 -> [CF32, CS16, CS8]
 -   CU8 -> [CF32, CS16, CS8]
 -   F32 -> [F32, S16, S8, U16, U8]
 -   S16 -> [F32, S16, S8, U16, U8]
 -   S32 -> [S32]
 -    S8 -> [F32, S16, S8, U16, U8]
 -   U16 -> [F32, S16, S8]
 -    U8 -> [F32, S16, S8]

$ SoapySDRUtil --probe
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Probe device 
[INFO] Make connection: 'LimeSDR XTRX [PCIe]'
[INFO] Device name: LimeSDR XTRX
[INFO] Reference: 26 MHz
[INFO] LMS7002M register cache: Disabled

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=PCIe
  hardware=LimeSDR XTRX
  boardSerialNumber=0x********
  firmwareVersion=1
  gatewareVersion=1
  hardwareVersion=0
  protocolVersion=1

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 2 Rx, 2 Tx
  Timestamps: YES
  Sensors: clock_locked, lms7_temp
     * clock_locked (Clock Locked): false
        CGEN clock is locked, good VCO selection.
     * lms7_temp (LMS7 Temperature): 59.019051 C
        The temperature of the LMS7002M in degrees C.
  Registers: BBIC, RFIC0
  Other Settings:
     * SAVE_CONFIG - Save LMS settings to file
       [key=SAVE_CONFIG, type=string]
     * LOAD_CONFIG - Load LMS settings from file
       [key=LOAD_CONFIG, type=string]
     * OVERSAMPLING - oversampling ratio (0 - auto)
       [key=OVERSAMPLING, type=int, options=(0, 1, 2, 4, 8, 16, 32)]
  GPIOs: MAIN
...
$ gnuradio-companion 
>>> Warning: vocoder_codec2_decode_ps - option_attributes are for enums only, ignoring
>>> Warning: vocoder_codec2_encode_sp - option_attributes are for enums only, ignoring
<<< Welcome to GNU Radio Companion 3.10.1.1 >>>

Block paths:
        /usr/share/gnuradio/grc/blocks
        /usr/local/share/gnuradio/grc/blocks

Loading: "/home/user/GNU Radio/untitled.grc"
>>> Done

Generating: '/home/user/GNU Radio/untitled.py'

Executing: /usr/bin/python3 -u /home/user/GNU Radio/untitled.py

[INFO] Make connection: ''
Traceback (most recent call last):
  File "/home/user/GNU Radio/untitled.py", line 149, in <module>
    main()
  File "/home/user/GNU Radio/untitled.py", line 127, in main
    tb = top_block_cls()
  File "/home/user/GNU Radio/untitled.py", line 86, in __init__
    self.soapy_limesdr_source_0 = soapy.source(dev, "fc32", 1, '',
RuntimeError: Failed to make connection with ''

>>> Done (return code 1)

Could you help me that situation?

What are you running this on ubuntu, MSYS, or WSL ubuntu, … ? When I get that error on the Macintosh, I just set SOAPY_SDR_ROOT and DYLD_LIBRARY_PATH to the “/usr/local” directories.

I’m using Ubuntu 22.04.4.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

I’m trying to set SOAPY_SDR_ROOT to “/usr/local” but still not working.

I’m retrying to use gr-limesdr@gr-3.10 with LimeSuite@litepcie-update-1f8b2c6 but still not working.

And, limeDevice’s Serial number function is now broken after updating to LimeSuite@litepcie-update-1f8b2c6.

$ ./limeDevice -f
Found 1 device(s) :
0: LimeSDR XTRX, media=PCIe, addr=/dev/LimeXTRX0
        Expansion name          : UNSUPPORTED
        Firmware version        : 1
        Gateware version        : 1
        Gateware revision       : 8
        Gateware target board   : LimeSDR XTRX
        Hardware version        : 0
        Protocol version        : 1
        Serial number           : 65535
        SPI slave devices       :
                                  FPGA
                                  LMS7002M
        Memory devices          :
                                  FPGA FLASH
        GPS Lock:
                GPS - Undefined
                Glonass - Undefined
                Galileo - Undefined
                Beidou - Undefined

Is there anyone who can use GNU Radio with the XTRX without any problem?

Created a new topic for this discussion and moved posts here, as it was becoming messy with this mixed in with the announcement post and other unrelated comments.

On uBuntu 22.04 -

lsusb

should show your device.

On my uBuntu 22.04, they have really screwed up things - setting SOAPY_SDR_ROOT to /usr lets gnuradio-companion find my limeMini even with wrong the paths.

Thank you for your reply.
I’m using the LimeSDR XTRX via PCIe with pcie-linux-module-5436056.

$ sudo lspci -vvv
...
2d:00.0 Multimedia audio controller: Xilinx Corporation Device 7023 (rev 01)
        Subsystem: Xilinx Corporation Device 0007
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin ? routed to IRQ 206
        IOMMU group: 30
        Region 0: Memory at fcd00000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit-
                Address: fee00000  Data: 0000
        Capabilities: [60] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 512 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s, Exit Latency L0s unlimited
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s (ok), Width x1 (downgraded)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range B, TimeoutDis- NROPrPrP- LTR-
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Device Serial Number 00-00-00-00-00-00-00-00
        Kernel driver in use: litepcie
        Kernel modules: litepcie
...

Also, I’m trying to set SOAPY_SDR_ROOT to ‘/usr’ but still not working.

$ echo $SOAPY_SDR_ROOT
/usr
user@ubuntu:~$ gnuradio-companion 
>>> Warning: vocoder_codec2_decode_ps - option_attributes are for enums only, ignoring
>>> Warning: vocoder_codec2_encode_sp - option_attributes are for enums only, ignoring
<<< Welcome to GNU Radio Companion 3.10.1.1 >>>

Block paths:
        /usr/share/gnuradio/grc/blocks
        /usr/local/share/gnuradio/grc/blocks

Loading: "/home/user/GNU Radio/untitled.grc"
>>> Done

Generating: '/home/user/GNU Radio/untitled.py'

Executing: /usr/bin/python3 -u /home/user/GNU Radio/untitled.py

[INFO] Make connection: ''
Traceback (most recent call last):
  File "/home/user/GNU Radio/untitled.py", line 149, in <module>
    main()
  File "/home/user/GNU Radio/untitled.py", line 127, in main
    tb = top_block_cls()
  File "/home/user/GNU Radio/untitled.py", line 86, in __init__
    self.soapy_limesdr_source_0 = soapy.source(dev, "fc32", 1, '',
RuntimeError: Failed to make connection with ''

>>> Done (return code 1)

I suspect the gr-limesdr blocks have not been updated yet to support LimeSDR XTRX, but @ricardas could likely confirm.

There is a temporary work around that you might use. I installed iqSDR.x on Ubuntu 23.10 - it also works on 22.04 - I think that the install is the same, but some routines may have different version numbers.

How to Install iqSDR on Ubuntu 23.10.

I then had iqSDR send the I/Q complex float data using TCP/IP to gnuradio-companion - gnuradio ran at 8 MSPS displaying the power spectrum and waterfall with no problems.

I tried iqSDR. but not working.
the iqSDR crashed after clicking “LimeSDR XTRX [PCIe]”

$ ./iqSDR.x 
Number of Devices Found: 1
SDR device =  0  label = LimeSDR XTRX [PCIe]
 
device =  0 selected
addr = /dev/LimeXTRX0 driver = lime label = LimeSDR XTRX [PCIe] media = PCIe name = LimeSDR XTRX 

driver = PCIe
hardware = LimeSDR XTRX
boardSerialNumber = 0xffff firmwareVersion = 1 gatewareVersion = 1 hardwareVersion = 0 protocolVersion = 1 

Rx antennas: 
None
LNAH
LNAL
LNAW
LB1
LB2

Setting Info: 
key SAVE_CONFIG value  read  type 3 min 0 max 0 step 0
key LOAD_CONFIG value  read  type 3 min 0 max 0 step 0
key OVERSAMPLING value  read 0 type 1 min 0 max 0 step 0

RX StreamFormats 0 CF32
RX StreamFormats 1 CS12
RX StreamFormats 2 CS16

RF Gain range RX min -12 max 61 
FrequencyRange min 100000 max 3.8e+09 


Gains: 
0 LNA range max 30 min 0
1 PGA range max 19 min -12
2 TIA range max 12 min 0

[ERROR] setSampleRate(Rx, 0, 8 MHz) Failed
*** Caught unhandled unknown exception; terminating
Segmentation fault (core dumped)

That is very strange - Did the program give you a table of SampleRates to choose from ?
The print out does not show the listing of sample rates that comes before the “Gains:” in the output. Some devices will only let you use sample rates from the table. It crashed trying to set the sample rate to 8 MHZ . That was the first attempt to set something on the SDR perhaps the send to the device does not work. What I would try as a quick test is the move line 1077 (setSampleRate()) in sdr.cpp down below the line 1085( setFrequency()) and see if it crashes on the call to setFrequency - if that crashes, it would indicate that the set routines are not working. You could also try running it with CubicSDR - If CubicSDR works then, it is a problem with iqSDR.

A thought - do you have the latest version of the Limesuite installed ? It is likely needed.

The iqSDR didn’t provide SampleRates as shown below.

$ ./iqSDR.x 
Number of Devices Found: 1
SDR device =  0  label = LimeSDR XTRX [PCIe]
 
device =  0 selected
addr = /dev/LimeXTRX0 driver = lime label = LimeSDR XTRX [PCIe] media = PCIe name = LimeSDR XTRX 

driver = PCIe
hardware = LimeSDR XTRX
boardSerialNumber = 0xffff firmwareVersion = 1 gatewareVersion = 1 hardwareVersion = 0 protocolVersion = 1 

Rx antennas: 
None
LNAH
LNAL
LNAW
LB1
LB2

Setting Info: 
key SAVE_CONFIG value  read  type 3 min 0 max 0 step 0
key LOAD_CONFIG value  read  type 3 min 0 max 0 step 0
key OVERSAMPLING value  read 0 type 1 min 0 max 0 step 0

RX StreamFormats 0 CF32
RX StreamFormats 1 CS12
RX StreamFormats 2 CS16

RF Gain range RX min -12 max 61 
FrequencyRange min 100000 max 3.8e+09 


Gains: 
0 LNA range max 30 min 0
1 PGA range max 19 min -12
2 TIA range max 12 min 0

[ERROR] setSampleRate(Rx, 0, 0 MHz) Failed
*** Caught unhandled unknown exception; terminating
Segmentation fault (core dumped)

Next, I tried to change call orders but still crached at setSampleRate.

1077                         //device->setSampleRate(SOAPY_SDR_RX, channel, samplerate);
1078 
1079 
1080                // fprintf(stderr,"4 findRadio samplerate %g device %p\n",samplerate,device);
1081 
1082 
1083                         //samplewidth=samplerate;
1084 
1085                         device->setFrequency(SOAPY_SDR_RX, channel, fc);
1086                         device->setSampleRate(SOAPY_SDR_RX, channel, samplerate); // just moved here
1087                         samplewidth=samplerate;                                   
1088                // fprintf(stderr,"5 findRadio samplerate %g device %p fc %g\n",samplerate,device,fc);
$ ./iqSDR.x 
Number of Devices Found: 1
SDR device =  0  label = LimeSDR XTRX [PCIe]
 
device =  0 selected
addr = /dev/LimeXTRX0 driver = lime label = LimeSDR XTRX [PCIe] media = PCIe name = LimeSDR XTRX 

driver = PCIe
hardware = LimeSDR XTRX
boardSerialNumber = 0xffff firmwareVersion = 1 gatewareVersion = 1 hardwareVersion = 0 protocolVersion = 1 

Rx antennas: 
None
LNAH
LNAL
LNAW
LB1
LB2

Setting Info: 
key SAVE_CONFIG value  read  type 3 min 0 max 0 step 0
key LOAD_CONFIG value  read  type 3 min 0 max 0 step 0
key OVERSAMPLING value  read 0 type 1 min 0 max 0 step 0

RX StreamFormats 0 CF32
RX StreamFormats 1 CS12
RX StreamFormats 2 CS16

RF Gain range RX min -12 max 61 
FrequencyRange min 100000 max 3.8e+09 


Gains: 
0 LNA range max 30 min 0
1 PGA range max 19 min -12
2 TIA range max 12 min 0

[ERROR] Rx NCO255 index invalid
[ERROR] setSampleRate(Rx, 0, 8 MHz) Failed
*** Caught unhandled unknown exception; terminating
Segmentation fault (core dumped)

I also tried CubicSDR but didn’t show up the XTRX in the devices list even if adding manually.

As I wrote before, I’m using LimeSuite@litepcie-update-1f8b2c6.
This is latest version of LimeSuite that supporting the LimeSDR XTRX.

I down loaded “LimeSuite-litepcie-update” and SoapyLMS7 is missing the “listSampleRates” routine - I assume that that is why the default routine is returning zero as the number of samples in the SampleRate list.

So this branch marks the move to a new API, with improvements such as better support for boards with multiple transceivers. It also includes a wrapper for use with apps which still use the existing API, to ease transition. There will be more details on this and migrating provided soon. My guess is that there could still be some bugs, as testing has been with limited applications.

@Ricardas could you please take a look.

Tried LimeSDR XTRX in Ubuntu (20.04.06) using micro-USB connection option. Installed the lime suite, but couldn’t find the XTRX device enumeration in the Limesuite UI.

image

Anybody tried micro-USB connection option ? Anything I’m missing to install ?

I would appreciate your help!

USB is for programming only. It cannot be used for SDR interfacing.

For more details, see the hardware documentation at:

https://limesdr-xtrx.myriadrf.org

Note that you must build Lime Suite from source code using the litepcie-update branch.

I’m afraid that there has been a delay putting together the software and getting started documentation, but this should hopefully be published with the next week or so. Apologies for this.