E1 related hardware projects (icE1usb, osmo-e1-tap, osmo-e1-xcvr, osmo-e1-tracer) https://osmocom.org/projects/e1-t1-adapter/wiki
Go to file
Harald Welte f5e7264a27 import latest e1-tracer host software
This was originally in https://github.com/smunaut/ice40-playground
but has meanwhile been removed, only a fork at
https://github.com/laf0rge/ice40-playground remained.

Let's import the code here.  The history is not all that exciting
so I'm saving myself the effort of git filter-branch or the like
to import the actual old commits.

The commit log is here for reference:

commit bd36d40cc30acbae68978df79eff03f0539a9a21
Author: Harald Welte <laforge@osmocom.org>
Date:   Fri Sep 4 10:21:51 2020 +0200

    e1-recorder main.c: Don't exist just because one ISO transfer failed

    I get LIBUSB_TRANSFER_ERROR every so often (once every few hours) on my
    laptop.  Sure, it likely means there was some data lost, but the trace
    can continue juts fine after this error.  So make it non-fatal and
    continue running.

commit 9b02b3e87400ba3d27bff05e2632fbd5a0698e8c
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Aug 31 10:01:20 2020 +0200

    Add 'replay' to re-play 2Mbps stream with realistic speed (to stdout)

commit 23103d3a8f9cc8b3f0ba602dbb4240040b2d008a
Author: Harald Welte <laforge@osmocom.org>
Date:   Sun Aug 30 15:41:12 2020 +0200

    dump: Use osmo_e1f to decode; send HLDC over GSMTAP

commit 7acd063a1245a34835d4488be3caad592f3c19d5
Author: Harald Welte <laforge@osmocom.org>
Date:   Thu Aug 20 16:48:15 2020 +0200

    dump.c: Add error plotting support

commit 90b90d04fff494b70ad220bd82ac48d43f3096c9
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 13 18:20:39 2020 +0100

    dump: Add support for writing LAPD PCAP of E1 superchannel

commit f3a0cc34f0901c2cf257367351dddfddc6f7301e
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 13 16:37:23 2020 +0100

    dump.c: Move handling of frames to separate function

commit 8deffb5907979e43e3a4236ea7bb8d54513513ac
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 13 16:34:39 2020 +0100

    dump.c: remove local hexdump.[ch] and use libosmocore proper

commit 80d81e78737237ba3b6bae1deb7d5107d7f613b6
Author: Harald Welte <laforge@osmocom.org>
Date:   Tue Sep 1 13:52:52 2020 +0200

    tracer: use 0x6151 as PID

    See 5e68831b26

commit b219af27b34bbd6deb2419aa38852d8d227b9fc0
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 6 13:47:28 2020 +0100

    e1-recorder: Don't silently ignore write failures

    The disk may be full, for example. We should report that to the user
    and terminate the program.

commit ead99fdfae6f1db54c79a91ef407a86c67352d87
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 6 12:41:23 2020 +0100

    e1-recorder: Exit process on transfer + resubmit failure

    This is particularly importnat in case the USB device for some reason
    gets disconnected and re-connects.  We want the process to fail fast
    and have systemd respawn us.

commit a521e026c76056a60531c490fa2ef84e8e633c9a
Author: Harald Welte <laforge@osmocom.org>
Date:   Mon Jan 6 12:35:20 2020 +0100

    e1-recorder: use libusb_strerror() to decode error messages

commit 43a8fbdfdc35f5ba7564cfe5c92f43b124abf710
Author: Harald Welte <laforge@osmocom.org>
Date:   Sun Jan 5 19:49:58 2020 +0100

    e1-recorder: Acytually make '-r' (SCHED_RR) work

commit 84e28225d9ba1de9fb09660a96bd3b0b798c88d9
Author: Harald Welte <laforge@osmocom.org>
Date:   Sun Jan 5 17:53:11 2020 +0100

    e1-recorder: Add small 'dump' program

    This program will print one line for each E1 frame, where each line
    consists of 32 hex bytes: one for each timeslot

commit 0c697b40620b5d18480e626991dc639daadf58a6
Author: Sylvain Munaut <tnt@246tNt.com>
Date:   Sun Dec 29 13:13:17 2019 +0100

    projects/riscv_usb: Host software for the dual channel sniffer

    Signed-off-by: Sylvain Munaut <tnt@246tNt.com>

Closes: OS#5673
Change-Id: I9319c1eb8f822830307c1a181d357c58ce43efba
2022-10-31 08:28:43 +01:00
contrib jenkins.sh: Fix upload of tagged releases 2022-01-16 18:10:41 +01:00
doc Doc Update - Build process for DAHDI on Debian 11 2022-05-17 11:16:29 +02:00
firmware/ice40-riscv icE1usb fw: Limit dfuprog to proper USB IDs 2022-10-04 16:16:20 +02:00
flashing add flash scripts to flash e1_tracer via https://github.com/dword1511/stm32-vserprog.git and dfu-util 2020-08-27 00:45:20 +02:00
gateware gateware: no_rw_check fixes to cope with new yosys BRAM inferrence 2022-10-04 21:34:56 +02:00
hardware hardware/icE1usb-rs422: Add missing gitignore 2022-09-13 10:47:24 +02:00
mechanical mechanical/icE1usb-case: Update ECN with 1st production run infos 2020-10-28 00:41:55 +01:00
software import latest e1-tracer host software 2022-10-31 08:28:43 +01:00
.checkpatch.conf import latest e1-tracer host software 2022-10-31 08:28:43 +01:00
.gitattributes Add .gitattribute to make sure pdf are treated as binary 2020-10-09 13:42:58 +02:00
.gitignore gitignore: add files from generating manuals 2021-01-13 10:54:03 +01:00
.gitmodules gateware: Initial import of all common parts 2020-09-14 10:56:49 +02:00
README Change name of repository in README 2020-09-04 13:14:40 +00:00


osmo-e1-hardware - Collection of various E1/TDM hardware projects

This repository hosts three different sub-projects:

* osmo-e1-xcvr (E1 LIU + magnetics)
* osmo-e1-tracer (fully integrated passive raw bitstream tracer)
* osmo-e1-tap (passive high-impedance tap)

== osmo-e1-xcvr ==

This is a simple hardware project that aims to generate a reusable module
for interfacing E1/T1/J1 lines from various custom FPGA/CPLD/microcontroller

The board contains tranformers, the analog circuitry, the LIU (line interface
unit), an oscillator as well as an integrated transceiver chip.

It exposes the control interface (SPI) as well as the decoded synchronous
Rx/Tx bitstreams each on a 2x5pin header.

Framer, Multiplexe,r HDLC decoder or anything like that is out-of-scope for
now.  The idea relaly is to provide an interface as low-level as possible.

One of the ideas is to create a "soft E1" interface, where the Rx/Tx bitstreams
are interfaced with the SSC of an AT91SAM3S and subsequently passed into a PC
via USB.  The 2Mbps signal is very low-bandwidth, so that a pure software
implementation should be absolutely no problem for todays computing power.

See https://osmocom.org/projects/e1-t1-adapter/wiki/Osmo-e1-xcvr for more details

== osmo-e1-tap ==

This is a small passive board that allows you to perform high-impedance tracing on an E1
or T1 line.

== osmo-e1-tracer ==

This is a fully integrated design that allows you to obtainm bi-directional high-impedance
bitstream E1 traces.  It features an iCE40 FPGA with USB + E1 cores from Sylvain Munaut,
as well as two E1 LIUs.

See https://osmocom.org/projects/e1-t1-adapter/wiki/E1_tracer for more details.