[USRP-users] [UHD] Announcing 3.14.0.0 Release Candidate 1

Nate Temple nate.temple at ettus.com
Fri Feb 8 11:57:49 EST 2019


Hi Robert,

Can you try adding the NIC configuration to /root/.uhd/uhd.conf instead of
/etc/uhd/uhd.conf ? You'll need to run your UHD applications as root as
well.

You will also need to change the line:

dpdk-driver=/usr/local/lib/dpdk-pmds/

to be:

dpdk-driver=/usr/lib/x86_64-linux-gnu/

You'll also need to update the MAC addresses for your NICs.


With the config setup, you'll see the NICs come up like this when running a
UHD application:

...
PMD: ixgbe_dev_link_status_print():  Port 0: Link Down
EAL: Port 0 MAC: xx xx xx xx xx xx
EAL: Port 0 UP: 1
PMD: ixgbe_dev_link_status_print():  Port 1: Link Down
EAL: Port 1 MAC: xx xx xx xx xx xx
EAL: Port 1 UP: 1
EAL: Init DONE!
EAL: Starting I/O threads!
USER2: Thread 1 started
[00:00:00.000003] Creating the usrp device with:
...

We'll be updating the DPDK docs to reflect a few of these changes before
the final 3.14 release.

Regards,
Nate Temple


On Fri, Feb 8, 2019 at 6:40 AM Robert via USRP-users <
usrp-users at lists.ettus.com> wrote:

> I found this wiki page on DPDK:
> https://files.ettus.com/manual/page_dpdk.html
>
>
>
> Tried to follow the described steps on Xubuntu 18.04 with UHD
> v3.14.0.0-rc1 (also updated SD and FPGA image) and Intel X520DA, but no
> success so far.
>
>
>
> -          IOMMU is enabled for NIC, checked with short bash script:
>
> #!/bin/bash
>
> shopt -s nullglob
>
> for d in /sys/kernel/iommu_groups/*/devices/*; do
>
>     n=${d#*/iommu_groups/*}; n=${n%%/*}
>
>     printf 'IOMMU Group %s ' "$n"
>
>     lspci -nns "${d##*/}"
>
> done;
>
>
>
> shows:
>
>
>
> IOMMU Group 0 00:00.0 Host bridge [0600]: Intel Corporation Device
> [8086:3ec2] (rev 07)
>
> IOMMU Group 10 00:1d.0 PCI bridge [0604]: Intel Corporation 200 Series PCH
> PCI Express Root Port #9 [8086:a298] (rev f0)
>
> IOMMU Group 11 00:1f.0 ISA bridge [0601]: Intel Corporation Device
> [8086:a2c9]
>
> IOMMU Group 11 00:1f.2 Memory controller [0580]: Intel Corporation 200
> Series PCH PMC [8086:a2a1]
>
> IOMMU Group 11 00:1f.3 Audio device [0403]: Intel Corporation 200 Series
> PCH HD Audio [8086:a2f0]
>
> IOMMU Group 11 00:1f.4 SMBus [0c05]: Intel Corporation 200 Series PCH
> SMBus Controller [8086:a2a3]
>
> IOMMU Group 12 00:1f.6 Ethernet controller [0200]: Intel Corporation
> Ethernet Connection (2) I219-V [8086:15b8]
>
> IOMMU Group 13 04:00.0 Network controller [0280]: Intel Corporation
> Wireless 8265 / 8275 [8086:24fd] (rev 78)
>
> IOMMU Group 14 3e:00.0 Non-Volatile memory controller [0108]: Samsung
> Electronics Co Ltd Device [144d:a808]
>
> IOMMU Group 1 00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe
> Controller (x16) [8086:1901] (rev 07)
>
> IOMMU Group 1 01:00.0 Ethernet controller [0200]: Intel Corporation
> 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
>
> IOMMU Group 1 01:00.1 Ethernet controller [0200]: Intel Corporation
> 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
>
> IOMMU Group 2 00:02.0 VGA compatible controller [0300]: Intel Corporation
> Device [8086:3e92]
>
> IOMMU Group 3 00:14.0 USB controller [0c03]: Intel Corporation 200 Series
> PCH USB 3.0 xHCI Controller [8086:a2af]
>
> IOMMU Group 3 00:14.2 Signal processing controller [1180]: Intel
> Corporation 200 Series PCH Thermal Subsystem [8086:a2b1]
>
> IOMMU Group 4 00:16.0 Communication controller [0780]: Intel Corporation
> 200 Series PCH CSME HECI #1 [8086:a2ba]
>
> IOMMU Group 5 00:17.0 SATA controller [0106]: Intel Corporation 200 Series
> PCH SATA controller [AHCI mode] [8086:a282]
>
> IOMMU Group 6 00:1b.0 PCI bridge [0604]: Intel Corporation 200 Series PCH
> PCI Express Root Port #17 [8086:a2e7] (rev f0)
>
> IOMMU Group 7 00:1c.0 PCI bridge [0604]: Intel Corporation 200 Series PCH
> PCI Express Root Port #1 [8086:a290] (rev f0)
>
> IOMMU Group 8 00:1c.2 PCI bridge [0604]: Intel Corporation 200 Series PCH
> PCI Express Root Port #3 [8086:a292] (rev f0)
>
> IOMMU Group 9 00:1c.4 PCI bridge [0604]: Intel Corporation 200 Series PCH
> PCI Express Root Port #5 [8086:a294] (rev f0)
>
>
>
>
>
> -          hugepages are available and free according to cat
> /proc/meminfo | grep Huge:
>
> AnonHugePages:         0 kB
>
> ShmemHugePages:        0 kB
>
> HugePages_Total:    2048
>
> HugePages_Free:     2048
>
> HugePages_Rsvd:        0
>
> HugePages_Surp:        0
>
> Hugepagesize:       2048 kB
>
>
>
>
>
> -          vfio-pci is loaded and binding is changed to DPDK driver with
> dpdk-devbind script, dpdk-devbind shows
>
> Network devices using DPDK-compatible driver
>
> ============================================
>
> 0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb'
> drv=vfio-pci unused=ixgbe
>
> 0000:01:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb'
> drv=vfio-pci unused=ixgbe
>
>
>
>
>
> -          edited the /etc/uhd/uhd.conf file according to the wiki page
>
>
>
> -          Running benchmark_rate with the use_dpdk=1 option
>
> sudo /usr/local/lib/uhd/examples/benchmark_rate  \
>
>    --args
> "type=n3xx,mgmt_addr=192.168.20.230,addr=192.168.1.2,second_addr=192.168.2.2,use_dpdk=1,master_clock_rate=125e6"
> \
>
>    --duration 60 \
>
>    --channels "0,1,2,3" \
>
>    --rx_rate 62.5e6 \
>
>    --rx_subdev "A:0 A:1 B:0 B:1"
>
>
>
> fails:
>
>
>
> [INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501;
> UHD_3.14.0.HEAD-0-gc7941e05
>
> [00:00:00.000002] Creating the usrp device with:
> type=n3xx,mgmt_addr=192.168.20.230,addr=192.168.1.2,second_addr=192.168.2.2,use_dpdk=1,master_clock_rate=125e6...
>
> [INFO] [MPMD] Initializing 1 device(s) in parallel with args:
> mgmt_addr=192.168.20.230,type=n3xx,product=n310,serial=3177E58,claimed=False,addr=192.168.1.2,second_addr=192.168.2.2,use_dpdk=1,master_clock_rate=125e6
>
> [INFO] [MPM.PeriphManager.UDP] No CHDR interfaces found!
>
> [ERROR] [MPMD] No viable transport path found!
>
> [ERROR] [MPMD] Failure during block enumeration: RuntimeError: No viable
> transport path found!
>
> [INFO] [MPM.PeriphManager] init() called with device args
> `master_clock_rate=125e6,second_addr=192.168.2.2,mgmt_addr=192.168.20.230,product=n310,clock_source=internal,time_source=internal,use_dpdk=1'.
>
> [INFO] [MPM.PeriphManager.UDP] No CHDR interfaces found!
>
> Error: RuntimeError: Failed to run enumerate_rfnoc_blocks()
>
>
>
>
>
> Not sure if I’m missing s.th.? Would be great to get this running!
>
>
>
> Robert
>
>
>
>
>
>
>
> *From:* USRP-users [mailto:usrp-users-bounces at lists.ettus.com] *On Behalf
> Of *Nick Foster via USRP-users
> *Sent:* Thursday, February 07, 2019 7:29 PM
> *To:* Michael West
> *Cc:* USRP-users at lists.ettus.com; discuss-gnuradio at gnu.org
> *Subject:* Re: [USRP-users] [UHD] Announcing 3.14.0.0 Release Candidate 1
>
>
>
> Great news! DPDK support is an interesting development. Is there any
> documentation or examples which show this capability?
>
>
>
> Nick
>
>
>
>
>
> On Thu, Feb 7, 2019 at 10:05 AM Michael West via USRP-users <
> usrp-users at lists.ettus.com> wrote:
>
> The release candidate of UHD version 3.14.0.0 has been tagged and is
> available for testing.  This API release introduces support for the N320
> and N321 USRPs soon to be released (watch for the announcement on
> ettus.com!), a DPDK-based transport, and several other features and bug
> fixes.  This release includes all bug fixes and enhancements in the
> 3.13.0.1, 3.13.0.2, and 3.13.1.0 maintenance releases.
>
>
>
> The tag for this release candidate:
> https://github.com/EttusResearch/uhd/releases/tag/v3.14.0.0-rc1
>
> There have been 406 commits since the last API release (3.13.0.0) which
> can be viewed here:
>
> https://github.com/EttusResearch/uhd/compare/v3.13.0.0...v3.14.0.0-rc1
>
>
>
> Please report any bugs found on the UHD issue tracker:
>
> http://github.com/EttusResearch/uhd/issues
>
> * Please do not use the issue tracker for help or support.
>
>
>
> Pull requests for direct code changes may be submitted to the UHD or FPGA
> repositories:
>
> http://github.com/EttusResearch/uhd/pulls
>
> http://github.com/EttusResearch/fpga/pulls
>
>
>
> CHANGELOG:
>
> ## 003.014.000.000
> * N320: Add N320 and N321
> * Test: Add Python API test
> * Device3: Move from packet-based to byte-based flow control
> * X300: Reduce default send_frame_size to 4000 over Ethernet
> * UHD: Release recv buffers earlier in rx_streamer
> * Device3: Constrain send_buff_size to input fifo size
> * X300: Change Ethernet buffering
> * MPMD: Parallelize broadcast-finding
> * Device: Parallelize device discovery
> * Docs: Fix Doxygen warnings
> * B100: Move fifo_ctrl_excelsior to b100 subdir
> * B100: Fix fifo_ctrl_excelsior not exiting
> * B100: Remove all Boostisms from fifo_ctrl_excelsior
> * B100: Demote some clocking-related log messages to trace
> * X300: Log git hash and compat number as debug message
> * N310: Modify AD9371 reset function to keep it in reset
> * N3xx: clocking API changes for transitioning clock and time sources
> * E320: bist: Fix ref_clock lock test implementation
> * UHD: Fix ADF400x driver for ref counter and charge pump mode
> * E320: bist: Add link_up test
> * MPM: Get list of temperatures from all thermal zones
> * E320: Add all 5 temp sensors, fan sensor and rssi sensors per channel
> * E320: Fix tx/rx atr - antenna and frequency settings
> * E320: Enable devtest for E320
> * X300: Move defaults to their own header
> * UHD: Improve constrained_device_args_t
> * X300: Use constrained_args
> * X300: Enable clock_source and time_source device args
> * Test: Integrate Python API Tester into Devtest
> * N3xx: Bump max rev to G/6
> * N3xx: Improve error messages for invalid clock/time settings
> * E320: images: Separate images package for Aurora image
> * B200: Remove superfluous fake lambda
> * B200: Add support for user regs
> * Docs: Add info on how to implement user regs on B200
> * UHD API: Add multi_usrp::get_user_settings_iface()
> * N310: move init_rf_cal before JESD de/framer bringup
> * UHD: Remove usage of time_t (except when required)
> * NIRIO: Demote RPC client cancel/abort to TRACE
> * RFNoC: Convert SR_READBACK_REG_FIFOSIZE to bytes
> * Utils: Add Zip test to downloader
> * Utils: Factor wait_for_lo_lock() out of cal utils
> * DPDK: Add DPDK-based sockets-like library
> * MPMD: add option to enum rfnoc blocks from args
> * E320: Get RFNoC crossbar baseport from FPGA
> * N3xx: Get RFNoC crossbar baseport from FPGA
> * UHD: add default xport params to udp_zero_copy
> * MPM: add link_speed xport_info
> * MPMD: add link speed to xport udp
> * Device3: remove tx_hint[send_buff_size]
> * X300: remove default_buff_args properties
> * RFNoC: Add ability to enable/disable RX timestamp
> * RFNoC: add async message handler
> * Examples: add rfnoc_radio_loopback example
> * UHD: Update rx_frontend_gen3.v controls for 1/4-rate mixer
> * UHD API: Move definition of ALL_MBOARDS and ALL_CHANS constants to
>            CPP file.
> * MPM: Add __mpm_device__ as usrp_hwd module variable
> * MPM: Add usrp_update_fs
> * UHD: Add traffic counter to null source sink
> * Examples: Add benchmark_streamer example
> * Tools: Add tool to analyze settling time of gain and freq changes
> * UHD API: Add multi_usrp::set_sync_source() API
> * UHD: Improve documentation for the UHD exception types
> * Examples: Add dual measurements to benchmark_streamer
> * MPM: Add i2c APIs for simple transfers
> * MPM: Add vector-based transfer function for i2c
> * UHD: Improve documentation for set_{time,clock,sync}_source
> * CMake: Bump CMake minimum version to 2.8.12
> * MPM: Add variable configuration support to nijesdcore
> * MPM: Add eyescan utility to nijesdcore
> * MPM: Add PRBS-31 testing to nijesdcore
> * CMake: Change SOVERSION and VERSION for the library files
> * Test: Add graph impl test to device3_test
> * RFNoC: Changes to traffic counter register names
> * X300: Remove 120 MHz master_clock_rate option
> * MPM: Add convenience function to pull i2c bus from device tree
> * UHD: add .clang-format file
> * MPM: Open and close i2c file descriptor on every access
> * UHD: Add device arg to enable dual ethernet for tx
> * Test: Retrofit sph test to use new mock transport
> * X300: Set minimum master clock rate to 184.32 MHz
> * RFNoC: Fix replay example port args
> * RFNoC: Fix default SPP for replay
> * RFNoC: Add halt to replay API
> * UHD API: Add sync source to Python API
> * Examples: Clean up rfnoc_radio_loopback example
> * UHD: Improve compatibility of abs() calls
> * UHD: include <stdint.h> for int64_t for time_spec
> * USRP-2974: Add support for USRP-2974
> * UHD API: Add support for Tx LO control to C API
> * E310: Fix initialization of antenna and frequency values
> * Test: Enable rx_samples_to_file in devtest for X300
> * Examples: Add keyboard controls to rx_ascii_art_dft
> * Examples: Add benchmark_streamer support for multi-channel streamer
> * MPM: Multiprocessing instead of threading for claimer loop
> * MPM: Factor out user EEPROM code into own module
> * RFNoC: Fix late packet errors
> * X300: Factor our PID -> MB type and MB type -> product name mapping
> * X300: Remove usage of boost::bind
> * Docs: Add manual page on compat numbers
> * UHD: Updates to coding guidelines
> * Examples: Optimize benchmark_rate start time
> * Examples: Improve formatting and comments in tx_waveforms
> * Examples: Optimize tx_waveforms memory allocations
> * UHD: Fix MSVC warnings by changing a size_t to unsigned int or
>        uint32_t
> * Test: Fix CMake `endif` warning for devtest
> * MPM: Add gpgga sensor function to GPSd iface
> * Test: Fix compiler warning about unused timestamp
> * X300: Fix compiler warnings related to type conversions
> * B200: Fix compiler warnings related to type conversions
> * Test: Add #include <thread> in system time test
> * Examples: change boost to std for time commands
> * UHD: Add potentially missing but sometimes inferred include for
>        experts
> * UHD: Add default xport params to udp_wsa_zero_copy
> * Examples: Add LO Offset to rx_samples_to_file
> * Examples: update lo-offset naming in tx from file
> * Examples: Add lo-offset to tx_waveforms
> * UHD: Move device3 flow control functions to header for benchmark
>        utility
> * Test: Add benchmark of streaming code paths
> * MPMD: Add API to set RPC timeout atomically
> * MPMD: Move timeout constants to header
> * MPMD: Use new RPC API with timeout
> * MPMD: Increase claim_rpc call timeout
> * Examples: Improved error message in tx_waveforms
> * UHD: Make sure BOOST_VERSION is always available
> * Docs: Add comments for TwinRX and MCR
> * DPDK: Add ARP responder, set MTU, and clean up API
> * DPDK: Add blocking recv calls to uhd-dpdk
> * DPDK: Add dpdk_zero_copy transport
> * Test: Add unit test for DPDK transport
> * Test: Add arguments to dpdk_test to control core mapping
> * DPDK: Move uhd-dpdk header to uhdlib
> * UHD: Make clang-format skip formatting for some data structures
> * UHD: Remove vim hints in headers
> * Examples: Move ascii_art_dft main function within include guard
> * UHD/MPM: Apply clang-format to all files
> * UHD: Add modified clang-format for headers
> * MPM: Add bridge mode support
> * RFNoC: Fix detection of outstanding acks by ctrl_iface
> * UHD: Replace uhd::math::log2 with std::log2
> * UHD: Replace boost::*::{lcm,gcd}() with portable versions
> * UHD API: Change get_{tx/rx}_dc_offset_range default from ALL_CHANS
>            to 0
> * UHD: Revert to boost instead of std for sleep in some instances
> * UHD: Replace Boost macros with custom ones for endianness
> * MPMD: implement get_*x_hints
> * MPMD: honor user supplied send/recv_frame_size args
> * UHD: muxed_zero_copy_if fixes
> * Examples: Fix boundary condition in ascii_art_dft plotting
> * CMake: Extend list of additional Boost versions
> * Device3: Replace NULL with 0 for empty function pointers
> * RFNoC: Add some missing virtual destructors
> * Test: replace has_key by using 'in'
> * Test: Add universal_newlines to subprocess call in devtest
> * MPMD: Use 4096 bytes for frame size for liberio transport
> * DPDK: Add xport_mgr for dpdk_zero_copy
> * DPDK: Cover all paths to request TX offloads
> * Test: Fix up dpdk_test to use current APIs
> * MPM: Parameterize max UDP link allocation
> * UHD: Replace Boost lock & mutex with std variety for AD9361 code
> * CPack: Fix RPM generation
> * Utils: Add check for gdb_eeprom before accessing
> * RFNoC: Update FIFO XML definition
> * MPMD: Use init timeout for update_component
> * Docs: Add manual page for DPDK
> * Docs: Add information about what dpdk_zero_copy is doing
> * Tools: Make the UHD source gen a plugin for the phase alignment test
> * CMake: fix variable usage
> * RFNoC: Prevent unnecessary FC ACK packets
> * RFNoC: More graph traversal fixes
> * Device3: Remove redundant function call
> * RFNoC: Fix scaling of M and N values in DDC/DUC
> * X300: Fix tick and sample rate setting
> * RFNoC: Fix typos in legacy_compat
> * RFNoC: Limit number of control packets in flight
> * Device3: Fix flow control window and interval
> * E3xx: Increase spp limit for E3xx radio
> * E31x: Destruct RFNoC before loading idle image
> * N3xx: init peripherals before loading FPGA (to fix SFP0 init issues)
> * N3xx: Move Linux kernel to 4.15
> * N3xx/E320: Prepend SDK filename with device name
> * N310: Fix sporadic power on failures (requires firmware update)
>
>
> ## 003.013.001.000
> * E320: Fix front panel GPIO readback
> * E320: Fix master_clock_rate setting
> * E320: Print extra ouptut for ref_clock BIST
> * E320: Fix gps_locked type
> * E320: Fix return value of get_fpga_type()
> * N3xx: Enable setting clock and time sources at runtime
> * N3xx: Add ref_clock BIST
> * N3xx: Improve set_time_source() and set_clock_source()
> * N3xx: Add exception for init failure
> * N3xx: Remove HA, XA images packages
> * N3xx: Change init() procedure to reduce configuration time
> * N310: Add frequency bounds
> * N310: Fix RX antenna mapping
> * N310: Add log messages when re-initializing dboards
> * N310: Add skip_rfic argument to reduce time of BIST
> * N310: Add initialization of TX bandwidth
> * E310: Fix initialization of antenna and frequency values
> * E310: Type-cast fix for Boost
> * X300: Improve firmware compat error message
> * X300: Updated niusrprio driver
> * X300: Add recovery for duplicate IP addresses in EEPROM
> * X300: Prevent duplicate MAC and IP addresses from being programmed
> * X300: New mode to configure master clock rate
> * X300: Implement RFNoC get antenna functions
> * B2xx: Fix values of MASK_GPIO_SHDN_SW and GPIO_AUX_PWR_ON in firmware
> * B2xx: Revert changes to DSP core to fix scaling factor adjustment
> * B2xx: Restore asynchronous reset of AD936x
>         (fixes LIBUSB_TRANSFER_OVERFLOW and unexpected sid errors)
> * TwinRX: enable ch1 lo amps if ch2 is using an external lo source
> * TwinRX: Correctly initialize antenna mapping on X300
> * TwinRX: Revise ADF5356 frac2 register calculation to prevent drifting
> spurs
> * TwinRX: Fix initialization
> * TwinRX: Tuning improvements
> * TwinRX: Enable phase resync on ADF535x
> * TwinRX: Make routing to LO1 and LO2 mutually exclusive
> * BasicRX/LFRX: Fix real mode in rx_frontend_core_3000
> * UHD: Define UHD_API as empty string when building static lib
> * UHD: Changed to 'all_matching' endpoint resolution for udp_simple
> transport
> * UHD: Add CMake flag for NEON SIMD
> * UHD: Fix usb_dummy_impl compilation in MSVC
> * UHD: Reconcile time_spec operators with boost concepts
> * UHD: Fix rounding in ddc/duc rate calculation
> * UHD: Increase MPMD RPC timeout when calling set_time_source()
> * UHD: Fix RX streamer SOB and EOB handling
> * UHD: Add UHD_SAFE_CALL to block_ctrl_base destructor
> * UHD: Change SOVERSION to ABI string and VERSION to full UHD version
> * UHD: Update cmake style to use lower case commands
> * UHD: Add SOURCE_DATE_EPOCH
> * UHD: Improve logic for UHD_IMAGES_DIR
> * UHD: Add RUNTIME_PYTHON_EXECUTABLE
> * UHD: Fix return value of get_rolloff() for filters
> * UHD: Properly register devtest
> * UHD: Fix log statement for Port number on RFNoC block
> * UHD: Use "MATCHES" instead of "STREQUAL" for "Clang"
> * UHD: Fix GPGGA string formatting for gpsd
> * Device3: Set default block control response SIDs
> * Device3: Fix block control flushing
> * RFNoC: Improved flushing mechanism in noc_shell and dma_fifo
> * RFNoC: Install missing dma_fifo_block_ctrl header
> * RFNoC: Replace some [] with .at() in radio_ctrl_impl
> * RFNoC: Fix graph traversal
> * MPM: Add Git hash, version to device info
> * MPM: Reset the RPC server upon reload
> * MPM: TDC: Update PDAC BIST and flatness test to use latest APIs
> * MPM: Fix handling of 0-valued dt-compat
> * MPM: Fix GPSD sensor names for N3xx and E320
> * MPM: Add args to update_ref_clock_freq to properly support dynamic
> setting
> *      of clock and time references
> * MPM: Fix Pylint warnings
> * MPM: Identify sysfs gpios more generically
> * MPM: Add lock_guard() function
> * MPM: Factor E320 and N3xx BIST code into common module
> * MPM: Add gpsd error handling
> * MPM: Add FPGA git hash to device info
> * MPMD: Increase RPC timeout during readng mb sensor
> * MPMD: Improve error message for compat number mismatches
> * Python API: Enable Python API on Windows
> * Python API: Change .dll to .pyd for Win32
> * Python API: Fixing Boost.Python initializer visibility
> * Python API: Fix duration of benchmark rate
> * Python API: Add missing constructors of time_spec_t
> * Python API: Expose streamer timeouts
> * Python API: Tighten the scope of releasing the GIL
> * Python API: Add device_addr_t
> * Python API: Populate the tune_result_t binding
> * Utils: Many fixes and enhancements for uhd_images_downloader
> * Utils: Update query_gpsdo_sensors to work on E310
> * Examples: Removed some legacy code patterns from RFNoC examples
> * Examples: Fix channel argument for rx_samples_to_file
> * Examples: Fix benchmark_rate MIMO synchronization
> * Examples: Add phase alignment example
> * Examples: Fix RX antenna not being applied in txrx_loopback_to_file
> * Test: Add more env vars, make Py3k compatible
> * Test: Add multi_usrp_test.py to devtest
> * Test: Clean up, refactor, and improve devtest
> * Test: Enable rx_samples_to_file in E320 devtest and N3xx devtest
> * Test: Reduce sample rate for E320 1G devtest
> * Test: Add unit test for eeprom_utils
> * Docs: Add clock_source and time_source to n3xx argument list and fix WR
> clock_source call
> * Docs: Minor tweaks to the Python API manual page
> * Docs: Add E320 test procedures
> * Docs: Added TwinRX page
> * Docs: Fix N210 MIMO Phase Alignment test command
> * Docs: Add E320 information
> * Docs: Improve sections on clock/time references
> * Docs: Add section on X300 motherboard clocking
> * Docs: Add more information on Salt for N3xx and E320
> * Docs: Adjust E310 functional verification tests
> * Docs: Add documentation on GIL release
> * Debian: Update control files
> * Images: Add N3xx CPLD file to manifest
>
> ## 003.013.000.002
> * N3xx: Fix issue where changing the clock/time source could result in
>         clocks becoming unlocked
> * N3xx: Improve error messages for invalid clock/time settings
> * N3xx: Add support for Rev G mboard
> * MPM: Add function parameter to support holding AD9371 in reset
> * Docs: Add section on building fs/SD images for N3xx
> * Docs: Fix Doxygen warnings
>
> ## 003.013.000.001
> * N3xx: Fix UIO usage in Aurora BIST
> * N3xx: Fix EEPROM parsing (for upcoming hardware)
> * UHD: Fix install path for Python API
>
> As always, we at Ettus Research would like to thank all of the UHD users
> in the open source SDR community.  This release contains commits from users
> in the community that submitted pull requests against the UHD
> <https://github.com/EttusResearch/uhd> and FPGA
> <https://github.com/EttusResearch/fpga> repositories as well as many
> commits that are a direct result of issues reported back to us by users
> like you through the UHD <https://github.com/EttusResearch/uhd/issues>
> and FPGA <https://github.com/EttusResearch/fpga/issues> issue trackers,
> the USRP-users mailing list
> <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com>, and Ettus
> support <support at ettus.com>.  You have all helped contribute to the
> continued improvement of UHD.  Thank you!
>
>
>
> Best regards,
>
> Michael
>
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20190208/3643d343/attachment.html>


More information about the USRP-users mailing list