osmo-trx (1.7.2) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Drop use of deprecated vty is_config_node() cb
  * lms: Use define LMS_LOG_CRITICAL instead of value

  [ Jack Lee ]
  * trx: Fix tx/rx-sps 4 for USRP1 devices

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 03 Dec 2025 19:22:15 +0100

osmo-trx (1.7.1) unstable; urgency=medium

  [ Oliver Smith ]
  * contrib/jenkins: remove broken chroot + qemu code

  [ Neels Hofmeyr ]
  * comma_delimited_to_vector() optimization CID#465430

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 12 Feb 2025 12:43:24 +0100

osmo-trx (1.7.0) unstable; urgency=medium

  [ Eric ]
  * ms: adjust ts advance
  * ms: reduce rx burst queue size
  * ms: init blade with fpga control
  * devices: fix wrong gain to power mapping
  * ms: get rid of std::thread
  * ms: add demod test tool and data

  [ Vadim Yanitskiy ]
  * osmo-trx-ms: bump osmocom-bb submodule commit
  * Transceiver::ctrl_sock_handle_rx(): fix copy-pasted comments
  * build: include version files into the release tarball
  * doc/examples: fix missing config files in release tarballs
  * README.md: cosmetic: fix a typo

  [ Harald Welte ]
  * osmo-trx-uhd: Make sure HOME environment variable is set
  * README.md: Improve markdown formatting
  * README.md: Add Forum and Issue Tracker links
  * Add funding link to github mirror
  * README.md: Remove stray apostrophe

  [ Andreas Eversberg ]
  * Use uniform log format for default config files

  [ Eric Wild ]
  * ms: do not set the blade tuning mode
  * ms: hard preswapped VA gsm bits
  * ms: add sigproclib demod
  * ms: fix up template deduction failure
  * ms: update osmocom-bb submodule
  * ms: disabe uhd ms build
  * transceiver: use log level cache

  [ Oliver Smith ]
  * gitignore: add .version
  * debian/rules: make configure args diff friendly
  * debian: add osmo-trx-ms-blade
  * contrib/jenkins: make configure args diff friendly
  * contrib/jenkins: add --with-bladerf
  * contrib: remove rpm spec file
  * contrib/systemd: run as osmocom user
  * contrib/systemd/osmo-trx-uhd: fix HOME=

  [ Pau Espin Pedrol ]
  * code-architecture.adoc: Fix missing alignment in digraph
  * doc: Introduce documentation for osmo-trx-ipc and its IPC interface

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 24 Jul 2024 15:57:14 +0200

osmo-trx (1.6.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * configure.ac: check if LIBTRXCON_DIR (submodule) exists
  * tests: Makefile.am: move -I flags from AM_CFLAGS to AM_CPPFLAGS
  * tests: there shall be no libraries in LDFLAGS
  * tests: use -no-install libtool flag to avoid ./lt-* scripts
  * tests: LMSDeviceTest: fix CPPFLAGS vs CXXFLAGS
  * ipc-driver-test: clean up variables in Makefile.am
  * CommonLibs: remove unused *trx in cfg[_no]_ctr_error_threshold_cmd
  * CommonLibs: clean up and fix Makefile.am
  * ms: logging: print category, level, and extended timestamp

  [ Oliver Smith ]
  * Run struct_endianness.py
  * debian: set compat level to 10
  * systemd: depend on networking-online.target
  * USRPDevice:updateAlignment: remove byteswap code

  [ Eric ]
  * .clang-format: adjust template formatting
  * ms: update submodule to currently known working version
  * ms: adjust tx scaling for tx samples
  * ms : fix the template formatting
  * ms: fix the gain init for blade
  * ms: prettify scheduling + add odroid
  * ms: fix startup & shutdown of blade
  * ms: block burst q to upper layer
  * ms: use single thread pool
  * ms : rename var
  * ms : rename var
  * ms: cache frequency
  * ms: pretty tx buf class
  * ms: rearrange internal trxcon<->phy if
  * ms: remove syncthing tool
  * ms: prune common sch acq code
  * ms: rearrange code to allow clean exits
  * ms: flexible template for value_type buffer sum
  * ms: make init call less confusing
  * transceiver: pass cfg struct instead of args
  * devices: unify band handling
  * ms: fix blocking logging
  * ms: drop the tx burst padding
  * trx: fix dev-args issue
  * ms: update osmocom-bb
  * ms: restructure the va code to add rach support
  * transceiver: add experimental viterbi equalizer support
  * ms/va: make ancient gcc < 8 happy
  * ms: fix thread prio startup issue
  * ms: fix a few coverity complaints related to initialization
  * ms: bump osmocom-bb submodule to current head

  [ Eric Wild ]
  * ms: adjust float<->integral type conversion
  * ms: sch: drop intermediate softvector
  * devices: add freq/gain override for uhd

  [ arehbein ]
  * Transition to use of 'telnet_init_default'

  [ Pau Espin Pedrol ]
  * Call osmo_fd_unregister() before closing and changing bfd->fd
  * ms: update osmocom-bb submodule

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 15:56:57 +0200

osmo-trx (1.5.0) unstable; urgency=medium

  [ Oliver Smith ]
  * configure.ac: add -lboost_thread for uhd < 4.2.0
  * gitignore: add uhddev_ipc.cpp
  * contrib/jenkins: don't run "make distcheck" on arm

  [ Vadim Yanitskiy ]
  * threshold_timer_update_intv(): call osmo_timer_del() unconditionally
  * Transceiver::expectedCorrType(): RACH is always 8-bit on PTCCH/U
  * contrib/jenkins.sh: dump submodule status before building
  * configure.ac: fix: properly check whether to enable ms-trx
  * configure.ac: allow building without cloning submodules
  * configure.ac: cosmetic: rearrange MS TRX related logic
  * configure.ac: make use of AC_MSG_CHECKING and AC_MSG_RESULT

  [ Max ]
  * Set working directory in systemd service file
  * Add realtime scheduling and set priority in service file
  * ctrl: take both address and port from vty config

  [ Eric ]
  * ignore vscode dirs
  * rename noisevector class -> avgvector
  * osmocom-bb for ms-trx side trxcon integration
  * add checkpatch config
  * bladerf xa4 support
  * update osmocom-bb submodule to fix make distcheck
  * vita demod by piotr krysik, modified
  * properly update osmocom-bb submodule, for real this time..
  * ms-trx support
  * clean up mutex, scopedlock, and signal classes
  * ipc: add missing override
  * clang-format: proper c++ standard
  * ipc: remove old autotools workaround
  * ms: init trash used to escape the usb callbacks
  * radio interface: fix init

  [ Eric Wild ]
  * mstrx: do not wait forever if clock locking fails

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 17:08:17 +0100

osmo-trx (1.4.1) unstable; urgency=medium

  [ Oliver Smith ]
  * treewide: remove FSF address

  [ Vadim Yanitskiy ]
  * tests: use 'noinst_PROGRAMS' instead of 'noinst_PROGRAMS'

  [ Harald Welte ]
  * update git URLs (git -> https; gitea)

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 29 Jun 2022 09:32:56 +0200

osmo-trx (1.4.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Threads.cpp: Fix missing extern C around libosmocore include
  * Drop logging pthread ID
  * Threads: Avoid printing pthread_self()
  * ipc: Makefile.am: Clean LDADD variable
  * Use new stat item/ctr getter APIs
  * detectBurst(): Clear downsampling code path
  * detectBurst(): constify parameter
  * computeCI(): Constify param and pass it as reference
  * computeCI(): Rename verbose repeated getter to constant
  * computeCI(): Constify read-only variable
  * detectGeneralBurst(): Increase log level about clipping to INFO
  * cosmetic: Fix typo in comment
  * computeCI: Document hardcoded multiplier
  * lms: Drop duplicated check
  * lms,uhd: Validate band of RxFreq too
  * lms,uhd: Skip re-assigning same band
  * lms,uhd: Allow changing band between poweroff & poweron

  [ Vadim Yanitskiy ]
  * gitignore: remove non-existing 'doc/manuals/osmomsc-usermanual.xml'
  * ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement
  * trx_rate_ctr: use thread safe strerror() in device_sig_cb()
  * IPCDevice: use thread safe strerror_r() instead of strerror()
  * IPCDevice: check value returned from select()
  * LMSDevice: LMS_GetDeviceList() may return a negative number

  [ Eric ]
  * add hidden fn adjustment command
  * uhd: ensure configured clock source is actually used
  * vty: printing fn offset should be signed
  * lms: init band

  [ Oliver Smith ]
  * d/patches/build-for-debian8.patch: remove

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 16 Nov 2021 16:27:26 +0100

osmo-trx (1.3.1) unstable; urgency=medium

  * mark uhddev_ipc.cpp as BUILT_SOURCES

 -- Harald Welte <laforge@osmocom.org>  Sun, 28 Feb 2021 11:32:11 +0100

osmo-trx (1.3.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Make logging category DLMS generic and reusable for other backends
  * uhd: Use DEVDRV log category and support UHD >=3.11 logging framework
  * uhd: Improve some logging lines printing UHD pretty-print output
  * doc: clarify number of channels on B210 with multi-arfcn enabled
  * radioInterfaceMulti: Fail to tune on freq not following multi-arfcn restrictions
  * doc: Update vty reference xml file
  * lms: Move initialization of field started to constructor
  * lms: Drop unused define
  * smpl_buf: Fix str_code() param and print unknown error val
  * lms: Improve smpl_buf error logging
  * lms: Change radioDevice constructor arg name to avoid masking instance attr
  * lms: Make reference to std::vector unambiguous
  * lms: Move rx_buffers allocation to constructor
  * lms: Store device type specific parameters in one place
  * lms: Make ts_offset and smpl rate coefs device-specific
  * lms: Initial multi-arfcn support
  * contrib/jenkins.sh: Reorder sanity checks
  * debug.h: Avoid printing pthread_t type
  * debug.h: Fix print format of chan in CLOGCHAN
  * cosmetic: fix several typos found by codespell
  * radioDevice: Drop unused RSSI param from readSamples API
  * radioDevice: Drop unused isControl param from WriteSamples API
  * Use OSMO_FD_READ instead of deprecated BSC_FD_READ
  * Transceiver: Fix extra space in RSP NOISELEV error
  * Transceiver: Implement TRXC cmd NOMTXPOWER
  * UHDDevice: Implement getNominalTxPower() based on TxFrequency
  * radioInterface: Operate on real Tx power attenuation rather than on device specific gains
  * UHDDevice: Compute TxGain on UHD API based on expected Tx output power
  * proto_trxd: Fix UndefinedBehaviorSanitizer from ubsan
  * Transceiver: Allow sending negative nominal tx power in RSP NOMTXPOWER
  * LMSDevice: Compute TxGain on LimeSuite API based on expected Tx output power
  * Drop old TxGain APIs from parent radioDevice abstract class
  * {UHD,LMS}Dervice: Log expected resulting TxPower when setting device specific TxGain
  * cosmetic: trx_rate_ctr: Fix whitespace
  * trx_rate_ctr: Fix immediate rescheduling on per-sec thresholds
  * Rename device specific rate counter multi-thread helpers
  * Introduce rate counter tx_stale_bursts
  * TransceiverState: Initialize ctrs field in constructor
  * doc/manuals: Update thread documentation after dropping CTRL sock threads
  * trx_rate_ctr: Fix locking wrong mutex
  * Introduce rate counters to detect issues in received Dl bursts from TRXD
  * Transceiver: Fix race condition obtaining Dl burst from Upper layer
  * Add rate counter for missing Txbursts when scheduled towards the radioInterface
  * Transceiver: Provide initial value for TransceiverState::mFiller in constructor
  * Transceiver: Use already obtained value from Rx msg structure
  * Transceiver: Restrict conditions where FN gaps are detected
  * trx_rate_ctr: Lower some log levels
  * Introduce CTR log category
  * Transceiver: Lower some log levels which have an associated counter
  * Transceiver: Check log level before generating burst str representation
  * Transceiver: Add several rate_ctr for rx error conditions
  * Use new libosmovty cpu sched config features
  * debian: Update debian8 osmo-trx specific patch
  * jenkins.sh: Verify distro-specific patches apply
  * ipc: fix var declaration in for loop
  * Add support for TRXC MUTE command
  * arch: x86: Fix convolve optimizations breaking signal
  * contrib/jenkins: Enable parallel make in make distcheck
  * Transceiver: Pass config struct instead of large list of params
  * Calculate RSSI offset based on RxGain configuration
  * main: generate coredump and exit upon SIGABRT received
  * ipc: Fix wrong reference to BTS in log line
  * ipc-driver-test: Allow setting dir prefix for UD socket
  * radioInterfaceMulti: Fix memory leak upon close()
  * ChannelizerBase: Fix memory leak
  * Threads.cpp: Use already existing gettid wrapper function
  * Replace my_gettid with libosmocore osmo_gettid API
  * tests: Explicitly drop category from log
  * tests: Replace deprecated API log_set_print_filename

  [ Philipp Maier ]
  * debug: use LOGL_NOTICE for log category DDEV
  * doc: do not set the base-port of the trx
  * doc: apply an rssi-offset of 28 by default.
  * doc: switch log levels to notice
  * Transceiver: Log when sending of CLK indications begins
  * vty: add attributes to VTY commands indicating when they apply
  * osmo-trx: add commandline option --vty-ref-xml

  [ Eric ]
  * configure.ac: fix libtool issue  with clang and sanitizer
  * transceiver: check the right vector
  * transceiver: get rid of the ctrl threads
  * add kernel style .clang-format with 120 chars per line limit
  * devices: reset internal smart sample buffers upon stop
  * transceiver: optimize code if optimizations are enabled
  * transceiver: initialize reorder flag so we don't miscount

  [ Harald Welte ]
  * PRBS tool sending PRBS sequence to TRX
  * prbs-tool: Add error simulation capabilities
  * utils: Ensure content of this directory is included in 'make dist'
  * prbs-tool: Don't require C99
  * RPM spec file: Require uhd-firmware for osmo-trx-uhd
  * osmo-trx.spec.in: Use %config(noreplace) to retain current config file
  * Fix build on Debian8
  * [cosmetic] radioInterfaceMulti: More comments
  * [cosmetic] radioIntefaceMulti: Fix whitespace / indent
  * ipc: Use OSMO_FD_* instead of deprecated BSC_FD_*
  * Use osmo_fd_setup() wherever applicable
  * Use osmo_fd_*_{disable,enable}
  * README update
  * manual: Fix typo OsmTRX -> OsmoTRX

  [ Oliver Smith ]
  * contrib: import RPM spec
  * contrib: integrate RPM spec
  * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in
  * contrib/jenkins: don't build osmo-gsm-manuals
  * configure.ac: set -std=gnu11

  [ Vadim Yanitskiy ]
  * UHDDevice: catch LookupError/IndexError in set{Rx,Tx}Antenna()
  * debian/control: change maintainer to the Osmocom team / mailing list
  * proto_trxd: cosmetic: 'if' is not a function, add space
  * vty: add multi-ARFCN specific warning for chan N > 0
  * radioDevice: fix set_antennas(): consider MULTI_ARFCN mode
  * device/lms: fix: 'trx_vty.h' header requires C linkage
  * device/lms: fix missing semicolon in LMSDevice::assign_band_desc()
  * device/lms: get rid of 'using namespace std'
  * device/common/Makefile.am: remove $(LMS_CFLAGS) from AM_CXXFLAGS
  * main: add --vty-ref-mode, use vty_dump_xml_ref_mode()
  * device: drop unreasonable LIBOSMO{CTRL,VTY}_{CFLAGS,LIBS}
  * Transceiver: use size_t and ARRAY_SIZE() in constructor
  * Transceiver: explicitly init m{Rx,Tx}LowerLoopThread
  * vty: fix documentation for 'swap-channels (disable|enable)'
  * vty: fix documentation for 'egprs (disable|enable)'
  * vty: fix documentation for 'rx-sps (1|4)' and 'tx-sps (1|4)'
  * vty: cosmetic: use VTY_IPV4_CMD in 'bind-ip' / 'remote-ip'
  * vty: fix documentation for 'multi-arfcn (disable|enable)'
  * vty: remove groundless statement about filler type 'dummy'
  * vty: auto-generate cmd and doc strings for cfg_filler_type_cmd
  * vty: fix documentation for 'ext-rach (disable|enable)'
  * main: use logging API to print SIMD info instead of printf()
  * doc/manuals: generate XML VTY reference at build-time
  * vty: fix swapped documentation for 'filler type' command
  * Transceiver: fix integer division in addRadioVector()
  * Transceiver: use proper factor for amplitude scaling
  * Add a (hidden) VTY parameter for Rx/Tx freq. shifting

  [ Eric Wild ]
  * osmo-trx-ipc

  [ Alexander Couzens ]
  * osmo-trx.spec: move ipc-driver-test into package ipc-test

  [ Sylvain Munaut ]
  * sigProcLib: fix C/I computation for 8-PSK modulated bursts

 -- Pau Espin Pedrol <pespin@espeweb.net>  Tue, 23 Feb 2021 14:27:15 +0100

osmo-trx (1.2.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * osmo-trx: log to stderr on signal received
  * Drop old setPriority related code
  * Transceiver: fix segfault during init if IP addr binding fails
  * Transceiver: Check return value when binding IP addr for clock socket
  * Transceiver: Clean up receival of downlink bursts
  * Transceiver: Fix idle ul burst indications being dropped
  * Transceiver: exit process when BTS drops connection
  * Transceiver: Enable EDGE detection only on PDCH timeslots
  * lms: Log available antennas if requested antenna fails
  * device: Use LOGCHAN in set_antennas()
  * Transceiver: Fix logging TN and version
  * Transceiver: Use LOGCHAN in logRxBurst to unify log format
  * Transceiver: Log error condition no burst in pullRadioVector()
  * Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn
  * Transceiver: Don't stop TRX if pulling from OFF timeslot
  * radioInterface: Rename mRadio to mDevice
  * radioInterfaceMulti: Check equals zero explicitly
  * USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0
  * USRPDevice: Return previous txGain if setting value failed
  * LMSDevice: Return previous txGain/rxGain if setting value failed
  * radioInterface: Remove unusued getRxGain()
  * radioDevice: Introduce getTxGain() API
  * radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls
  * UHDDevice: Drop unneeded MULTI_ARFCN checks
  * radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples()
  * radioInterface: Mark setRxGain as virtual
  * Move multi-ARFCN chan amount modification from UHDDevice to parent class
  * radioInterface: Atomically fetch and change underrun variable
  * radioInterfaceMulti: write frequency offset direction (rx/tx) in log line
  * Use new libosmocore logging lock API
  * Transceiver: Fix wrong response upon CMD HANDOVER failure
  * uhd: use value already cached in tmp variable
  * Transceiver.cpp: Introduce and use new logging categories

  [ Timo Jacobus ]
  * Transceiver: Fixed copying of history into and from channelizer buffer.

  [ Alexander Chemeris ]
  * vty: Don't enable random filler bursts automatically with EDGE.
  * vty: Simplify filler burst settings and improve help and readability.

  [ Martin Hauke ]
  * Fix common misspellings and typos

  [ Harald Welte ]
  * trx: exit() on unsupported positional arguments on command line

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 03 Jan 2020 19:54:00 +0100

osmo-trx (1.1.1) unstable; urgency=medium

  * UNRELEASED

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 08 Aug 2019 13:00:05 +0200

osmo-trx (1.1.0) unstable; urgency=medium

  [ Sylvain Munaut ]
  * arm/convolve: Fix the vfp4 real convolution for h_len=12
  * convolve: Remove support for step, offset parameters
  * tests: Rework the convolve_test
  * tests: Re-enable the convolve_test by default
  * sigProcLib: Add C/I (Carrier-to-Interference ratio) computation

  [ Vadim Yanitskiy ]
  * VTY: add extended (11-bit) RACH detection toggle
  * doc/configuration.adoc: fix incorrect number of physical RF channels for B210
  * driveTxPriorityQueue(): cosmetic: use proper type for TDMA TN
  * driveTxPriorityQueue(): use trxd_hdr_common for message parsing
  * driveTxPriorityQueue(): check if message header format is supported
  * driveTxPriorityQueue(): enrich logging message
  * trxd_fill_common(): fix TRXD header version coding
  * manuals/configuration.adoc: fix copy-paste error in config example

  [ Pau Espin Pedrol ]
  * osmo-trx: Avoid handling signals after shutdown triggered
  * osmo-trx: Use signalfd to serialize signals in main thread ctx
  * osmo-trx: Check return code of osmo_fd_register
  * lms: flush_recv: alloc buf on stack instead of heap
  * lms: Improve log during flush recv error
  * cosmetic: Threads.h: Remove trailing whitespace
  * Move duplicated thread_enable_cancel to CommonLibs
  * lms: Log underrun/overrun events
  * lms: Remove references to ALERT loglevel
  * lms: Remove unused var m_last_tx_overruns
  * lms: Catch and log dropped packets by HW during recv
  * cosmetic: uhd: Move smpl_buf out of UHDDevice, move UHDDevice class definition to .h
  * uhd: smpl_buf: Drop UHD specifics out back to UHDDevice
  * uhd: smpl_buf: Use TIMESTAMP type in str_status
  * cosmetic: uhd: Use loglevel ERROR instead of ERR
  * uhd: Avoid reallocation of buffers every read
  * Move smpl_buf out of uhd dir to re-use it in other devices
  * device: Drop unused numberRead/numberWritten APIs
  * smpl_buf: Remove unused clk_rt variable
  * smpl_buf: Remove unused clk_rt variable (fixup)
  * smpl_buf: Remove dbg log line with duplicated info
  * Introduce LOGCHAN macro to standarize logging channel info
  * smpl_buf: Move it to device/common and create libdevice_common.la
  * lms: Use smpl_buf to recover from timestamp jumps
  * lms: Fix stream_stats checks with droppedPackets
  * Add rate_ctr support to store/retrieve SDR errors through VTY
  * Rename and move STOP signal from Transceiver to main
  * doc: vty: Update trx_vty_reference.xml
  * lms: Drop unusued variable masterClockRate
  * lms: Fix stream_stats checks with overrun/underrun
  * Add VTY commands to set error ctr thresholds
  * Remove AUTHORS file
  * trx_{vty,rate_ctr}: Set proper license AGPLv3+
  * Introduce structs to encode TRXD packets
  * Transceiver: refactor: gather uplink burst parameters in struct
  * Transceiver: Drop unused rssi_valid struct field
  * Transceiver: Move nbits burst size calculation to pullRadioVector()
  * Transceiver: Move calculation of normalized values (rssiOffset) to pullRadioVector()
  * Transceiver: Move soft bits normalization to pullRadioVector()
  * Transceiver: Drop use of GSM::Time from trx_ul_burst_ind
  * Transceiver: Get rid of SoftVector in struct trx_ul_burst_ind
  * Transceiver: replace UDPSocket with libosmocore socket API
  * Transceiver: Avoid noise calculation formula in 2 branches in pullRadioVector
  * Transceiver: Simplify code on early error return when calling detectAnyBurst
  * Transceiver: pullRadioVector(): Move initialization of var to start of function
  * Transceiver: Support pulling idle frames in pullRadioVector()
  * sigProcLib: detectAnyBurst() family: Use struct to gather all out params
  * sigProcLib: detectAnyBurst(): make TSC used to detect burst available to caller
  * Logger: global Log mutex is now available from C code
  * Transceiver: Move out TRXD socket send code to prepare for TRXDv1
  * Transceiver: Support SETFORMAT command
  * Transceiver: Support TRXD v1
  * Transceiver: Initialize mExtRACH in constructor
  * debian/copyright: Remove non existent radioInterfaceDiversity.cpp from list
  * debian/copyright: Update wrong paths in license list
  * debian/copyright: Add missing file Utils.* to LGPL-2.1+ list
  * cosmetic: Fix trailing whitespace in several files
  * Add SPDX annotation
  * Bind CTRL port to IP addr specified in VTY config
  * Transceiver: Store TRXD version per channel
  * Transceiver: Clean up code passing parameters to threads
  * Remove empty ChangeLog fnd NEWS files
  * Remove unused autogen.sh
  * radioInterface: Clarify how underruns are handled driving a radioDevice
  * usrp1: don't check for non-null underrun pointer
  * jenkins.sh: Workaround libusrp build race conditon
  * lms: Drop rx_underruns rate ctr, add tx_drop_* rate ctr
  * Move inband-signaling-usb documentation to UserManual
  * Move matlab files under utils/matlab
  * Move Transceiver52/README to UserManual
  * Move README.DFEsymbolspaced to utils/matlab
  * Move std_inband.rbf under device/usrp1/ dir
  * Drop old README information, provide new updated README
  * Transceiver: Add missing include netinet/in.h
  * Require newer version of libosmocore to avoid build failure

  [ Tom Tsou ]
  * multi-ARFCN: fix maximum number of carriers limitation

  [ Harald Welte ]
  * use BSC_FD_READ and not OSMO_FD_READ
  * proto_trxd.c: Use bit-wise AND, not boolean AND
  * Timeval: Restore output stream flags after changing them
  * ChannelizerBase: fix initialization of class members
  * CorrelationSequence: fix initialization of class members
  * radioInterface.cpp: Fix missing member initialization of RadioInterface()

  [ Joachim Steiger ]
  * lms: Remove wrong unused code copied from -uhd
  * lms: move LMS_EnableChannel from Start/Stop to Open/Close device
  * lms: move LMS_GetLPFBWRange and LMS_Calibrate calls from open to start
  * lms: add device type detection and device specific gains
  * lms: properly call close if set_antennas() fails, add some comments

  [ Oliver Smith ]
  * debian: create -doc subpackage with pdf manuals
  * contrib/jenkins.sh: run "make maintainer-clean"

  [ Eric Wild ]
  * Add option to set stack size in config file, default == 0 == OS default

  [ Ruben Undheim ]
  * Fix spelling discovered by lintian

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 07 Aug 2019 21:12:56 +0200

osmo-trx (1.0.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * doc: examples: Add umtrx sample config
  * UHDDevice: Fix setup failure with LimeSuite > 18.04.1
  * examples: Set rt-prio 18 and print file basename
  * lms: Several improvements and compilation/runtime fixes
  * build: Add support for LimeSuite device backend
  * LMSDevice: Set correct values for Max{Tx,Rx}Gain
  * LMSDevice: Fix setup failure with LimeSuite > 18.04.1
  * lms: Makefile.am: Reorder params to fix link issue
  * lms: Check LPBFW to set is within supported range
  * debian: Add package osmo-trx-lms
  * contrib: Add systemd services for all backends
  * debian: Add cfg file examples for osmo-trx-{lms,uhd}
  * Add -V param to print version
  * lms: Allow values diff than 34dB to be set by setRxGain()
  * Use correct paths when installing example files
  * debian: Enable build of osmo-trx-lms
  * debian: Explicitly enable osmo-trx-uhd build
  * configure.ac: Fix typo in with-lms help string
  * vty: Fix typo in gpsdo clock reference type
  * configure.ac: Add --enable-werror option
  * Logger: Disable pthread cancel point inside Logger destructor
  * cosmetic: Fix trailing whitespace
  * radioInterface: forward errors from RadioDevice to Transceiver in recv path
  * lms: Return error on device read timeout
  * osmo-trx: Add osmo_signal to stop whole transceiver chain correctly on error
  * radioInterface: Fix variable storing integer return value
  * configure.ac: Specify default language as C++
  * UHHDDevice: Replace deprecated header uhd/utils/thread_priority.hpp
  * SigProcLib: Use available copyTo Vector API instead of memcopy
  * cosmetic: Fix trailing whitespace in several files
  * radioInterfaceMulti:pullBuffer: Sanely convert float array to complex array
  * Vector: Copy arrays in a sane way for non-trivially copyable types
  * jenkins.sh: Add --enable-werror flag to osmo-trx configure step
  * Install systemd services with autotools
  * Install sample cfg file to /etc/osmocom
  * cosmetic: Use proper whitespace in several for loops
  * Use pthread_setname_np to name threads
  * CommonLibs/Makefile.am: Specify libcommon_la_LIBADD
  * Transciever: Log values causing Tx underrun
  * examples: Use logging level 'set-all' instead of 'all'
  * jenkins.sh: Enable build of osmo-trx-lms
  * ChannelizerBase: Fix ASan alloc-dealloc-mismatch
  * UHDDevice: setRxGain on chan 0 when using multi-arfcn
  * lms: Use LimeSuite.h log level defines instead of hardcoded values
  * lms: Apply LMS->OSMO log level conversion
  * Introduce OsmoTRX manual
  * Introduce chapter trx_if.adoc and add it to OsmoTRX and OsmoBTS
  * trx: Add reference to project wiki page in overfiew section
  * trx: Add Hardware architecture support section
  * trx: Add Hardware device support section
  * osmotrx: Split Device specific section from backend one
  * osmotrx: Write initial documentation for several supported devices
  * osmotrx: configuration: Add section to document multi-arfcn feature
  * osmotrx: Create a common chapter for section documenting backends
  * osmotrx: Introduce code architecture chapter
  * lms: Fix start after stop of device
  * lms: Destroy streams on device stop
  * radioInterface: Fix memleak during close()
  * PointerFIFO: Fix memleak of ListNode
  * lms: Make sure LMS_Close is called when Device is torn down
  * osmo-trx: Change some lines to use libosmocore logging instead of cout
  * lms: Close device on LMS_Init failure
  * SigProcLib: Improve Vector buffer allocation mess
  * lms: Allow setting Tx/RxGain for chan!=0
  * lms: Allow setting Tx/RxFreq for lchan!=0
  * lms: Improve Set{Rx,Tx}{Gain,Freq} logging
  * transceiver: log chan on CTRL command received
  * Add TRXCTRL log category
  * transceiver: Log TRXCTRL iface responses towards osmo-bts-trx
  * lms: Move {under,over}run checks into separate method
  * lms: Do {under,over}run checks even if LMS_RecvStream fails
  * Timeval: passed() returns true if time is equal
  * Timeval: Move implementation to use clock_gettime and timespec
  * Timeval: Move to osmo_clock_gettime
  * TimevalTest: Make test deterministic with fake time
  * lms: Fix build against LimeSuite > 18.10
  * configure.ac: check boost only if USRP1 support is enabled

  [ Vadim Yanitskiy ]
  * trx_vty.c: fix: use CONFIG_NODE as parent by default
  * device/lms/LMSDevice.cpp: fix compilation warning
  * sigProcLib: introduce both TS1 and TS2 RACH synch. sequences
  * sigProcLib: add a CorrType for extended (11-bit) RACH

  [ Harald Welte ]
  * Initial work towards direct LimeSuite support in OsmoTRX
  * update .gitignore to include osmo-trx-lms
  * LMSDevice: Call LMS_Init() before setting sample rate
  * LMSDevice: Print sample rate range + actual sample rate after setting it
  * LMSDevice: Typo fix: s/Internal/External
  * LMSDevice: Set low-pass filters to smallest possible option
  * LMSDevice: Fix initial timestamp offset of 2500
  * LMS_Device: Set ts_offset to 0.
  * LMSDevice: Reduce Rx logging verbosity: Only log unexpected timestamps
  * move set_antennas() from UHD to generic radioDevice base class
  * lms: Fix support for rx_paths / tx_paths
  * lms: Call set_antennas() during open() method
  * radioDevice: Move tx_sps from derived into base class
  * radioDevice: better encapsulation in base class
  * lms: Fix coding style
  * lms: Fail in case of unsupported configuration
  * usrp1: Fail in case of unsupported configuration
  * Fix config file saving of {tx,rx}-path VTY config strings
  * logging: Introduce new "DDEV" category for device-specific code
  * update git-version-gen to generate proper version numbers
  * ensure well-formed example config files
  * SocketsTest.testReaderIP(): Zero terminate received buffer
  * trx_validate_config(): Fix validation of rx_sps
  * vty-ref: Update URI of docbook 5.0 schema
  * lms: User correct scale factor for transmit samples
  * lms: Set Rx gain to midpoint, as comment suggests.
  * usrp1: Remove uninitialized skipRx logic
  * usrp1: Fix formatting of log message (missing space)
  * cosmetic: Don't call the SDR "USRP" in error message

  [ Zydrunas Tamosevicius ]
  * lms: Use same timestamp offset like when using LimeSDR via UHD
  * lms: Reduce log level of "send buffer of len ..."
  * lms: fix LMS_StartStream() handling for multiple channels
  * lms: Reduce Rx gain from 47 to 34 dB

  [ Alexander Couzens ]
  * debian: add patches for debian8

  [ Oliver Smith ]
  * Add long parameters (--help, --version, ...)
  * build manuals moved here from osmo-gsm-manuals.git
  * Fix DISTCHECK_CONFIGURE_FLAGS override
  * contrib/jenkins.sh: build and publish manuals
  * jenkins.sh: run "make distcheck"
  * contrib: fix makedistcheck with disabled systemd
  * osmo-trx.cpp: move comma_delimited_to_vector() to Utils.cpp
  * LMSDevice: make use of dev-args in osmo-trx.cfg
  * LMSDeviceTest: fix link errors on OBS

  [ Neels Hofmeyr ]
  * Importing history from osmo-gsm-manuals.git

  [ d0gtail ]
  * UHDDevice: log exception information on device open failure

 -- Harald Welte <laforge@gnumonks.org>  Sun, 20 Jan 2019 19:35:04 +0100

osmo-trx (0.4.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * jenkins: use osmo-clean-workspace.sh before and after build

  [ Harald Welte ]
  * SocketsTest: Fix printing of non-nul-terminated string
  * Revert "debian: Remove osmo-trx-usrp1 until we can build libusrp1.deb"
  * debian/control: Remove "Maintainer" from binary package section
  * debian/rules: Make sure we always require libusrp
  * debian: Ensure USRP1 firmware is part of osmo-trx-usrp1
  * debian/control: Add build dependency to libusrp-dev
  * update .gitignore for new executable names
  * osmo-trx: s/GSM Core Address/GSM BTS Address/

  [ Piotr Krysik ]
  * UHDDevice.cpp: add USRP B205mini support

  [ Max ]
  * Mark release target as virtual
  * Remove outdated references to OpenBTS
  * Remove unused headers
  * Update installation instructions
  * Update legal disclaimer
  * Update license notes
  * tests: null-terminate buffer

  [ Pau Espin Pedrol ]
  * cosmetic: Remove trailing whitespace
  * Logger: Stop using Log.Alarms.Max from config
  * Logger: Stop using Log.File and Log.Level from config
  * Drop use of ConfigurationTable gConfig
  * Remove Configuration module and libsqlite dependency
  * cosmetic: AUTHORS: fix trailing whitespace
  * Set up GNU Autotest infrastructure
  * tests: InterThread: adapt to have reproducible output and enable autotest
  * tests: Timeval: adapt to have reproducible output and enable autotest
  * tests: Log: adapt to have reproducible output and enable autotest
  * Sockets.cpp: Fix initialization of UDD socket
  * tests: Sockets: adapt to have reproducible output and enable autotest
  * utils/convolvtest: Remove uneeded libosmocore dependency
  * Move ARCH_LA to Makefile.common
  * tests: Migrate convtest util to autotest infrastructure
  * arm/convert.c: Fix compilation error
  * arm/convert.c: Add missing convert_init implementation
  * .gitignore: Add missing test related files
  * Remove UDDSocket class
  * tests: SocketTests: Pick OS-assigned instead of setting one manually
  * tests: SocketsTest: Avoid hang forever if test fails
  * tests: SocketsTest: Fail test on write fail
  * tests: TimevalTest: refactor and avoid double comparison
  * contrib/jenkins.sh: Use qemu+proot+debootstrap to run tests with ARM instruction set
  * tests: convolve: Disable due to difference in output in different archs
  * Remove unneeded libdl dependency
  * Fix whitespace
  * Add support to set Rx/TxAntenna
  * UHDDevice: Initialize async_event_thrd in constructor
  * Logger: Drop unused gLogEarly
  * Logger: Remove unused logging macros
  * Logger: get rid of alarm APIs
  * Logger: Drop syslog support
  * Logger: Drop support to log into file
  * Logger: Remove unused includes
  * Logger: Remove gLogToConsole flag
  * configure.ac: Check for pkg-config
  * Depend on libosmocore
  * osmo-trx: set up signals using libosmocore helpers
  * osmo-trx: Set up talloc ctx
  * debian: Depend on libtalloc and libosmocore
  * Add initial support for logging, vty, ctrl
  * Logger: Use libosmocore logging system
  * osmo-trx.cpp: Move trx start and stop to helper functions
  * Move enums required by VTY to a separate header
  * vty: Implement VTY cfg parsing for current parameters
  * doc: Add sample cfg file for LimeSDR
  * osmo-trx: Use VTY cfg structures while still allowing cmd line options
  * osmo-trx: Re-introduce -l cmd line parameter
  * Makefile.am: Avoid using subdir if arch is not required
  * Build Transceiver52M/common as an .la lib
  * use osmo_init_logging2()
  * tests: Makefile.am: Fix typo in include path
  * configure.ac: Add --enable-sanitize option
  * Move arch specific fiels to arch subdir
  * Move device specific files to device subdir
  * Change configure define USRP1 to DEVICE_USRP1
  * Move device specific code out of radioInterface
  * Transceiver: Move device specific code to radioDevice class
  * Build one osmo-trx binary for each device support enabled
  * Logger: Print correct source file and line number
  * Transceiver: log timing info of stale bursts
  * build: Fix make distcheck
  * build: More OBS build failure fixes
  * jenkins.sh: Enable build of osmo-trx-usrp1
  * debian: Remove osmo-trx-usrp1 until we can build libusrp1.deb
  * debian: Fix OBS build
  * build: Fix OBS build for ARM
  * git-version-gen: Take into account tags not in master

  [ Alexander Huemer ]
  * Unbreak `./configure --with-usrp1` build
  * Fix USRP1 build with support for setting Rx/TxAntenna

  [ Alexander Couzens ]
  * jenkins.sh: fix the download url if the qemu image wasn't setup
  * jenkins.sh: cleanup always the workspace
  * jenkins.sh: change qemu-img default location to $HOME/qemu-img instead of /opt/qemu-img

  [ Vadim Yanitskiy ]
  * Transceiver.cpp: use a define for the MAX_PACKET_LENGTH
  * Transceiver.cpp: properly zero-terminate received commands
  * Transceiver.cpp: use pointer arithmetics for CMD parsing
  * Transceiver.cpp: fix incorrect format string for SETTSC
  * Transceiver.cpp: prevent out-of-range array access

  [ Martin Hauke ]
  * configure.ac: Fix typo

  [ Philipp Maier ]
  * doc: add example config for usrp B200 series

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 03 May 2018 16:23:29 +0200

osmo-trx (0.2.0) unstable; urgency=medium

  [ Alexander Chemeris ]
  * EDGE: Add support for UmTRX.
  * Common: Get rid of a compilation warning.
  * Common: Make sure gLogEarly() log to the same facilities as the normal log.
  * transceiver: Properly handle MAXDLY.
  * transceiver: Add an option to generate random Access Bursts.
  * osmo-trx: Output Rx SPS as a part of configuration output.
  * transceiver: Do not pass transceiver state struct to function where it's not used.
  * makefile: Fix build from an external path.
  * radioDevice: GSMRATE macro must have parentheses around its definition.
  * uhd: Fix comment.
  * radioInterface: Initialize power scale with a meaningful default.
  * transceiver: Log channel number in DEBUG output of demoded bursts.
  * transceiver: Add an option to emulate a RACH delay in random filler mode.
  * UHD: Initial LimeSDR support.
  * CommonLibs: Remove unused files.
  * sigProcLib: Typo sybols -> symbols
  * radioBuffer: Remove extra ; at the end of inline function definitions.
  * sigProcLib: Fix documentation, sync argument names in .cpp and .h files.
  * sigProcLib: make energyDetect() simpler by returning actual energy.
  * sigProcLib: Rename demodulateBurst() to demodGmskBurst() for clarity.
  * sigProcLib: Slice SoftVector instead of signalVector for GMSK demod.
  * Call vectorSlicer() right before packing bits for transmission to osmo-bts.
  * CommonLibs: Print soft bits with less confidence to console when printing a soft vector.
  * BitVector: Remove convolutional codec - we don't use it in osmo-trx.
  * BitVector: Convert SoftVector from 0..1 to -1..+1 soft bits.
  * signalVector: Implement segment().
  * vector: Introduce segmentMove() method to move data inside of a vector.
  * vector: Introduce shrink() function to shrink vector size without loosing data.
  * Move CorrType type from Transceiver to sigProcLib.
  * sigProcLib: rename signalError type to SignalError.
  * Move Transceiver::detectBurst() to sigProcLib to make it reusable.
  * Move BURST_THRESH from Transceiver.cpp to sigProcLib.h to make it reusable.
  * sigProcLib: Add operator<< to print CorrType to a string.
  * sigProcLib.h: Fix whitespaces. No non-whitespace changes.
  * Move Transceiver::demodulate() to sigProcLib to make it reusable.
  * sigProcLib: constify signalVector arguments for detectBurst() functions.
  * sigProcLib: Constify demodulation functions burst argument.
  * sigProcLib: Fix number of tail bits in random Normal Bursts and zero Stealing Bits.
  * Configuration: Variables allocated with 'new' must be freed with 'delete'.
  * BitVector: Remove Generator class.
  * PRBS: a Pseudo-random binary sequence (PRBS) generator class.

  [ Tom Tsou ]
  * EDGE: Fix USRP B210 device support
  * uhd: Correct timing alignment in 8-PSK and GMSK downlink bursts
  * EDGE: Fix demodulation slicer input
  * common: Restrict UDP binding to localhost only
  * common: Add mandatory length field to UDP receive calls
  * uhd: Update default E3XX settings
  * uhd: Set default Tx sampling to 4 sps
  * uhd: Make device offset check a private method
  * uhd: Set minimum UHD version requirement for E3XX
  * sigproc: Expand RACH, TSC, and EDGE correlation windows
  * transceiver: Do not report error on SETTSC when radio is on
  * transceiver: Add Rx samples-per-symbol option
  * radioInterface: Convert diversity argument to general type
  * iface: Add inner ring-buffer implementation
  * mcbts: Add multi-ARFCN channelizing filters
  * mcbts: Add multi-ARFCN radio support
  * sigproc: Adjust burst detection threshold criteria
  * egprs: Enable 8-PSK length vectors on the Tx interface
  * egprs: Enable 8-PSK burst detection when EDGE is enabled
  * transceiver: Remove HANDOVER warnings
  * mcbts: Allow out of order channel setup
  * radioInterface: Fix multi-channel buffer index bug
  * uhd: Add command line option for GPS reference
  * transceiver: Fix mixed GSMK / 8-PSK transmission
  * transceiver: Fix 4 SPS receive TOA value
  * sigproc: Fix missing 8-PSK tail symbols
  * uhd: Update USRP2/N200/N210 for 4 SPS Rx
  * sigproc: Match differential GMSK start/end bits to tail bits
  * uhd: Add missing B200 sample timing for 4 SPS receive
  * transceiver: Fix command build warning
  * uhd: Set minimum supported version to 3.9.0
  * uhd: Add X300 sample timing for 4 SPS
  * Revert "uhd: Set minimum supported version to 3.9.0"
  * uhd: Add support for UHD-3.11 logging control
  * uhd: Increase MC-BTS FPGA clock rate to 51.2 MHz
  * Resampler: Fix initialization return checking
  * sigProcLib: Remove unreachable code and no-effect checks
  * sigProcLib: Check return status on downsampling
  * sigProcLib: Fix negative value check on unsigned value
  * Resampler: Fix non-array delete for filter taps
  * Transceiver: Remove unsigned negative compares
  * Configuration: Fix const and signedness compile warnings
  * config: Remove OpenBTS style sqlite configuration
  * radioInterface: Remove UmTRX 'diversity' option
  * build: Require and check for gcc C++11 support
  * uhd: Use map container for for device parameter access
  * sigProcLib: Remove unused functions from public interface
  * uhd: Add non-UmTRX channel swap support
  * uhd: Fix Tx-RX timing offset setting
  * uhd: Fix USRP2/N200/N210 device detection
  * transceiver: Fix POWEROFF crash on USRP2/N200/X300 devices
  * sigProcLib: Fix complex/real vector flag in Laurent modulator
  * sigProcLib: Remove heap based signal vector allocations
  * common: Declare explicit Vector move constructor
  * sigProcLib: Remove trigonometric tables
  * sigProcLib: Use explicit NaN check in sinc table generation
  * sigProcLib: Replace dynamically allocated resampling buffers
  * sigProcLib: Specify standard namespace for isnan()
  * uhd: Always specify samples-per-symbol for device lookup
  * LimeSDR: set approximate tx offset value to make GSM work

  [ Neels Hofmeyr ]
  * add basic .gitignore
  * configure.ac: check for boost/config.hpp header
  * The INSTALL file is being overwritten by autoreconf, but it is committed as empty file. As a result, the INSTALL file always shows as modified. Instead, remove INSTALL from git and ignore it.
  * add contrib/jenkins.sh, for gerrit build bot

  [ pierre.baudry ]
  * transceiver: Fix mismatched allocations and deallocations

  [ Holger Hans Peter Freyther ]
  * debian: Require fftw3 header files for osmo-trx

  [ Max ]
  * Add gerrit settings
  * Integrate Debian packaging changes
  * Remove embedded sqlite3
  * Fix building against sqlite3
  * Add autoconf-archive to dependencies
  * debian: remove obsolete dependency
  * deb: remove unused dependency
  * Remove redundant explicit dependency
  * Use release helper from libosmocore

  [ Ruben Undheim ]
  * Do not embed sqlite3 when building

  [ Philipp Maier ]
  * buildenv: Turn off native architecture builds
  * cosmetic: Make parameter lists uniform
  * Add test program to verify convolution implementation
  * ssedetect: Add runtime CPU detection
  * cosmetic: remove code duplication
  * buildenv: Make build CPU invariant
  * buildenv: Split up SSE3 and SSE4.1 code
  * cosmetic: Add info about SSE support

  [ Vadim Yanitskiy ]
  * buildenv: correct the ax_sse macro description
  * buildenv: actually strip unused cpuid functionality
  * buildenv: fix build on systems without SIMD support
  * buildenv: cosmetic changes
  * buildenv: check for __builtin_cpu_supports call support
  * ssedetect: call __builtin_cpu_supports() only if supported

  [ Pau Espin Pedrol ]
  * cosmetic: transciever: Remove trailing whitespaces
  * transceiver: Avoid sending clock indications when trx is not powered on
  * Add -j option to bind to specific address

  [ ignasj ]
  * LimeSDR: Change device detection to work with USB and PCIe versions
  * LimeSDR: change tx window type to TX_WINDOW_FIXED
  * LimeSDR: Fix sample value range

  [ Harald Welte ]
  * Add '-t' command line option to enable SCHED_RR
  * Import git-version-gen and update AC_INIT()

 -- Harald Welte <laforge@gnumonks.org>  Sat, 28 Oct 2017 17:52:32 +0200

osmo-trx (0.1.9) trusty; urgency=medium

  * Ask Ivan, really

 -- Kirill Zakharenko <earwin@gmail.com>  Thu, 16 Jul 2015 12:13:46 +0000

osmo-trx (0.1.8) precise; urgency=low

     * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP

 -- Ivan Klyuchnikov <Ivan.Kluchnikov@fairwaves.ru>  Sun, 9 Mar 2014 14:10:10 +0400
