Project

General

Profile

Actions

Early Design Thoughts » History » Revision 1

Revision 1/2 | Next »
laforge, 05/12/2018 08:21 AM


osmo-e1d

The envisioned osmo-e1d is a daemon that handles Osmocom E1 interfaces. Its main tasks are:

  1. communicate with each E1 line hardware interface via USB USB_Protocol (or UDP/IP)
  2. provide a per-timeslot interface towards the users (such as OsmoBSC and OsmoMGW
    • likely unix domain socket based, so libosmo-abis and friends can keep their "one FD per
  3. provide some kind of interface by which the user application can
    • perform line/interface based operations
      • enumerate the list of available interfaces/lines
      • obtain status information (LOS, Alarm, CRC4 errors, etc) on each line
    • timeslot based
      • claim/release individual timeslots
      • enable/disable Rx/Tx of individual timeslots (could be implicit in claim?)
      • switch individual timeslots between raw and HDLC/CRC mode
      • obtain timeslot status information such as CRC16 errors, frame errors, ...
  4. implement any internal handling required, such as
    • perform tasks not implemented by the adapter hardware/firmware (CRC4 tx / rx, multiframe alignment, LOS / ALRM / state machines)
    • implement HDLC on each requested timeslot

User point of view

A user application would be interested in performing the following operations:

  • obtain a list of lines/interfaces
  • obtain a list of timeslots at a given line/interface, including availability status
  • select/open a given timeslot on a given line
  • enable/disable a given timeslot
  • switch mode (raw/hdlc) of a given timeslot
  • obtain line status information like local/remote CRC4 / LOS / ALARM
  • receive data from a given TS
  • transmit data on a given TS
Files (1)
sockbuf_test.c sockbuf_test.c 1.54 KB socket buffer / pipe test program laforge, 05/12/2018 10:14 AM

Updated by laforge almost 6 years ago · 1 revisions

Add picture from clipboard (Maximum size: 48.8 MB)