<div dir="ltr">Hi all,<br>What are the plans to expand support for new SDR devices?<br>When I check the contents of osmo-trx/Transceiver52M/device/ on the git master I see the supported lms, uhd and usrp1 devices. For example the XTRX SDR was presented at OsmoDevCon 2018. I expected it to be included in the master soon. At this point I see its addition in the fairwaves / libxtrx-wip branch from 2018. That doesn't give me much encouragement for my next question.<br>Would it be possible to add support for PCIe SDR from Amarisoft?<br>Some information about SDR is here <a href="https://discourse.myriadrf.org/t/amarisoft-sdr-integration-with-oai/2288">https://discourse.myriadrf.org/t/amarisoft-sdr-integration-with-oai/2288</a><br><div>Based on the <a href="https://media.ccc.de/v/osmocon2018-82-osmotrx-status-support-for-more-drivers-sdr-apis-like-limesuite">https://media.ccc.de/v/osmocon2018-82-osmotrx-status-support-for-more-drivers-sdr-apis-like-limesuite</a> I tried to create support by myself. I've gotten into a state that some MS with weak requirements for signal quality and timing can connect. My branch is here <a href="https://github.com/XK1ZU/osmo-trx/tree/PCIeSDR-LMSstyle">https://github.com/XK1ZU/osmo-trx/tree/PCIeSDR-LMSstyle</a></div><div>gr-osmosdr support is here <a href="https://github.com/XK1ZU/gr-osmosdr/commits/PCIeSDR">https://github.com/XK1ZU/gr-osmosdr/commits/PCIeSDR</a></div><div>This osmo-trx is able to run for a few tens of seconds then it quits and I have to restart it, so I would need a deeper understanding of the timing and scheduling of processes within osmo-trx. Who should be a clock master SW stack or SDR device?</div><div><br></div><div>I see a lot of log error messages as<br>0000> Transceiver.cpp:422 [tid=140137319651072][chan=0] dumping STALE burst in TRX->SDR interface (1:1408722 vs 7:1408723), retrans=0<br><0000> Transceiver.cpp:1122 [tid=140137311258368] ClockInterface: sending IND CLOCK 1408899<br>or<br>0000> Transceiver.cpp:280 [tid=140137328043776] Starting the transceiver<br><0000> radioInterface.cpp:181 [tid=140137328043776] Starting radio device<br><0000> PCIESDRDevice.cpp:199 [tid=140137328043776] PCIESDRDevice::start<br><0000> PCIESDRDevice.cpp:205 [tid=140137328043776] starting PCIeSDR..., sample rate:1.08333e+06<br><0000> PCIESDRDevice.cpp:234 [tid=140137328043776] PCIESDRDevice::flush<br><0000> PCIESDRDevice.cpp:219 [tid=140137328043776] msdr_start ok:<br><0000> PCIESDRDevice.cpp:532 [tid=140137328043776] Update Alignment <br><0000> PCIESDRDevice.cpp:532 [tid=140137328043776] Update Alignment <br><0000> radioInterface.cpp:202 [tid=140137328043776] Radio started<br><0000> Threads.cpp:119 [tid=140137294472960] Thread 140137294472960 (task 18522) set name: TxLower<br><0000> Threads.cpp:119 [tid=140137311258368] Thread 140137311258368 (task 18524) set name: RxUpper0<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP POWERON 0'<br><0000> Threads.cpp:119 [tid=140137302865664] Thread 140137302865664 (task 18523) set name: RxLower<br><0002> PCIESDRDevice.cpp:363 [tid=140137302865664] rc < 0<br><0002> PCIESDRDevice.cpp:364 [tid=140137302865664] Sample buffer: Requested timestamp is not valid<br><0000> Threads.cpp:119 [tid=140137319651072] Thread 140137319651072 (task 18525) set name: TxUpper0<br><0002> PCIESDRDevice.cpp:365 [tid=140137302865664] timestamp = 10960, length = 262144, time_start = 6765960, time_end = 6766960, data_start = 223320, data_end = 224320<br><0002> PCIESDRDevice.cpp:482 [tid=140137294472960] tx_underflow_count:3 rx_overflow_count:0<br><0002> PCIESDRDevice.cpp:491 [tid=140137294472960] PCIeSDR: tx underrun ts_tmp:10976 ts:10960 hwts:6762040<br><0000> radioInterface.cpp:334 [tid=140137302865664] Receive error 0<br><0000> Transceiver.cpp:1162 [tid=140137302865664] Something went wrong in thread RxLower, requesting stop<br><0002> PCIESDRDevice.cpp:482 [tid=140137294472960] tx_underflow_count:4 rx_overflow_count:0<br><0002> PCIESDRDevice.cpp:491 [tid=140137294472960] PCIeSDR: tx underrun ts_tmp:13476 ts:13460 hwts:6762278<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETRXGAIN 40'<br><0000> PCIESDRDevice.cpp:318 [tid=140137328043776] Setting RX gain to 40 dB.<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETRXGAIN 0 40'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETPOWER 0'<br><0000> PCIESDRDevice.cpp:297 [tid=140137328043776] Setting TX gain to 60 dB. device:0x1f6e0e0 chan:0<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETPOWER 0 0'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 0 5'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 0 5'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 1 7'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 1 7'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 2 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 2 13'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 3 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 3 13'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 4 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 4 13'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 5 8'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 5 8'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 6 8'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 6 8'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 5 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 5 13'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 7 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 7 13'<br><0001> Transceiver.cpp:778 [tid=140137328043776][chan=0] command is 'SETSLOT 6 13'<br><0001> Transceiver.cpp:923 [tid=140137328043776][chan=0] response is 'RSP SETSLOT 0 6 13'<br><0000> osmo-trx.cpp:485 [tid=140137400406720] Shutting down transceiver...<br><0000> Transceiver.cpp:338 [tid=140137400406720] Stopping the transceiver<br><0000> Transceiver.cpp:351 [tid=140137400406720] Stopping the device<br><0000> PCIESDRDevice.cpp:254 [tid=140137400406720] PCIESDRDevice::stop<br><0000> PCIESDRDevice.cpp:261 [tid=140137400406720] PCIESDR stopped<br><0000> Transceiver.cpp:364 [tid=140137400406720] Transceiver stopped<br><0000> PCIESDRDevice.cpp:78 [tid=140137400406720] Closing PCIESDR Device<br><br>Yours XK1Zu</div><div><br></div><div><br></div></div>