osmo-e1d is an E1 interface deamon that is part of the Osmocom E1 interface driver architecture. It was primarily written for the ICE40 based E1 framer IP core developed by @tnt.
osmo-e1d acts as an interface between the hardware/firmware of the E1 interface on the bottom side, and applications wanting to use E1 timeslots on the top side.osmo-e1d implements
- the USB protocol exposed by the ICE40 FPGA E1 core by tnt
- software HDLC by means of libosmocore
- multiplex/demultiplex from the 2048kBits/s E1 on the one hand side and the 32 timeslots of 64kBits/s
The interface towards applications is modelled to be compatible with DAHDI, that is to have one file descriptor per 64k E1 timeslot. Timeslots can either carry raw, unaligned bitstreams or HDLC frames.
In order to use osmo-e1d from applications, there is a small client-side library included: libosmo-e1d.
libosmo-abis contains an
e1_input backend for osmo-e1d using libosmo-e1d.