Discussion and technical support related to USRP, UHD, RFNoC
View all threadsOn the X440, I'd like my block to be able to output to both QSFP+ ports. I
will be setting this up using remote streaming and I am wondering the
appropriate way to set up my block to be able to output to both ports. From
the little blurb on remote streaming here:
https://files.ettus.com/manual/page_stream.html#stream_remote
I see that I can supply:
The example uses the MultiUSRP object but I am using straight RFNoC. I
assume I need to do this for every stream that I might create, so for the N
ports that are on my block, I need N RX streams that define those values,
right?
If I had 4 ports, and I wanted to split 2 ports on sfp0 and 2 on sfp1, I'd
create the stream for all 4 then issue the stream command to each one and I
should see the packets flow?
Thanks,
Brian
On Fri, May 16, 2025 at 10:18 PM Brian Padalino bpadalino@gmail.com wrote:
On the X440, I'd like my block to be able to output to both QSFP+ ports. I
will be setting this up using remote streaming and I am wondering the
appropriate way to set up my block to be able to output to both ports. From
the little blurb on remote streaming here:
https://files.ettus.com/manual/page_stream.html#stream_remote
I see that I can supply:
The example uses the MultiUSRP object but I am using straight RFNoC. I
assume I need to do this for every stream that I might create, so for the N
ports that are on my block, I need N RX streams that define those values,
right?
Yes, exactly.
If I had 4 ports, and I wanted to split 2 ports on sfp0 and 2 on sfp1, I'd
create the stream for all 4 then issue the stream command to each one and I
should see the packets flow?
That's right.
--M
One more question regarding remote streaming.
I have a block which has a single CHDR output, but 4 "output ports". I have
an endpoint with 4 inputs.
Am I able to stream my block outputs to different remote locations? When I
try it, it just seems to want to stream to the same software endpoint and
whatever the last configuration was written is used.
I think this makes sense as looking through the HDL, it seems like each
chdr_stream_endpoint can only address a single destination endpoint. So if
I want to use multiple remote streams at different remotes, I'd need to
instantiate a single endpoint for each remote stream I want - right?
Can this be confirmed?
Thanks,
Brian
On Wed, May 21, 2025 at 3:23 AM Martin Braun martin.braun@ettus.com wrote:
On Fri, May 16, 2025 at 10:18 PM Brian Padalino bpadalino@gmail.com
wrote:
On the X440, I'd like my block to be able to output to both QSFP+ ports.
I will be setting this up using remote streaming and I am wondering the
appropriate way to set up my block to be able to output to both ports. From
the little blurb on remote streaming here:
https://files.ettus.com/manual/page_stream.html#stream_remote
I see that I can supply:
The example uses the MultiUSRP object but I am using straight RFNoC. I
assume I need to do this for every stream that I might create, so for the N
ports that are on my block, I need N RX streams that define those values,
right?
Yes, exactly.
If I had 4 ports, and I wanted to split 2 ports on sfp0 and 2 on sfp1,
I'd create the stream for all 4 then issue the stream command to each one
and I should see the packets flow?
That's right.
--M
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hello Community,
I have two X410s with UHD 4.5. They are sync with an OctoClock, so I am using external clock and time.The problem is that whenever I start a test, X410s do ADC self calibration twice, in the 1st time, they calibrate with internal clock, and the 2nd time is due to my configuration of external clock. Self cal takes time.
I need to run the test many times for debug, which means that this self cal is run many times, but all hardware connections and software configurations are not changed in test, so I hope the ADC calibration can be done only once and the cal results can be reused (e.g., save in a file and X410s just load them at the beginning of each test). This will save a lot of cal time and this is the best solution.
If not the best, I can accept a suboptimal solution - calibrate once rather than twice. This means that I need to configure external clock in make command. Is it possible to configure make for this purpose?
Any suggestion will be appreciated.
Kind regards,H.
Hi,
How are you setting your clock/time source?
If you are setting the clock/time source using the `set_clock_source()` or `set_time_source()` function to set your external sources, you might want to try setting these via the device arguments when opening your USRP session (MultiUSRP or RFNoC).
For example use something like this : “addr=<IP of your x410>,clock_source=external,time_source=external“
The reason for this is, that if you open a session without giving these device arguments, the session will be established with default arguments, which for the clock and time source are `internal`(unless otherwise specified in the mpm.conf).
Then, once you change the clock settings to external after the session already has been established, it will reinitialize with the new settings. This could potentially be where the two calibrations you are seeing are coming from.
Regards,
Niels.
zhou wrote:
Hello Community,
I have two X410s with UHD 4.5. They are sync with an OctoClock, so I am using external clock and time.The problem is that whenever I start a test, X410s do ADC self calibration twice, in the 1st time, they calibrate with internal clock, and the 2nd time is due to my configuration of external clock. Self cal takes time.
I need to run the test many times for debug, which means that this self cal is run many times, but all hardware connections and software configurations are not changed in test, so I hope the ADC calibration can be done only once and the cal results can be reused (e.g., save in a file and X410s just load them at the beginning of each test). This will save a lot of cal time and this is the best solution.
If not the best, I can accept a suboptimal solution - calibrate once rather than twice. This means that I need to configure external clock in make command. Is it possible to configure make for this purpose?
Any suggestion will be appreciated.
Kind regards,H.
Hello Niels,
Thanks a lot for your reply. I just tried your suggestion, and it worked as mint! In the 1st run, ADC self cal was run once;in the 2nd and the following runs, self cal was skipped completely! superb! that is what I want :)
Really appreciate your help.
Kind regards,H
On Thursday 19 June 2025 at 10:23:39 BST, niels.steffen.garibaldi--- via USRP-users <usrp-users@lists.ettus.com> wrote:
Hi,
How are you setting your clock/time source?
If you are setting the clock/time source using the set_clock_source()
or set_time_source()
function to set your external sources, you might want to try setting these via the device arguments when opening your USRP session (MultiUSRP or RFNoC).
For example use something like this : “addr=<IP of your x410>,clock_source=external,time_source=external“
The reason for this is, that if you open a session without giving these device arguments, the session will be established with default arguments, which for the clock and time source are internal
(unless otherwise specified in the mpm.conf).
Then, once you change the clock settings to external after the session already has been established, it will reinitialize with the new settings. This could potentially be where the two calibrations you are seeing are coming from.
Regards,
Niels.
zhou wrote:
Hello Community,I have two X410s with UHD 4.5. They are sync with an OctoClock, so I am using external clock and time.The problem is that whenever I start a test, X410s do ADC self calibration twice, in the 1st time, they calibrate with internal clock, and the 2nd time is due to my configuration of external clock. Self cal takes time.I need to run the test many times for debug, which means that this self cal is run many times, but all hardware connections and software configurations are not changed in test, so I hope the ADC calibration can be done only once and the cal results can be reused (e.g., save in a file and X410s just load them at the beginning of each test). This will save a lot of cal time and this is the best solution.If not the best, I can accept a suboptimal solution - calibrate once rather than twice. This means that I need to configure external clock in make command. Is it possible to configure make for this purpose?Any suggestion will be appreciated.Kind regards,H.
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hey Brian,
you are correct, this feature is not implemented. This is the purpose of
the Virtual Channel (VC) fields, but there is no software support for
de-muxing the streams. We deprioritzed this over (many) other things for
several reasons: Our internal usage of multi-channel SEPs is usually around
multiple channels of the radio or replay block, but a single SEP has a
fixed bandwidth which we would exceed, and therefore we need multiple SEPs
anyway. And to be fair, there was not a lot of demand for this feature
compared to other features. We can rebalance this priority evaluation based
on this kind of feedback.
--M
On Tue, Jun 17, 2025 at 11:16 PM Brian Padalino bpadalino@gmail.com wrote:
One more question regarding remote streaming.
I have a block which has a single CHDR output, but 4 "output ports". I
have an endpoint with 4 inputs.
Am I able to stream my block outputs to different remote locations? When I
try it, it just seems to want to stream to the same software endpoint and
whatever the last configuration was written is used.
I think this makes sense as looking through the HDL, it seems like each
chdr_stream_endpoint can only address a single destination endpoint. So if
I want to use multiple remote streams at different remotes, I'd need to
instantiate a single endpoint for each remote stream I want - right?
Can this be confirmed?
Thanks,
Brian
On Wed, May 21, 2025 at 3:23 AM Martin Braun martin.braun@ettus.com
wrote:
On Fri, May 16, 2025 at 10:18 PM Brian Padalino bpadalino@gmail.com
wrote:
On the X440, I'd like my block to be able to output to both QSFP+ ports.
I will be setting this up using remote streaming and I am wondering the
appropriate way to set up my block to be able to output to both ports. From
the little blurb on remote streaming here:
https://files.ettus.com/manual/page_stream.html#stream_remote
I see that I can supply:
The example uses the MultiUSRP object but I am using straight RFNoC. I
assume I need to do this for every stream that I might create, so for the N
ports that are on my block, I need N RX streams that define those values,
right?
Yes, exactly.
If I had 4 ports, and I wanted to split 2 ports on sfp0 and 2 on sfp1,
I'd create the stream for all 4 then issue the stream command to each one
and I should see the packets flow?
That's right.
--M
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com