003.014.001.000
N320: Terminate the DAC when not transmitting
E320: Add support for rev E
E320: Added .gitignore for FPGA build products
X300: Add DPDK support
X300: add capability to flash NI-2974 FPGA
X300: Broke two critical timing paths in FPGA
X300: fixed udp WSA buffer size assignment issue
E310: Fix DRAM_TEST target build
B200: Add bootloader for FX3 (fix for B2xx failing to enumerate)
TwinRX: Expose charge pump current for LO2
TwinRX: Add low spur mode for LO2
TwinRX: increase rev c lo1 charge pump default value
TwinRX: Fix tick rate
Device3: Constraint send/recv_frame_size based on down/upstream MTU
Device3: Fix MTU and default frame sizes
RFNoC: Search all nodes for tick rates
RFNoC: Change default address for the reg readbacks
uhd_image_builder: Let the OOT module point to folders not named "rfnoc"
uhd_image_builder: Add --auto-inst-src
MPMD: Fix spurious reclaim call after unclaim
MPMD: Release resources on destruction
MPM: Add SW/HW compat
liberio: Release context holder on destruction of last liberio xport
transport: fixed a pre-mature buffer reset
nirio: Fix typo in nirio_zero_copy
GPSD: fix API for 'gps_read'
AD9361: Fix return values for tune and set_clock_rate
DUC/DDC: Fix phase reset and accumulation
cores: Use NSDMI consistently in ?x_dsp_core_3000.*
Logging: fix deadlock issue on Windows machines
Logging: Fix ANSI colour codes
Utils: Add X300/X310 reset utility
Docs: Improved Windows-related build instructions
Docs: Add link to README for building custom filesystems for N3xx
sim: Fixing the port number in use for connection
tools: Fix for proj creation in ip_utils for tcl-based IP
tests: Fix mock_ctrl_iface for 32-bit MSVC
The error was:
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Error at /usr/pkg/share/cmake-3.13/Modules/FindPkgConfig.cmake:505 (message):
pkg-config tool not found
While the package is not documented to use C++11, it uses std::string
constructs added in C++11, and fails compilation with g++ 5.5.0
without --std=c++11. Add todo markings to file upstream bugs;
upstream does not adequately document prereqs.
Trusted QSL V2.4.2 Release Notes
This version of Trusted QSL (TQSL) has new features as well as
corrections for defects found since TQSL 2.4.1 was released. This
release also includes an update to the most recent TQSL configuration
file.
TQSL 2.4.2 can be installed to upgrade any older version of TQSL. You
do not need to install every release from 2.2 through 2.4, you can
upgrade directly to v2.4.2 in one step.
IMPORTANT NOTE for MacOS users:
TQSL has been built to be compatible with older Mac systems (OSX 10.4
and later) and to work on both PowerPC and Intel CPU Macs. The current
release of OSX (10.14, or Mojave) issues a warning about
TQSL when it is run stating that it is not “optimized”, and that it
will not work with the next release of OSX. This is forcing us to drop
support for PowerPC systems in order to continue to support Mac
systems. We will freeze TQSL 2.4.x and make it available indefinitely,
but the next major release of TQSL will not work on PowerPC Macs or
Macs running OSX older than Tiger.
On all three supported platforms (Windows, MacOS, and Linux),
installing TQSL 2.4.2 will replace older versions of Trusted QSL while
preserving your Callsign Certificates, Station Locations, and
preferences. On Windows, simply run the TQSL 2.4.2 installer, which
will automatically uninstall older versions of TQSL (and, if
installed, TQSLCert). On Mac OS X, open the disk image (.dmg) file and
drag the “Trusted QSL” folder to your Applications folder. Direct
the installer to “Replace All”, which will uninstall old files.
For Linux systems, unpack the tar file and read the INSTALL file for
directions. TQSL 2.4.2 has been “localized” to allow use in the
native language of non-English speakers. This could not have been done
without the help of the volunteers who have contributed translations
for TQSL.
Thanks to the following for their assistance:
Chinese: Caros, BH4TXN
Hindi: Manmohan, VU3YBH
German: Andreas DF4WC
Italian: Salvatore IV4FYV
Japanese: Akihiro JL3OXR
Portuguese: Nuno CT2IRY
Russian: Vic US5WE
Spanish: Jordi EA3GCV
The following list describes the major changes in the v2.4.2 release
of Trusted QSL.
TQSL changes
Defects Corrected:
Ensure that the exit status message emitted by TQSL appears in English
so logging programs can use that to detect exit status. In the past,
this could have been output in the local language, making it more
difficult for the calling program to detect whether or not there were
any errors. Improve setting of ITU and CQ zones when defining a
Station Location. There were many cases where these were left empty,
which means that Station Locations were more likely to not have zones
defined.
Fix issue with Windows updates of TQSL failing when the user's
directory has a space embedded. Note that this is a forwards-looking
fix: this defect is in the existing TQSL 2.4.1, so updates for users
with spaces in their usernames will continue to fail until after 2.4.2
is installed. Remove spurious error message when run on a system
where the local language is not supported.
Features Added:
When displaying a callsign certificate where the private key is
missing from the local system, specifically state that the private key
is not found. Added a specific message for keys that cannot be opened
to provide the root cause. Improve the error message for missing
private keys to be more descriptive. Add the ability to map Cabrillo
modes to user-specified ADIF modes using the cab_modes.dat file in the
TQSL user directory. File has Cabrillo modes (two characters), then an
ADIF mode, comma delimited. Default file is provided by TQSL and
users can provide their own. Allow adding translations without making
code changes.
Reinstalling TQSL 2.4.1
Downgrading to TQSL 2.4.1 can be seamlessly performed by uninstalling
TQSL 2.4.2 and reinstalling TQSL 2.4.1.
UHD 3.14.0.0
N320: Add support for N320 and N321
USRP-2974: Add support for USRP-2974
DPDK: Add DPDK-based sockets-like library (for N3xx)
N3xx: clocking API changes for transitioning clock and time sources
N3xx: Bump max rev to G/6
N3xx: Improve error messages for invalid clock/time settings
N3xx: Get RFNoC crossbar baseport from FPGA
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
N3xx: Update max rev to 7 (H)
N3xx: Remove DDR3 from standard BIST collection
N3xx: BIST: Improve DDR3 BIST to check for DmaFIFO
N3xx: BIST: Auto-load the AA image for the ddr3 BIST
N3xx: BIST: DDR3 test only enumerates first block
N310: Modify AD9371 reset function to keep it in reset
N310: move init_rf_cal before JESD de/framer bringup
N310: Fix sporadic power on failures (requires firmware update)
E3xx: Increase spp limit for E3xx radio
E320: bist: Fix ref_clock lock test implementation
E320: bist: Add link_up test
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
E320: images: Separate images package for Aurora image
E320: Get RFNoC crossbar baseport from FPGA
E320: add fpga_version_hash to e320 device info
E310: Fix initialization of antenna and frequency values
E31x: Destruct RFNoC before loading idle image
X300: Reduce default send_frame_size to 4000 over Ethernet
X300: Change Ethernet buffering
X300: Log git hash and compat number as debug message
X300: Move defaults to their own header
X300: Use constrained_args
X300: Enable clock_source and time_source device args
X300: NIRIO: Demote RPC client cancel/abort to TRACE
X300: remove default_buff_args properties
X300: Remove 120 MHz master_clock_rate option
X300: Set minimum master clock rate to 184.32 MHz
X300: Factor our PID -> MB type and MB type -> product name mapping
X300: Remove usage of boost::bind
X300: Fix compiler warnings related to type conversions
X300: Fix tick and sample rate setting
X300: Enable ADC gain through RFNoC API
X300: Demote NIRIO rpc client start/stop log messages to DEBUG
X300: Enable 11.52 MHz and 23.04 MHz system ref rates
X300: Enable x300_device_args.to_string()
X300: Catch more inconsistencies in x300_device_args
X300: Removed invalid 200 MHz sysref rate
X300: Change PLL CP currents in x300_clock_ctrl
B200: Remove superfluous fake lambda
B200: Add support for user regs
B200: Fix compiler warnings related to type conversions
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
MPM: Get list of temperatures from all thermal zones
MPM: add link_speed xport_info
MPM: Add mpm_device as usrp_hwd module variable
MPM: Add usrp_update_fs
MPM: Add i2c APIs for simple transfers
MPM: Add vector-based transfer function for i2c
MPM: Add variable configuration support to nijesdcore
MPM: Add eyescan utility to nijesdcore
MPM: Add PRBS-31 testing to nijesdcore
MPM: Add convenience function to pull i2c bus from device tree
MPM: Open and close i2c file descriptor on every access
MPM: Multiprocessing instead of threading for claimer loop
MPM: Factor out user EEPROM code into own module
MPM: Add gpgga sensor function to GPSd iface
MPM: Add bridge mode support
MPM: Parameterize max UDP link allocation
MPM: xport: add commit_xport docstring
MPM: Improve error message on double-claim
MPMD: Parallelize broadcast-finding
MPMD: add option to enum rfnoc blocks from args
MPMD: add link speed to xport udp
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
MPMD: implement get_*x_hints
MPMD: honor user supplied send/recv_frame_size args
MPMD: Use 4096 bytes for frame size for liberio transport
MPMD: Use init timeout for update_component
MPMD: Allow reclaim failures on component updates
MPMD: Fix typecast warning in property tree default settings
Device: Parallelize device discovery
Device3: Move from packet-based to byte-based flow control
Device3: Constrain send_buff_size to input fifo size
Device3: remove tx_hint[send_buff_size]
Device3: Replace NULL with 0 for empty function pointers
Device3: Remove redundant function call
Device3: Fix flow control window and interval
UHD: Release recv buffers earlier in rx_streamer
UHD: Fix ADF400x driver for ref counter and charge pump mode
UHD: Improve constrained_device_args_t
UHD API: Add multi_usrp::get_user_settings_iface()
UHD: Remove usage of time_t (except when required)
UHD: add default xport params to udp_zero_copy
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.
UHD: Add traffic counter to null source sink
UHD API: Add multi_usrp::set_sync_source() API
UHD: Improve documentation for the UHD exception types
UHD: Improve documentation for set_{time,clock,sync}_source
UHD: add .clang-format file
UHD: Add device arg to enable dual ethernet for tx
UHD API: Add sync source to Python API
UHD API: Add support for Tx LO control to C API
UHD: Improve compatibility of abs() calls
UHD: include <stdint.h> for int64_t for time_spec
UHD: Updates to coding guidelines
UHD: Fix MSVC warnings by changing a size_t to unsigned int or
uint32_t
UHD: Add potentially missing but sometimes inferred include for
experts
UHD: Add default xport params to udp_wsa_zero_copy
UHD: Move device3 flow control functions to header for benchmark
utility
UHD: Make sure BOOST_VERSION is always available
UHD: Make clang-format skip formatting for some data structures
UHD: Remove vim hints in headers
UHD/MPM: Apply clang-format to all files
UHD: Add modified clang-format for headers
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
UHD: muxed_zero_copy_if fixes
UHD: Replace Boost lock & mutex with std variety for AD9361 code
UHD: fix includes for boost::noncopyable
UHD: Fix buffer size warning on UDP transport
UHD: Remove duplicate operator=() for sid_t
UHD: Fix conversion warning in max287x
UHD: Fix various type-conversion compiler warnings
RFNoC: Convert SR_READBACK_REG_FIFOSIZE to bytes
RFNoC: Add ability to enable/disable RX timestamp
RFNoC: add async message handler
RFNoC: Changes to traffic counter register names
RFNoC: Fix replay example port args
RFNoC: Fix default SPP for replay
RFNoC: Add halt to replay API
RFNoC: Fix late packet errors
RFNoC: Fix detection of outstanding acks by ctrl_iface
RFNoC: Add some missing virtual destructors
RFNoC: Update FIFO XML definition
RFNoC: Prevent unnecessary FC ACK packets
RFNoC: More graph traversal fixes
RFNoC: Fix scaling of M and N values in DDC/DUC
RFNoC: Fix typos in legacy_compat
RFNoC: Limit number of control packets in flight
RFNoC: Disable FC ACK packets for lossless links
RFNoC: Add valid num_input_ports check to node_ctrl_base
Utils: Add Zip test to downloader
Utils: Factor wait_for_lo_lock() out of cal utils
Utils: Add check for gdb_eeprom before accessing
Utils: Deny positional options in uhd_image_loader
Utils: Set tx gain to max for rx iq cal
Tools: Add tool to analyze settling time of gain and freq changes
Tools: Make the UHD source gen a plugin for the phase alignment test
Test: Add Python API test
Test: Integrate Python API Tester into Devtest
Test: Add graph impl test to device3_test
Test: Retrofit sph test to use new mock transport
Test: Enable rx_samples_to_file in devtest for X300
Test: Fix CMake endif warning for devtest
Test: Fix compiler warning about unused timestamp
Test: Add #include in system time test
Test: Add benchmark of streaming code paths
Test: replace has_key by using 'in'
Test: Add universal_newlines to subprocess call in devtest
Examples: add rfnoc_radio_loopback example
Examples: Add benchmark_streamer example
Examples: Add dual measurements to benchmark_streamer
Examples: Clean up rfnoc_radio_loopback example
Examples: Add keyboard controls to rx_ascii_art_dft
Examples: Add benchmark_streamer support for multi-channel streamer
Examples: Optimize benchmark_rate start time
Examples: Improve formatting and comments in tx_waveforms
Examples: Optimize tx_waveforms memory allocations
Examples: change boost to std for time commands
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
Examples: Improved error message in tx_waveforms
Examples: Move ascii_art_dft main function within include guard
Examples: Fix boundary condition in ascii_art_dft plotting
Docs: Fix Doxygen warnings
Docs: Add info on how to implement user regs on B200
Docs: Add manual page on compat numbers
Docs: Add comments for TwinRX and MCR
Docs: N3xx page shell formatting and bb image
Docs: n3xx: fix Salt formatting
Docs: Add note on manually disabling NEON extensions
Docs: Fixed typos in N3xx image names (SD card build)
Docs: Add notes on external reference frequencies for X300
CMake: Bump CMake minimum version to 2.8.12
CMake: Change SOVERSION and VERSION for the library files
CMake: Extend list of additional Boost versions
CMake: fix variable usage
Cmake: remove Boost from dyn libs for tests on Apple
Cmake: Fix MSVC options (add /bigobj)
Cmake: Use native format for setup.py
CPack: Fix RPM generation
003.013.001.000 Changelog
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 support 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
- Changes for xlog version 2.0.17 - 2019-jan-14
* Suppress GCC warning "stringop-truncation" in editest.c
which occurs with GCC >= 8.1.
* Updated cty.dat 20190114
- Changes for xlog version 2.0.16 - 2019-jan-13
* added JS8 support and updated to ADIF 3.0.9
* Updated cty.dat 20181210
kalibrate, or kal, can scan for GSM base stations in a given frequency band
and can use those GSM base stations to calculate the local oscillator
frequency offset.
kalibrate, or kal, can scan for GSM base stations in a given frequency band
and can use those GSM base stations to calculate the local oscillator
frequency offset.
Please note that if you are on 2015 firmware you must update the SPI flash
and CPLD of your hackrf, otherwise you may experience unpredictable behavior.
See: https://github.com/mossmann/hackrf/wiki/Updating-Firmware
HackRF 2018.01.1
- improved reliability of DFU boot loader
HackRF 2017.02.1
- Sweep mode
- Hardware synchronization
- reduced power consumption
- bug fixes