Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHi,
I have an rfnoc block with two output ports which is feeding the splitter
block to duplicate each port.
One pair is used to stream to the host, and the other is looped back to the
radio via the DUC block.
The active connections are reported as:
Active connections:
0/Radio#0:0==>0/PolConverter#0:0
0/Radio#0:1==>0/PolConverter#0:1
0/PolConverter#0:0==>0/SplitStream#0:0
0/SplitStream#0:0-->0/DUC#0:0
0/PolConverter#0:1==>0/SplitStream#0:1
0/SplitStream#0:1-->0/DUC#0:1
0/DUC#0:0==>0/Radio#0:0
0/DUC#0:1==>0/Radio#0:1
0/SplitStream#0:2-->RxStreamer#0:0
0/SplitStream#0:3-->RxStreamer#0:1
I'm getting this warning when trying to stream (to the host and the TX):
[WARNING] [0/Radio#0] Received stream command, but not to output port!
Ignoring.
Along with debug info:
[DEBUG] [RxStreamer#0] Received overrun message on port 0
[DEBUG] [RxStreamer#0] Received overrun message on port 1
L[DEBUG] [RxStreamer#0] Received late command message on port 0
[DEBUG] [RxStreamer#0] Received late command message on port 1
D
I start the streaming with a timed command to the RX streamer like:
rx_stream->issue_stream_cmd(stream_cmd);
I'm not getting the red "TX" led illuminated on the N300, and I don't
understand where or why these warnings are being created?
Previous posts have mentioned this link
(https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/) has helped but
it seems to be down.
How does one get a loopback in the fpga from rfnoc blocks to the radio TX?
BTW: in the firmware I tie TEOV and TEOB to my TLAST in my custom block.
Many thanks, Kevin
Hi Kevin,
Try issuing the stream command directly on the Radio block rather than the
rx_streamer. I don't know why you are getting the warnings you are
getting, but trying this step might produce a different result.
On another note, since you are using timed commands, there will be a time
stamp in your received data stream. When this stream arrives at the Tx
Radio after passing through the loopback path, it will be considered "Late"
at the Tx Radio because the time stamp has passed. Your block will need to
add an offset to the time stamp (or remove it) so that it won't be late
when arriving at the Tx Radio.
Rob
On Thu, May 22, 2025 at 4:45 AM Kevin Williams kevin.williams@vastech.co.za
wrote:
Hi,
I have an rfnoc block with two output ports which is feeding the splitter
block to duplicate each port.
One pair is used to stream to the host, and the other is looped back to
the radio via the DUC block.
The active connections are reported as:
Active connections:
0/Radio#0:0==>0/PolConverter#0:0
0/Radio#0:1==>0/PolConverter#0:1
0/PolConverter#0:0==>0/SplitStream#0:0
0/SplitStream#0:0-->0/DUC#0:0
0/PolConverter#0:1==>0/SplitStream#0:1
0/SplitStream#0:1-->0/DUC#0:1
0/DUC#0:0==>0/Radio#0:0
0/DUC#0:1==>0/Radio#0:1
0/SplitStream#0:2-->RxStreamer#0:0
0/SplitStream#0:3-->RxStreamer#0:1
I’m getting this warning when trying to stream (to the host and the TX):
[WARNING] [0/Radio#0] Received stream command, but not to output port!
Ignoring.
Along with debug info:
[DEBUG] [RxStreamer#0] Received overrun message on port 0
[DEBUG] [RxStreamer#0] Received overrun message on port 1
L[DEBUG] [RxStreamer#0] Received late command message on port 0
[DEBUG] [RxStreamer#0] Received late command message on port 1
D
I start the streaming with a timed command to the RX streamer like:
rx_stream->issue_stream_cmd(stream_cmd);
I’m not getting the red “TX” led illuminated on the N300, and I don’t
understand where or why these warnings are being created?
Previous posts have mentioned this link (
https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/) has helped
but it seems to be down.
How does one get a loopback in the fpga from rfnoc blocks to the radio TX?
BTW: in the firmware I tie TEOV and TEOB to my TLAST in my custom block.
Many thanks, Kevin
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Did you, by any chance, set the action forwarding policy to ONE_TO_ALL? I
sketched your RFNoC flow graph and there's a loopback going from Radio ->
PolConverter -> Split Stream 0 -> DUC -> Radio. (Loopbacks are fine in
RFNoC!).
If you have the action forwarding to ONE_TO_ALL, then the PolConverter will
forward the stream command to its output ports, and Split-Stream/DUC will
forward them to the radio input ports. But those don't accept stream
commands, hence the warning. It seems ONE_TO_FAN would be the right choice.
--M
On Thu, May 22, 2025 at 3:28 PM Rob Kossler via USRP-users <
usrp-users@lists.ettus.com> wrote:
Hi Kevin,
Try issuing the stream command directly on the Radio block rather than the
rx_streamer. I don't know why you are getting the warnings you are
getting, but trying this step might produce a different result.
On another note, since you are using timed commands, there will be a time
stamp in your received data stream. When this stream arrives at the Tx
Radio after passing through the loopback path, it will be considered "Late"
at the Tx Radio because the time stamp has passed. Your block will need to
add an offset to the time stamp (or remove it) so that it won't be late
when arriving at the Tx Radio.
Rob
On Thu, May 22, 2025 at 4:45 AM Kevin Williams <
kevin.williams@vastech.co.za> wrote:
Hi,
I have an rfnoc block with two output ports which is feeding the splitter
block to duplicate each port.
One pair is used to stream to the host, and the other is looped back to
the radio via the DUC block.
The active connections are reported as:
Active connections:
0/Radio#0:0==>0/PolConverter#0:0
0/Radio#0:1==>0/PolConverter#0:1
0/PolConverter#0:0==>0/SplitStream#0:0
0/SplitStream#0:0-->0/DUC#0:0
0/PolConverter#0:1==>0/SplitStream#0:1
0/SplitStream#0:1-->0/DUC#0:1
0/DUC#0:0==>0/Radio#0:0
0/DUC#0:1==>0/Radio#0:1
0/SplitStream#0:2-->RxStreamer#0:0
0/SplitStream#0:3-->RxStreamer#0:1
I’m getting this warning when trying to stream (to the host and the TX):
[WARNING] [0/Radio#0] Received stream command, but not to output port!
Ignoring.
Along with debug info:
[DEBUG] [RxStreamer#0] Received overrun message on port 0
[DEBUG] [RxStreamer#0] Received overrun message on port 1
L[DEBUG] [RxStreamer#0] Received late command message on port 0
[DEBUG] [RxStreamer#0] Received late command message on port 1
D
I start the streaming with a timed command to the RX streamer like:
rx_stream->issue_stream_cmd(stream_cmd);
I’m not getting the red “TX” led illuminated on the N300, and I don’t
understand where or why these warnings are being created?
Previous posts have mentioned this link (
https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/) has helped
but it seems to be down.
How does one get a loopback in the fpga from rfnoc blocks to the radio TX?
BTW: in the firmware I tie TEOV and TEOB to my TLAST in my custom block.
Many thanks, Kevin
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hi Guys,
Thanks for all your replies.
I have prop, action and mtu forwarding all set to ONE-TO-FAN in my pol converter block.
(It doesn’t seem to matter whether I send the stream command to the radio or to the rx_streamer though.)
On the timed commands I have a new idea I’m going to implement and test today where I latch one of the radio adc channel timestamps after ADC TEOB drops (hopefully indicating the first sample of a new packet), and then use that timestamp for the remainder of my new packet post-decimation.
I am thinking of just adding the maximum decimator latency + a bit as an offset as I don’t care if the transmitted signal is not aligned to the input signal.
I also just realized I need to tell the TX side, independently, to start streaming – I don’t think it will transmit just because there is data there. Not sure how I’m going to align that (from the host) to the looped-back data in the fpga yet.
But then isn’t ONE-TO-ALL the better option so the pol converter can start the transmitter as well?
All very tricky and interesting…!
Kind regards, Kevin
From: Martin Braun martin.braun@ettus.com
Sent: Friday, 23 May 2025 08:51
Cc: usrp-users@lists.ettus.com
Subject: [EXTERNAL][USRP-users] Re: rfnoc loopback to tx ports, and other warnings
Did you, by any chance, set the action forwarding policy to ONE_TO_ALL? I sketched your RFNoC flow graph and there's a loopback going from Radio -> PolConverter -> Split Stream 0 -> DUC -> Radio. (Loopbacks are fine in RFNoC!).
If you have the action forwarding to ONE_TO_ALL, then the PolConverter will forward the stream command to its output ports, and Split-Stream/DUC will forward them to the radio input ports. But those don't accept stream commands, hence the warning. It seems ONE_TO_FAN would be the right choice.
--M
On Thu, May 22, 2025 at 3:28 PM Rob Kossler via USRP-users <usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com > wrote:
Hi Kevin,
Try issuing the stream command directly on the Radio block rather than the rx_streamer. I don't know why you are getting the warnings you are getting, but trying this step might produce a different result.
On another note, since you are using timed commands, there will be a time stamp in your received data stream. When this stream arrives at the Tx Radio after passing through the loopback path, it will be considered "Late" at the Tx Radio because the time stamp has passed. Your block will need to add an offset to the time stamp (or remove it) so that it won't be late when arriving at the Tx Radio.
Rob
On Thu, May 22, 2025 at 4:45 AM Kevin Williams <kevin.williams@vastech.co.za mailto:kevin.williams@vastech.co.za > wrote:
Hi,
I have an rfnoc block with two output ports which is feeding the splitter block to duplicate each port.
One pair is used to stream to the host, and the other is looped back to the radio via the DUC block.
The active connections are reported as:
Active connections:
0/Radio#0:0==>0/PolConverter#0:0
0/Radio#0:1==>0/PolConverter#0:1
0/PolConverter#0:0==>0/SplitStream#0:0
0/SplitStream#0:0-->0/DUC#0:0
0/PolConverter#0:1==>0/SplitStream#0:1
0/SplitStream#0:1-->0/DUC#0:1
0/DUC#0:0==>0/Radio#0:0
0/DUC#0:1==>0/Radio#0:1
0/SplitStream#0:2-->RxStreamer#0:0
0/SplitStream#0:3-->RxStreamer#0:1
I’m getting this warning when trying to stream (to the host and the TX):
[WARNING] [0/Radio#0] Received stream command, but not to output port! Ignoring.
Along with debug info:
[DEBUG] [RxStreamer#0] Received overrun message on port 0
[DEBUG] [RxStreamer#0] Received overrun message on port 1
L[DEBUG] [RxStreamer#0] Received late command message on port 0
[DEBUG] [RxStreamer#0] Received late command message on port 1
D
I start the streaming with a timed command to the RX streamer like:
rx_stream->issue_stream_cmd(stream_cmd);
I’m not getting the red “TX” led illuminated on the N300, and I don’t understand where or why these warnings are being created?
Previous posts have mentioned this link (https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/ https://url.za.m.mimecastprotect.com/s/K94BCX6wllSD43gc6fwfWdFPu?domain=corvid.io/ ) has helped but it seems to be down.
How does one get a loopback in the fpga from rfnoc blocks to the radio TX?
BTW: in the firmware I tie TEOV and TEOB to my TLAST in my custom block.
Many thanks, Kevin
USRP-users mailing list -- usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com mailto:usrp-users-leave@lists.ettus.com
USRP-users mailing list -- usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com mailto:usrp-users-leave@lists.ettus.com