osmo-e1d/contrib/e1-prbs-test
Sylvain Munaut 7cc8a7b806 contrib/e1-prbs-test: Delay the TX pipe fill data until first RX
There is non negligible time between the moment init_timeslot is
called and the moment when we get the first RX (which is when
we start sending out data at the same rate we RX it). And those
1024 byte were borderline not enough to not underflow.

By delaying the 1024 byte pre-fill until we get the first RX,
we ensure the time that pre-fill covers is more consistant and
less dependend on whatever the app/scheduling does during the
init phase.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: Ic1c93fd138073a75830dc16bb41c4541e68eef90
2022-01-09 15:09:11 +01:00
..
Makefile e1-prbs-test: Add support for osmo-e1d 2020-09-11 13:04:21 +02:00
README contrib: add e1-prbs-test 2020-01-06 17:37:07 +01:00
ice40-rx.c e1-prbs-test: Add initial code for checking ICE40-E1 traces 2020-01-06 17:37:07 +01:00
internal.h contrib/e1-prbs-test: Delay the TX pipe fill data until first RX 2022-01-09 15:09:11 +01:00
main.c contrib/e1-prbs-test: Delay the TX pipe fill data until first RX 2022-01-09 15:09:11 +01:00
prbs.c contrib: add e1-prbs-test 2020-01-06 17:37:07 +01:00
rx.c contrib: add e1-prbs-test 2020-01-06 17:37:07 +01:00
tx.c contrib: add e1-prbs-test 2020-01-06 17:37:07 +01:00
utils.c contrib: add e1-prbs-test 2020-01-06 17:37:07 +01:00

README

e1-prbs-test - Utility to test for bit errors on E1 lines using DAHDI
======================================================================

e1-prbs-test can be used to test for bit errors in E1 transmission
lines. It consists of a sender and a receiver, which should be used
on either end of the E1 line.

Transmitter and receiver can be on the same machine, or on different
machines.

The code currently works directly on DAHDI, so only DAHDI-supported E1
cards are supported at this point.

The test works by sending timeslot-specific PRBS sequences of 512 bit
(64byte) length on the transmit side, and by correlating to those PRBS
sequences on the receiver side.

The use is relatively simple:

For the A-side, assuming you would want to use DAHDI span 1:
  e1-prbs-test /dev/dahdi/chan/001

For the B-side, assuming you would want to use DAHDI span 2:
  e1-prbs-test /dev/dahdi/chan/002

The test will run indefinitely.

If you'd like to get an interim report, send a SIGHUP to
e1-prbs-test.

If you'd like to stop, simply press Ctrl+C.
There is a two-stage shut-down process.  When you press Ctrl+C for
the first time, the report is printed, but transmission continues. At
the second Ctrl+C, the process terminates.   You must press Ctrl+C for
the first time on both A and B side, before pressing it the second time
on the A-side in order to get correct results.