osmo-e1d (0.7.2) unstable; urgency=medium

  [ Harald Welte ]
  * contrib/e1-prbs-test: Note osmo-e1d capability in README

  [ Oliver Smith ]
  * include/Makefile: format nobase_include_HEADERS
  * Generate version.h files

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 03 Dec 2025 17:20:18 +0100

osmo-e1d (0.7.1) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * jenkins.sh: Use --disable-doxygen configure param

  [ Harald Welte ]
  * Avoid segfault during 'show octoi-clients' VTY command

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 12 Feb 2025 10:23:03 +0100

osmo-e1d (0.7.0) unstable; urgency=medium

  [ Andreas Eversberg ]
  * Use uniform log format for default config files
  * Add option to automatically reset RIFO on underrun/overflow
  * Add new protocol command and events for Sa bits and line states
  * Add functions for events from server to client
  * Indicate framing alignment error as loss of framing signal
  * Indicate remote alarm bit as remote alarm inidication
  * Indicate change in received Sa bits
  * Add command and client function to change transmitted Sa bits
  * Prevent memory leaks / double free of msgb in proto_clnt.c

  [ Harald Welte ]
  * [cosmetic] e1oip.h: Update TODO comment (we have RTT, frame loss stats)
  * usb: Pass not just the actual transfer length but also the buffer size
  * usb: Deal with truncated ISO IN transfers
  * Add funding link to github mirror
  * README.md: Improved markdown formatting; more links

  [ Sylvain Munaut ]
  * iCE1usb: Add support to configure CRC4 mode for TX/RX
  * Update ice1usb_proto.h
  * iCE1usb: Transmit LOS events to clients
  * iCE1usb: Transmit AIS events to clients
  * ctl: When setting Sa bits, other bits must remain set to '1'

  [ Oliver Smith ]
  * contrib: remove rpm spec file
  * gitignore: remove debian/libosmo-e1d

  [ Mychaela N. Falconia ]
  * configure.ac: lower libusb-1.0 requirement to 1.0.20
  * e1_ts_stop: clear tx_started flag
  * mux_demux.c cosmetic: fix indent level in _e1_tx_raw()
  * mux from not-started raw TS: fill with 0xFF

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 24 Jul 2024 11:28:56 +0200

osmo-e1d (0.6.0) unstable; urgency=medium

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

  [ Philipp Maier ]
  * proto_clnt: fix function prototype
  * proto_clnt: close osmo-e1d control socket on connection loss
  * proto_clnt: use osmo_fd_close to close the socket on connection loss

  [ Harald Welte ]
  * Check return code of fcntl() in several plaaces
  * proto_srv: Fix file descriptor and memory leak in error paths
  * octoi: Fix missing check of osmo_fsm_register() return value
  * e1d-ts-pipe: Assert that osmo_fd_register() succeeds
  * octoi: Add force-send-all-ts mode

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 13:30:06 +0200

osmo-e1d (0.5.0) unstable; urgency=medium

  [ Oliver Smith ]
  * octoi_srv_fsm: fix implicit fall-through
  * gitreview: new file
  * doc/examples: only install osmo-e1d.cfg to /etc
  * contrib/spec: add /etc/osmocom/osmo-e1d.cfg

  [ Sylvain Munaut ]
  * usb: Add support for new GPSDO status field "Accumulated error"
  * Add osmo-e1gen to .gitignore
  * usb: Fix the length field of ICE1USB_INTF_SET_GPSDO_TUNE request
  * usb: Fix ICE1USB_INTF_SET_GPSDO_MODE request parameter
  * vty: Add option to disable GPS-DO loop and use manual tuning values
  * octoi: Prevent segfault on 'show octoi-clients if a client has no line
  * usb: Claim and set interface alt-setting only for used lines

  [ Harald Welte ]
  * support for e1-tracer hardware
  * ctl: Prevent clients from opening TS0
  * osmo-e1d-pipe: Add command line option for --force open of timeslot
  * usb.c: Bail out of e1-tracer doesn't accept set_configuration(2)
  * Differentiate between icE1usb and e1-tracer in log/vty output
  * osmo-e1d: Add the usual '-V' / '--version' command line argument
  * avoid segfault in 'show interface' of absent icE1usb
  * Add support of RPM package building via osmo-e1d.spec.in
  * Initial user manual for osmo-e1d
  * jenkins.sh: Support for building + publishing the manual
  * doxygen API documentation for libosmo-e1d
  * update .gitignore with files from manuals + doxygen
  * DAHDI trunkdev support

  [ arehbein ]
  * osmo-e1d: Transition to use of 'telnet_init_default'

  [ Christoph Lauter ]
  * Increasing max FIFO size for feature request 5875, adapting tests

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 11:57:43 +0100

osmo-e1d (0.4.0) unstable; urgency=medium

  [ Harald Welte ]
  * Use the error counters for remote alarm + remote CRC error
  * Add support for icE1usb RAI interrupt error flag
  * cosmetic: Adhere osmocom coding style in for-loops
  * usb: Print failed USB isochronous packets
  * usb: Use libusb_status_str when logging INT EP error
  * make rate_counters work
  * update copyright statement
  * e1_{intf,line}_new: Allow caller to specify the numeric identifier
  * Allow configuration of interfaces/lines via VTY
  * GPS-DO support for icE1usb hardware
  * Proper libusb error reporting in all error paths
  * usb: rename 'size' to 'len' in callback functions
  * e1d.h: add #pragma once
  * cosmetic: Remove extra empty newlines from end of intf_line.c
  * intf_line.c: Make e1d_find_intf_by_usb_serial safe for empty string
  * cosmetic: curly braces around multi-line blocks
  * intf_line: Ensure unique rate counter group indexes
  * mux_demux.c: Use %zu for size_t
  * vty.c: Fix re-reading of config file after 'write file'
  * OCTOI: initial support for E1oIP forwarding
  * add example config files for octoi-server and octoi-client
  * RIFO (random in, first out) for IP->E1 direction
  * fix segfault on 'show octoi-server' if no server configured
  * vty: Print only applicable information during 'show line'
  * OCTOI: re-implement LINE_STAT_E1oIP_E1T_FIFO
  * octo: give rate_ctr / stat_items meaningful identifiers
  * Make use of libosmcoore cpu_sched_vty
  * Set rate_ctr_group name for each line
  * Fix stats exporter
  * octoi: Update RIFO depth also on dequeue
  * Add rate counters for number of frames muxed/demuxed (E1 side)
  * octoi: Add new rate-counter for out-of-order packets
  * e1d: stat_items for the GPS-DO related bits
  * octoi: Reset FIFO/RIFO when entering ACCEPTED state
  * octoi: Disconnect the link when >= 7500 underruns/s
  * rifo_test: print rifo_depth + rifo_frames on every IN/OUT
  * octoi: differentiate UNDERRUN from SUBSTITUTED in counters
  * e1oip: Rename e1oip:overflow to e1oip:e1o_overflow
  * e1oip: Add rate_ctr for IP->E1 RIFO overflows
  * octoi: Terminate connection on too high RIFO OVERFLOW rates
  * octoi: Fix client re-start after clock drift disconnect
  * octoi: add new counter every time a connection is accepted
  * e1oip: Add stat items for number of timeslots
  * cosmetic: remove dead code {fifo,rifo}_dump() functions
  * octoi: Support setting IP DSCP and socket priority via VTY
  * e1oip: fix line counter descriptions
  * e1oip: Add rate_ctr for rx + tx packet / byte count
  * octoi: only memcpy() if it is present in _octoi_tx_echo()
  * octoi: Send ECHO_REQ every 10s and update the related stat_item
  * e1oip: introduce #defines for BATCHING_FACTOR / PREFILL_COUNT
  * e1oip: Make batching-factor and prefill-frame-count configurable
  * update git URLs (git -> https; gitea)
  * README.md: Fix syntax for hyperlinks

  [ Sylvain Munaut ]
  * e1d/usb: Limit feedback EP transfer size to 3
  * e1d/usb: Use wMaxPacketSize to know maximum number of frames to send
  * build: Increase warnings
  * Fix a bunch of warning raised by the new build warning options
  * usb: Add warning for error during interrupt transfers
  * mux_demux: Shuffle functions around for consistency
  * mux_demux: In RAW mode, fill with dummy until first TX
  * contrib/e1-prbs-test: Delay the TX pipe fill data until first RX
  * RIFO: Minor typo/comment fixes
  * RIFO: Fix operator precedence issue in the math for bucket_for_fn
  * RIFO: Fix issue in frame number bounds checking
  * RIFO: Add a test for bounds checking
  * OCTOI: Fix the extension of 16b FN from packet to full 32b FN
  * octoi: Simple RX priming / pre-filling
  * rifo_test: Use a helper function for the rifo init
  * octoi: Fix frame_rifo_depth() function

  [ Oliver Smith ]
  * checkpatch.conf: new file

  [ Tobias Mädel ]
  * RIFO: fix frame_rifo_in check on frame number wrap-around
  * RIFO: add more thorough tests and a vetted test.ok file

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

osmo-e1d (0.3.0) unstable; urgency=medium

  * e1d: reliably detect EOF in _e1_ts_{read,write} (RAW mode)
  * e1d: reliably detect EOF (HDLC-FCS mode)
  * Introduce a #define for the maximum HDLC buffer size (264)
  * e1d-ts-pipe: Don't write more HDLC bytes than e1d supports
  * e1d: Add watchdog timer to detect dead lines / USB devices
  * update ice1usb_proto.h to current master

 -- Harald Welte <laforge@osmocom.org>  Sat, 01 Jan 2022 15:42:20 +0100

osmo-e1d (0.2.2) unstable; urgency=medium

  [ Harald Welte ]
  * e1d-prbs-test: Initialize libosmocore logging
  * ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY
  * make compile-time default logging configuration less verbose

  [ Pau Espin Pedrol ]
  * Use new stat item/ctr getter APIs
  * gitignore: Add configure~

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 16 Nov 2021 18:10:15 +0100

osmo-e1d (0.2.1) unstable; urgency=medium

  * add README.md describing what this repository is about
  * e1d: fix ASSERT during "write terminal"

 -- Harald Welte <laforge@osmocom.org>  Fri, 26 Mar 2021 09:34:49 +0100

osmo-e1d (0.2.0) unstable; urgency=medium

  [ Harald Welte ]
  * migrate to proper allocated USB Product ID
  * add missing call to logging_vty_add_cmds() during startup
  * usb.c: Fix error introducing Tx underflows
  * Detect truncated reads on SOCK_SEQPACKET sockets
  * print E1DP Mode as string, not in numeric format
  * Use SOCK_STREAM sockets for E1_TS_MODE_RAW
  * Fix HDLC-FCS transmit side
  * _e1_rx_hdlcfs: const-ify input buffer argument
  * introduce concept of superchannel to data structures
  * actually implement the superchannel mode
  * Add new E1DP_CMD_LINE_CONFIG for switching channelized/superchannel
  * cosmetic: create HDLC specific sub-structure within e1_ts
  * implement buffering to chunks in E1->application direction
  * add comment about first byte of E1DP_MAGIC
  * make RAW read buffer size configurable (instead of hard-coded 160)
  * usb: Don't pass negative length values to e1_line_demux_in()
  * src/ctl.c: Log NOTICE messages whenever client send unexpected requests
  * e1-prbs-test: Add support for osmo-e1d
  * make sure a given timeslot can only be opened once (by default)
  * Use OSMO_FD_* instead of deprecated BSC_FD_*
  * vpair: fix writing config file with vpairs configured
  * usb: Increase number of transfers from 2 to 4
  * Add support for icE1usb interrupt endpoint error reporting
  * Add per-line rate counter group to count various errors
  * support for control endpoint requests to icE1usb to switch Rx/Tx mode
  * e1_line.c: Split multiplex + demultiplex into separate mux_demux.c
  * usb.c: Mark _e1_usb_open_device() as static
  * move usb.c function declarations to newly-created usb.h
  * Move e1d_find_intf + e1_intf_find_line to intf_line.c
  * vty: export vty_e1d + move e1d_vty_node to header file
  * Evaluate received E and A bits in TS0
  * Add new "osmo-e1gen" program.

  [ Oliver Smith ]
  * configure.ac: set -std=gnu11

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 24 Feb 2021 14:07:27 +0100

osmo-e1d (0.1.1) unstable; urgency=medium

  * Makefile.am: Don't put LIBS into CFLAGS

 -- Harald Welte <laforge@osmocom.org>  Thu, 02 Jul 2020 13:44:06 +0200

osmo-e1d (0.1.0) unstable; urgency=medium

  * debian/control: Add missing dependency to libusb-1.0-0-dev
  * debian: Fix packaging of libosmo-e1d
  * debian: Remove dependency to libosmo-abis; remove explicit libosmocore version

 -- Harald Welte <laforge@osmocom.org>  Wed, 01 Jul 2020 12:29:43 +0200

osmo-e1d (0.0.1) unstable; urgency=medium

  [ Harald Welte ]
  * initial debian package

 -- Harald Welte <laforge@osmocom.org>  Tue, 30 Jun 2020 18:24:51 +0100
