Discussion and technical support related to USRP, UHD, RFNoC
View all threadsDear all,
recently, we purchased a X410. According to the manual, the USRP supports a maximum I/Q samples rate of up to 491.52 MSps. Using the UHD API however, warnings are printed to stdout that the rate is set to 245.76 MSps.
In the following, you can find a MWE:
#include <uhd/usrp/multi_usrp.hpp>
#include <iostream>
int main() {
uhd::device_addr_t addr = uhd::device_addr_t("addr=localhost");
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(addr);
usrp->set_rx_rate(491.52e6); // max. value deifned in https://www.ni.com/pdf/manuals/378493a
usrp->set_tx_rate(491.52e6); // max. value deifned in https://www.ni.com/pdf/manuals/378493a
std::cout << "Rx rates range from " << usrp->get_rx_rates().start() << " to " << usrp->get_rx_rates().stop()<< std::endl;
std::cout << "Tx rates range from " << usrp->get_tx_rates().start() << " to " << usrp->get_tx_rates().stop()<< std::endl;
std::cout << "Current rate is (rx): " << usrp->get_rx_rate() << std::endl;
std::cout << "Current rate is (tx): " << usrp->get_tx_rate() << std::endl;
}
After building, the following is printed:
root@ni-x4xx-323F74C:~/uhd-evaluation/debug/build# ./set_usrp_rates
[INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.1.0.5-0-g18f5f9a4
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=127.0.0.1,type=x4xx,product=x410,serial=323F74C,fpga=X4_200,claimed=False,addr=localhost
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
Rx rates range from 240941 to 2.4576e+08
Tx rates range from 240941 to 2.4576e+08
Current rate is (rx): 2.4576e+08
Current rate is (tx): 2.4576e+08
The same can be observed using the txrx_loopback_to_file example. Can you help me on that? Thank you in advance 🙂
Version information:
root@ni-x4xx-323F74C:/usr/lib/uhd/examples# uhd_config_info --print-all
UHD 4.1.0.5-0-g18f5f9a4
Build date: Mon, 06 Dec 2021 19:14:55
C compiler: GNU 9.2.0
C++ compiler: GNU 9.2.0
C flags: -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_ASIO_DISABLE_STD_STRING_VIEW -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H -DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2 -DUHD_LOG_CONSOLE_COLOR --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot= -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot-native= --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
C++ flags: -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_ASIO_DISABLE_STD_STRING_VIEW -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H -DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2 -DUHD_LOG_CONSOLE_COLOR --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot= -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden
Enabled components: LibUHD, LibUHD - C API, LibUHD - Python API, Examples, Utils, Tests, MPMD, N300, N320, E320, E300, X400, OctoClock
Install prefix: /usr
Boost version: 1.71
Libusb version: N/A
Library path: /usr/lib
Package path: /usr
Images directory: /usr/share/uhd/images
ABI version string: 4.1.0
Kind regards,
Tobias
Barkhausen Institut
www.barkhauseninstitut.org
Barkhausen Institut gGmbH | Sitz: Würzburger Straße 46, 01187 Dresden, Germany | Registergericht: Amtsgericht Dresden, HRB 37267 | Geschäftsführer: Prof. Dr. Gerhard Fettweis, Dr. Tim Hentschel | Vorsitzender der Gesellschafterdelegation: Dr. Andreas Handschuh
Hinweise zum Datenschutz und zur Verarbeitung Ihrer Daten finden Sie unter: https://barkhauseninstitut.org/data-privacy
This email and any attachments are intended only for the person to whom this email is addressed and may contain confidential and/or privileged information. If you received this email in error, please do not disclose the contents to anyone, but notify the sender by return email and delete this email (and any attachments) from your system. Information on data protection and processing of your personal information: https://barkhauseninstitut.org/data-privacy
On 2022-02-10 07:39, Tobias Kronauer wrote:
Dear all,
recently, we purchased a X410. According to the
manual, the USRP supports a
maximum I/Q samples rate of up to 491.52 MSps. Using the UHD API
however, warnings are printed to stdout that the rate is set to 245.76
MSps.
What type of network interface are you using? A 10GbE interface can
support a maximum of approximately 250Msps.
On 2022-02-10 07:39, Tobias Kronauer wrote:
Dear all,
recently, we purchased a X410. According to the
manual, the USRP supports a
maximum I/Q samples rate of up to 491.52 MSps. Using the UHD API
however, warnings are printed to stdout that the rate is set to 245.76
MSps.
In the following, you can find a MWE:
#include <uhd/usrp/multi_usrp.hpp>
#include <iostream>
int main() {
  uhd::device_addr_t addr = uhd::device_addr_t("addr=localhost");
  uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(addr);
  usrp->set_rx_rate(491.52e6); // max. value deifned in
https://www.ni.com/pdf/manuals/378493a
  usrp->set_tx_rate(491.52e6); // max. value deifned in
https://www.ni.com/pdf/manuals/378493a
  std::cout << "Rx rates range from " <<
usrp->get_rx_rates().start() << " to " <<
usrp->get_rx_rates().stop()<< std::endl;
  std::cout << "Tx rates range from " <<
usrp->get_tx_rates().start() << " to " <<
usrp->get_tx_rates().stop()<< std::endl;
  std::cout << "Current rate is (rx): " << usrp->get_rx_rate() <<
std::endl;
  std::cout << "Current rate is (tx): " << usrp->get_tx_rate() <<
std::endl;
}
After building, the following is printed:
root@ni-x4xx-323F74C:~/uhd-evaluation/debug/build# ./set_usrp_rates
[INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100;
UHD_4.1.0.5-0-g18f5f9a4
[INFO] [MPMD] Initializing 1 device(s) in parallel with args:
mgmt_addr=127.0.0.1,type=x4xx,product=x410,serial=323F74C,fpga=X4_200,claimed=False,addr=localhost
[INFO] [MPM.PeriphManager] init() called with device args
`fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args
`fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual
rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual
rate is 245.760 MHz
Rx rates range from 240941 to 2.4576e+08
Tx rates range from 240941 to 2.4576e+08
Current rate is (rx): 2.4576e+08
Current rate is (tx): 2.4576e+08
The same can be observed using the txrx_loopback_to_file example.
Can you help me on that? Thank you in advance 🙂
Version information:
root@ni-x4xx-323F74C:/usr/lib/uhd/examples# uhd_config_info --print-all
UHD 4.1.0.5-0-g18f5f9a4
Build date: Mon, 06 Dec 2021 19:14:55
C compiler: GNU 9.2.0
C++ compiler: GNU 9.2.0
C flags: -DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_ASIO_DISABLE_STD_STRING_VIEW
-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H
-DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2
-DUHD_LOG_CONSOLE_COLOR
 --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
 -O2 -pipe -g -feliminate-unused-debug-types
-fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot=
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot-native=
 --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
C++ flags: -DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_ASIO_DISABLE_STD_STRING_VIEW
-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H
-DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2
-DUHD_LOG_CONSOLE_COLOR
 --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
 -O2 -pipe -g -feliminate-unused-debug-types
-fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot=
 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot-native=
 -fvisibility-inlines-hidden
--sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
-fvisibility=hidden -fvisibility-inlines-hidden
Enabled components: LibUHD, LibUHD - C API, LibUHD - Python API,
Examples, Utils, Tests, MPMD, N300, N320, E320, E300, X400, OctoClock
Install prefix: /usr
Boost version: 1.71
Libusb version: N/A
Library path: /usr/lib
Package path: /usr
Images directory: /usr/share/uhd/images
ABI version string: 4.1.0
Kind regards,
Tobias
Barkhausen Institut
www.barkhauseninstitut.org
Barkhausen Institut gGmbH | Sitz: Würzburger Straße 46, 01187 Dresden,
Germany | Registergericht: Amtsgericht Dresden, HRB 37267 |
Geschäftsführer: Prof. Dr. Gerhard Fettweis, Dr. Tim Hentschel |
Vorsitzender der Gesellschafterdelegation: Dr. Andreas Handschuh
Hinweise zum Datenschutz und zur Verarbeitung Ihrer Daten finden Sie
unter: https://barkhauseninstitut.org/data-privacy
This email and any attachments are intended only for the person to
whom this email is addressed and may contain confidential and/or
privileged information. If you received this email in error, please do
not disclose the contents to anyone, but notify the sender by return
email and delete this email (and any attachments) from your system.
Information on data protection and processing of your personal
information: https://barkhauseninstitut.org/data-privacy
USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-leave@lists.ettus.com
Hi Tobias,
Sorry for the confusion. To get the full 491.520 MS/s you have to use a
bitstream that supports it, and it requires the 100 GbE interface to stream
at that rate. It looks like you're using the default bitstream that
supports 250 MS/s (called X4_200) and 10 GbE. The initial release of X410
didn't include support for the higher streaming rates but this is planned
for the next UHD software release, and is currently available on master.
Thanks,
Wade
On Thu, Feb 10, 2022 at 10:11 AM Marcus D. Leech patchvonbraun@gmail.com
wrote:
On 2022-02-10 07:39, Tobias Kronauer wrote:
Dear all,
recently, we purchased a X410. According to the manual, the USRP supports a maximum I/Q
samples rate of up to 491.52 MSps. Using the UHD API however, warnings are
printed to stdout that the rate is set to 245.76 MSps.
Also:
https://files.ettus.com/manual/page_usrp_x4xx.html#x4xx_updating_fpga_types
In the following, you can find a MWE:
#include <uhd/usrp/multi_usrp.hpp>
#include <iostream>
int main() {
uhd::device_addr_t addr = uhd::device_addr_t("addr=localhost");
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(addr);
usrp->set_rx_rate(491.52e6); // max. value deifned in
https://www.ni.com/pdf/manuals/378493a
usrp->set_tx_rate(491.52e6); // max. value deifned in
https://www.ni.com/pdf/manuals/378493a
std::cout << "Rx rates range from " << usrp->get_rx_rates().start() <<
" to " << usrp->get_rx_rates().stop()<< std::endl;
std::cout << "Tx rates range from " << usrp->get_tx_rates().start() <<
" to " << usrp->get_tx_rates().stop()<< std::endl;
std::cout << "Current rate is (rx): " << usrp->get_rx_rate() <<
std::endl;
std::cout << "Current rate is (tx): " << usrp->get_tx_rate() <<
std::endl;
}
After building, the following is printed:
root@ni-x4xx-323F74C:~/uhd-evaluation/debug/build# ./set_usrp_rates
[INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100;
UHD_4.1.0.5-0-g18f5f9a4
[INFO] [MPMD] Initializing 1 device(s) in parallel with args:
mgmt_addr=127.0.0.1,type=x4xx,product=x410,serial=323F74C,fpga=X4_200,claimed=False,addr=localhost
[INFO] [MPM.PeriphManager] init() called with device args
`fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args
`fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate
is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate
is 245.760 MHz
Rx rates range from 240941 to 2.4576e+08
Tx rates range from 240941 to 2.4576e+08
Current rate is (rx): 2.4576e+08
Current rate is (tx): 2.4576e+08
The same can be observed using the txrx_loopback_to_file example. Can
you help me on that? Thank you in advance 🙂
Version information:
root@ni-x4xx-323F74C:/usr/lib/uhd/examples# uhd_config_info --print-all
UHD 4.1.0.5-0-g18f5f9a4
Build date: Mon, 06 Dec 2021 19:14:55
C compiler: GNU 9.2.0
C++ compiler: GNU 9.2.0
C flags: -DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_ASIO_DISABLE_STD_STRING_VIEW
-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H
-DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2
-DUHD_LOG_CONSOLE_COLOR
--sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
-O2 -pipe -g -feliminate-unused-debug-types
-fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0/recipe-sysroot=
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0/recipe-sysroot-native=
--sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5
+rc2-r0/recipe-sysroot
C++ flags: -DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_ASIO_DISABLE_STD_STRING_VIEW
-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H
-DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2
-DUHD_LOG_CONSOLE_COLOR
--sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
-O2 -pipe -g -feliminate-unused-debug-types
-fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0=/usr/src/debug/uhd/4.1.0.5+rc2-r0
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0/recipe-sysroot=
-fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/
4.1.0.5+rc2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden
--sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5+rc2-r0/recipe-sysroot
-fvisibility=hidden -fvisibility-inlines-hidden
Enabled components: LibUHD, LibUHD - C API, LibUHD - Python API, Examples,
Utils, Tests, MPMD, N300, N320, E320, E300, X400, OctoClock
Install prefix: /usr
Boost version: 1.71
Libusb version: N/A
Library path: /usr/lib
Package path: /usr
Images directory: /usr/share/uhd/images
ABI version string: 4.1.0
Kind regards,
Tobias
Barkhausen Institut
www.barkhauseninstitut.org
Barkhausen Institut gGmbH | Sitz: Würzburger Straße 46, 01187 Dresden,
Germany | Registergericht: Amtsgericht Dresden, HRB 37267 |
Geschäftsführer: Prof. Dr. Gerhard Fettweis, Dr. Tim Hentschel |
Vorsitzender der Gesellschafterdelegation: Dr. Andreas Handschuh
Hinweise zum Datenschutz und zur Verarbeitung Ihrer Daten finden Sie
unter: https://barkhauseninstitut.org/data-privacy
This email and any attachments are intended only for the person to whom
this email is addressed and may contain confidential and/or privileged
information. If you received this email in error, please do not disclose
the contents to anyone, but notify the sender by return email and delete
this email (and any attachments) from your system. Information on data
protection and processing of your personal information:
https://barkhauseninstitut.org/data-privacy
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 Wade,
thanks for you answer.
I built the master branch, reran the program (without changes) with the new UHD and did not modifiy my test-program at all. I receive the following:
root@ni-x4xx-323F74C:~/uhd-evaluation/debug/build# ./set_usrp_rates
[INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.2.0.git-366-gcdcd39ae
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=127.0.0.1,type=x4xx,product=x410,serial=323F74C,fpga=X4_200,claimed=False,addr=localhost
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[INFO] [0/Radio#0] Setting default MTU forward policy.
[INFO] [0/Radio#1] Setting default MTU forward policy.
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
Rx rates range from 240941 to 2.4576e+08
Tx rates range from 240941 to 2.4576e+08
Current rate is (rx): 2.4576e+08
Current rate is (tx): 2.4576e+08
I have to admit, probably due to a lack of cmake/build skills, I had to force cmake to use the 4.2.0 uhd (located in /usr/local) instead of the "old" pre-installed one. I did so by commenting out some lines in the UHDConfig.cmake. Cmake takes successfully the includes and binaries in /usr/local. I am quite sure that this works, but not 100% certain. In case this helps.
Did I forget something?
Thanks a million!
Tobias
Von: Wade Fife wade.fife@ettus.com
Gesendet: Donnerstag, 10. Februar 2022 17:31
An: Marcus D. Leech patchvonbraun@gmail.com
Cc: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Betreff: [USRP-users] Re: [UHD] Setting sampling rates to 500Msps is not supported.
Hi Tobias,
Sorry for the confusion. To get the full 491.520 MS/s you have to use a bitstream that supports it, and it requires the 100 GbE interface to stream at that rate. It looks like you're using the default bitstream that supports 250 MS/s (called X4_200) and 10 GbE. The initial release of X410 didn't include support for the higher streaming rates but this is planned for the next UHD software release, and is currently available on master.
Thanks,
Wade
On Thu, Feb 10, 2022 at 10:11 AM Marcus D. Leech <patchvonbraun@gmail.commailto:patchvonbraun@gmail.com> wrote:
On 2022-02-10 07:39, Tobias Kronauer wrote:
Dear all,
recently, we purchased a X410. According to the manual, the USRP supports a maximum I/Q samples rate of up to 491.52 MSps. Using the UHD API however, warnings are printed to stdout that the rate is set to 245.76 MSps.
Also:
https://files.ettus.com/manual/page_usrp_x4xx.html#x4xx_updating_fpga_types
In the following, you can find a MWE:
#include <uhd/usrp/multi_usrp.hpp>
#include <iostream>
int main() {
uhd::device_addr_t addr = uhd::device_addr_t("addr=localhost");
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(addr);
usrp->set_rx_rate(491.52e6); // max. value deifned in https://www.ni.com/pdf/manuals/378493a
usrp->set_tx_rate(491.52e6); // max. value deifned in https://www.ni.com/pdf/manuals/378493a
std::cout << "Rx rates range from " << usrp->get_rx_rates().start() << " to " << usrp->get_rx_rates().stop()<< std::endl;
std::cout << "Tx rates range from " << usrp->get_tx_rates().start() << " to " << usrp->get_tx_rates().stop()<< std::endl;
std::cout << "Current rate is (rx): " << usrp->get_rx_rate() << std::endl;
std::cout << "Current rate is (tx): " << usrp->get_tx_rate() << std::endl;
}
After building, the following is printed:
root@ni-x4xx-323F74C:~/uhd-evaluation/debug/build# ./set_usrp_rates
[INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.1.0.5-0-g18f5f9a4
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=127.0.0.1,type=x4xx,product=x410,serial=323F74C,fpga=X4_200,claimed=False,addr=localhost
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200,mgmt_addr=127.0.0.1,product=x410,clock_source=internal,time_source=internal'.
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set RX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
[WARNING] [MULTI_USRP] Could not set TX rate to 491.520 MHz. Actual rate is 245.760 MHz
Rx rates range from 240941 to 2.4576e+08
Tx rates range from 240941 to 2.4576e+08
Current rate is (rx): 2.4576e+08
Current rate is (tx): 2.4576e+08
The same can be observed using the txrx_loopback_to_file example. Can you help me on that? Thank you in advance 🙂
Version information:
root@ni-x4xx-323F74C:/usr/lib/uhd/examples# uhd_config_info --print-all
UHD 4.1.0.5-0-g18f5f9a4
Build date: Mon, 06 Dec 2021 19:14:55
C compiler: GNU 9.2.0
C++ compiler: GNU 9.2.0
C flags: -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_ASIO_DISABLE_STD_STRING_VIEW -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H -DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2 -DUHD_LOG_CONSOLE_COLOR --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0=/usr/src/debug/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0=/usr/src/debug/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot= -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot-native= --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot
C++ flags: -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_ASIO_DISABLE_STD_STRING_VIEW -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW -DHAVE_CONFIG_H -DUHD_LOG_MIN_LEVEL=1 -DUHD_LOG_CONSOLE_LEVEL=2 -DUHD_LOG_FILE_LEVEL=2 -DUHD_LOG_CONSOLE_COLOR --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0=/usr/src/debug/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0=/usr/src/debug/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0 -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot= -fdebug-prefix-map=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=/__w/790/build/tmp-glibc/work/aarch64-oe-linux/uhd/4.1.0.5<http://4.1.0.5>+rc2-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden
Enabled components: LibUHD, LibUHD - C API, LibUHD - Python API, Examples, Utils, Tests, MPMD, N300, N320, E320, E300, X400, OctoClock
Install prefix: /usr
Boost version: 1.71
Libusb version: N/A
Library path: /usr/lib
Package path: /usr
Images directory: /usr/share/uhd/images
ABI version string: 4.1.0
Kind regards,
Tobias
Barkhausen Institut
www.barkhauseninstitut.orghttp://www.barkhauseninstitut.org
Barkhausen Institut gGmbH | Sitz: Würzburger Straße 46, 01187 Dresden, Germany | Registergericht: Amtsgericht Dresden, HRB 37267 | Geschäftsführer: Prof. Dr. Gerhard Fettweis, Dr. Tim Hentschel | Vorsitzender der Gesellschafterdelegation: Dr. Andreas Handschuh
Hinweise zum Datenschutz und zur Verarbeitung Ihrer Daten finden Sie unter: https://barkhauseninstitut.org/data-privacy
This email and any attachments are intended only for the person to whom this email is addressed and may contain confidential and/or privileged information. If you received this email in error, please do not disclose the contents to anyone, but notify the sender by return email and delete this email (and any attachments) from your system. Information on data protection and processing of your personal information: https://barkhauseninstitut.org/data-privacy
USRP-users mailing list -- usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.commailto:usrp-users-leave@lists.ettus.com
USRP-users mailing list -- usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.commailto:usrp-users-leave@lists.ettus.com
Hi Tobias,
On 14/02/22 10:31, Tobias Kronauer wrote:
I built the master branch, [...]
[...]
[INFO] [MPM.PeriphManager] init() called with device args `fpga=X4_200, [...]
[...]
[...]
Did I forget something?
From the log, you are still using X4_200.
AFAIU, you need to synthesise a CG_400 FPGA image [1] to allow
sample rates higher than 245.76 MSps.
I don't own that device, nor use UHD4, but I guess one can build such
image using [2]:
cd $UHD_SOURCE/fpga/usrp3/top/x400/
rfnoc_image_builder -y ./x410_400_rfnoc_image_core.yml
And use the generated bitstream under ./build/
N.B.: I don't know if the bitstream is compatible with UHD-4.1 or
only works with UHD-master.
[1] https://files.ettus.com/manual/page_usrp_x4xx.html#x4xx_updating_fpga_types
[2] https://kb.ettus.com/Getting_Started_with_RFNoC_in_UHD_4.0#Running_the_Image_Builder
--
Cédric Hannotier