From 8fe4bb68050fab5d8fd95f8d926bc580cf6eb887 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 11 Apr 2018 21:52:49 +0200 Subject: osmodevcon: welcome, SD-E1, retrospective --- .../osmodevcon2018-2017_retrospective.adoc | 180 + .../osmodevcon2018-2017_retrospective.html | 4503 ++++++++++++++++++++ .../osmodevcon2018-software_defined_e1.adoc | 163 + .../osmodevcon2018-software_defined_e1.html | 4344 +++++++++++++++++++ .../osmodevcon2018-software_defined_e1__1.png | Bin 0 -> 26866 bytes .../osmodevcon2018-software_defined_e1__2.png | Bin 0 -> 24106 bytes .../osmodevcon2018-welcome.adoc | 85 + .../osmodevcon2018-welcome.html | 4151 ++++++++++++++++++ 8 files changed, 13426 insertions(+) create mode 100644 2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.adoc create mode 100644 2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.html create mode 100644 2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.adoc create mode 100644 2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.html create mode 100644 2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__1.png create mode 100644 2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__2.png create mode 100644 2018/osmodevcon2018-welcome/osmodevcon2018-welcome.adoc create mode 100644 2018/osmodevcon2018-welcome/osmodevcon2018-welcome.html diff --git a/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.adoc b/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.adoc new file mode 100644 index 0000000..eb25f1f --- /dev/null +++ b/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.adoc @@ -0,0 +1,180 @@ +Year 2017 Osmocom retrospective +=============================== +:author: Harald Welte +:copyright: 2018 by Harald Welte (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== 2017 - a year of change + +Osmocom CNI (Cellular Network Infrastructure) has changed a lot: + +* software changes +* team / developer changes +* sysmocom company focus changes + +== 2017 - CNI Software changes + +* OsmoBSC migration from SCCPlite to 3GPP AoIP +* OsmoMGW as integral part of both BSC and MSC +* NITB split into separate MSC, HLR, BSC +* 3G (IuCS, IuPS) goes mainline + +== 2016/2017/2018 - Team changes + +* Q1 2016: Jacob Erlbeck leaves sysmocom +** unfortunately a complete loss to Osmocom, particularly OsmoPCU +* 2017: Holger Freyther leaves sysmocom +** unfortunately also shift of focus away from Osmocom :( +** immense loss to the project in terms of skill and capacity +* Q1 2018: Max Suraev leaves sysmocom +** another loss of lots of Osmocom knowledge + +== sysmocom changes + +* we used to have to do lots of non-Osmocom work to cross-subsidize Osmocom +** big distraction of resources in 2014/2015, now gone +* we used to cross-subsidize Osmocom development by hardware sales +** not happening as much anymore +* we now work almost 100% on Osmocom +** R&D projects, support contracts and grants + +== split NITB aftermath (the good parts) + +* biggest architectural change since we started in 2008 +* lots of good reasons and design improvements +** finite state machines with proper timeouts / clean-up +** proper 3GPP AoIP with interoperability tesing +** no synchronous HLR database access +** HLR access from OsmoMSC and OsmoSGSN +** 2G/3G authentication over GERAN and UTRAN + +== split NITB aftermath (the bad parts) + +[role="incremental"] +* never-ending list of breakage +** actual regressions of things that used to work before +** things that were _known omissions_ during the restructuring +* some commercial users stuck with SCCPlite and thus old @osmo-bsc-sccplite@ +** almost none of the new features or bug fixes there +** no automatic testing +** back-ports time-consuming + +== split NITB aftermath (lessons learned) + +* overall complexity of Osomcoom cellular is quite stunning now +* absence of proper functional testing has caused massive fall-out +* the split architecture allows for betteer testing of smaller parts of the system +* my personal main focus of the last 5+ months: +[role="incremental"] +** testing, testing, testing, testing +** testing, testing, testing, testing +** some more testing +** even more testing + + +== Osmocom CNI testing (1/2) + +[role="incremental"] +* unit test (autotest, like we always had) +** test individual functions / APIs of libraries / programs +** executed during "make check" and hence before any patch can get merged +* automatized functional tests in TTCN-3 +** test _external_ visible behavior on interfaces such as Abis, A, GSUP, GTP, MNCC, PCUIF, CTRL, VTY, ... +** executed nightly by Jenkins (could be more frequently) + +== Osmocom CNI testing (2/2) + +[role="incremental"] +* osmo-gsm-tester +** tests entire Osmoocom network with BTS/BSC/MSC/HLR/PCU/SGSN/GGSN/... +** uses real BTS + MS hardware (over coaxial cable) +** automatic execution multiple times per day +* interop tests +** against NG40 RAN + CN simulator from NG4% (A / Gb / Iu level) +** not fully automatized yet + + +== Osmocom project health (CNI) + +[role="incremental"] +* lots of funded developments, *but* +** primarily _enterprise features_ required by professional users +* dominance of sysmocom is problematic +** sustainable FOSS has no single point of failure! +* we need more contributions from third parties +** particularly those that benefit commercially from Osmocom + +== Osmocom project health (other projects) + +[role="incremental"] +* OsmocomTETRA dead since 2012, occasional small fixes +* No OsmocomBB ports to other PHY/chip yet +* OsmocomDECT completely dead +* Erlang core network projects dead +* Smalltalk projects dead (AFAICT) +* SIMtrace dead for years, about to be resurrected + +== Osmocom project health (other projects) + +[role="incremental"] +* gr-osmosdr very low commit ratio +* rtl-sdr no commits in 2015-2017 +* but it's not that bad... (see next slide) + +== Osmocom project health (other projects) + +[role="incremental"] +* gr-gsm, fake_trx and trxcon a welcome change in OsmocomBB +* osmocom-analog (jolly to the rescue) +* osmo-fl2k (soon! now! this year!) + +== Osmocom status (CNI) + +[role="incremental"] +* CS RAN (BTS, BSC) is quite strong/complete these days +** ready to be used with 3rd party CN +* PS RAN (PCU) suffers from lack of attention +** lack of automatic testsuite with decent coverage +** lack of uplink multi-slot any many EGPRS features +* CS CN (MSC, HLR) +** in halthy state, but lack of TCAP/MAP interface limits us to non-roaming networks +* PS CN (SGSN, GGSN) +** in good health, now with IPv6 supoprt and kernel GTP acceleration + +== Osmocom outlook (CNI) + +* 2G still in demand by lots of use cases (rural, maritime, ...) +** if we had TCAP/MAP interface, many more deployments possible +* 3G has some users but lack of FOSS RNC limits us to femtocells +* 4G is deployed in parallel to 2G in many scenarios +** Osmocom 2G stack needs 2G-4G integration (SGs, DIAMETER) +** Osmocom needs to contribute to FOSS 4G projects (nextepc, srsLTE) +* irony: Now that it's possible to do properly funded Osmocom development, we have less people involved than in the early days :( + +If we don't manage to focus on 4G soon, interest in 2G will diminish soon + +== Osmocom outlook (other projects) + +[role="incremental"] +* activity of original/traditional Osmocom developers decreased +* without attracting more developers, a lot of projects will remain dormant and/or never realize their potential +* I'd love to work on TETRA, DMR or other mobile communications technology +** but lack of developers and contributors even for 2G makes me stuck in 2G CNI land :( + +== Personal Request + +[role="incremental"] +* Osmocom needs you! +* we've lost too many friends already +* please don't leave Osmocom; please don't leave me + +== Further Reading + +See my detailed 2017 review: + +* http://osmocom.org/news/84 + +== EOF + +End of File diff --git a/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.html b/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.html new file mode 100644 index 0000000..ac205c0 --- /dev/null +++ b/2018/osmodevcon2018-2017_retrospective/osmodevcon2018-2017_retrospective.html @@ -0,0 +1,4503 @@ + + + + +Year 2017 Osmocom retrospective + + + + + + + + +
+

2017 - a year of change

+
+

Osmocom CNI (Cellular Network Infrastructure) has changed a lot:

+
    +
  • + +software changes + +
  • +
  • + +team / developer changes + +
  • +
  • + +sysmocom company focus changes + +
  • +
+
+
+
+

2017 - CNI Software changes

+
+
    +
  • + +OsmoBSC migration from SCCPlite to 3GPP AoIP + +
  • +
  • + +OsmoMGW as integral part of both BSC and MSC + +
  • +
  • + +NITB split into separate MSC, HLR, BSC + +
  • +
  • + +3G (IuCS, IuPS) goes mainline + +
  • +
+
+
+
+

2016/2017/2018 - Team changes

+
+
    +
  • + +Q1 2016: Jacob Erlbeck leaves sysmocom + +
      +
    • + +unfortunately a complete loss to Osmocom, particularly OsmoPCU + +
    • +
    +
  • +
  • + +2017: Holger Freyther leaves sysmocom + +
      +
    • + +unfortunately also shift of focus away from Osmocom :( + +
    • +
    • + +immense loss to the project in terms of skill and capacity + +
    • +
    +
  • +
  • + +Q1 2018: Max Suraev leaves sysmocom + +
      +
    • + +another loss of lots of Osmocom knowledge + +
    • +
    +
  • +
+
+
+
+

sysmocom changes

+
+
    +
  • + +we used to have to do lots of non-Osmocom work to cross-subsidize Osmocom + +
      +
    • + +big distraction of resources in 2014/2015, now gone + +
    • +
    +
  • +
  • + +we used to cross-subsidize Osmocom development by hardware sales + +
      +
    • + +not happening as much anymore + +
    • +
    +
  • +
  • + +we now work almost 100% on Osmocom + +
      +
    • + +R&D projects, support contracts and grants + +
    • +
    +
  • +
+
+
+
+

split NITB aftermath (the good parts)

+
+
    +
  • + +biggest architectural change since we started in 2008 + +
  • +
  • + +lots of good reasons and design improvements + +
      +
    • + +finite state machines with proper timeouts / clean-up + +
    • +
    • + +proper 3GPP AoIP with interoperability tesing + +
    • +
    • + +no synchronous HLR database access + +
    • +
    • + +HLR access from OsmoMSC and OsmoSGSN + +
    • +
    • + +2G/3G authentication over GERAN and UTRAN + +
    • +
    +
  • +
+
+
+
+

split NITB aftermath (the bad parts)

+
+
    +
  • + +never-ending list of breakage + +
      +
    • + +actual regressions of things that used to work before + +
    • +
    • + +things that were known omissions during the restructuring + +
    • +
    +
  • +
  • + +some commercial users stuck with SCCPlite and thus old @osmo-bsc-sccplite@ + +
      +
    • + +almost none of the new features or bug fixes there + +
    • +
    • + +no automatic testing + +
    • +
    • + +back-ports time-consuming + +
    • +
    +
  • +
+
+
+
+

split NITB aftermath (lessons learned)

+
+
    +
  • + +overall complexity of Osomcoom cellular is quite stunning now + +
  • +
  • + +absence of proper functional testing has caused massive fall-out + +
  • +
  • + +the split architecture allows for betteer testing of smaller parts of the system + +
  • +
  • + +my personal main focus of the last 5+ months: + +
      +
    • + +testing, testing, testing, testing + +
    • +
    • + +testing, testing, testing, testing + +
    • +
    • + +some more testing + +
    • +
    • + +even more testing + +
    • +
    +
  • +
+
+
+
+

Osmocom CNI testing (1/2)

+
+
    +
  • + +unit test (autotest, like we always had) + +
      +
    • + +test individual functions / APIs of libraries / programs + +
    • +
    • + +executed during "make check" and hence before any patch can get merged + +
    • +
    +
  • +
  • + +automatized functional tests in TTCN-3 + +
      +
    • + +test external visible behavior on interfaces such as Abis, A, GSUP, GTP, MNCC, PCUIF, CTRL, VTY, … + +
    • +
    • + +executed nightly by Jenkins (could be more frequently) + +
    • +
    +
  • +
+
+
+
+

Osmocom CNI testing (2/2)

+
+
    +
  • + +osmo-gsm-tester + +
      +
    • + +tests entire Osmoocom network with BTS/BSC/MSC/HLR/PCU/SGSN/GGSN/… + +
    • +
    • + +uses real BTS + MS hardware (over coaxial cable) + +
    • +
    • + +automatic execution multiple times per day + +
    • +
    +
  • +
  • + +interop tests + +
      +
    • + +against NG40 RAN + CN simulator from NG4% (A / Gb / Iu level) + +
    • +
    • + +not fully automatized yet + +
    • +
    +
  • +
+
+
+
+

Osmocom project health (CNI)

+
+
    +
  • + +lots of funded developments, but + +
      +
    • + +primarily enterprise features required by professional users + +
    • +
    +
  • +
  • + +dominance of sysmocom is problematic + +
      +
    • + +sustainable FOSS has no single point of failure! + +
    • +
    +
  • +
  • + +we need more contributions from third parties + +
      +
    • + +particularly those that benefit commercially from Osmocom + +
    • +
    +
  • +
+
+
+
+

Osmocom project health (other projects)

+
+
    +
  • + +OsmocomTETRA dead since 2012, occasional small fixes + +
  • +
  • + +No OsmocomBB ports to other PHY/chip yet + +
  • +
  • + +OsmocomDECT completely dead + +
  • +
  • + +Erlang core network projects dead + +
  • +
  • + +Smalltalk projects dead (AFAICT) + +
  • +
  • + +SIMtrace dead for years, about to be resurrected + +
  • +
+
+
+
+

Osmocom project health (other projects)

+
+
    +
  • + +gr-osmosdr very low commit ratio + +
  • +
  • + +rtl-sdr no commits in 2015-2017 + +
  • +
  • + +but it’s not that bad… (see next slide) + +
  • +
+
+
+
+

Osmocom project health (other projects)

+
+
    +
  • + +gr-gsm, fake_trx and trxcon a welcome change in OsmocomBB + +
  • +
  • + +osmocom-analog (jolly to the rescue) + +
  • +
  • + +osmo-fl2k (soon! now! this year!) + +
  • +
+
+
+
+

Osmocom status (CNI)

+
+
    +
  • + +CS RAN (BTS, BSC) is quite strong/complete these days + +
      +
    • + +ready to be used with 3rd party CN + +
    • +
    +
  • +
  • + +PS RAN (PCU) suffers from lack of attention + +
      +
    • + +lack of automatic testsuite with decent coverage + +
    • +
    • + +lack of uplink multi-slot any many EGPRS features + +
    • +
    +
  • +
  • + +CS CN (MSC, HLR) + +
      +
    • + +in halthy state, but lack of TCAP/MAP interface limits us to non-roaming networks + +
    • +
    +
  • +
  • + +PS CN (SGSN, GGSN) + +
      +
    • + +in good health, now with IPv6 supoprt and kernel GTP acceleration + +
    • +
    +
  • +
+
+
+
+

Osmocom outlook (CNI)

+
+
    +
  • + +2G still in demand by lots of use cases (rural, maritime, …) + +
      +
    • + +if we had TCAP/MAP interface, many more deployments possible + +
    • +
    +
  • +
  • + +3G has some users but lack of FOSS RNC limits us to femtocells + +
  • +
  • + +4G is deployed in parallel to 2G in many scenarios + +
      +
    • + +Osmocom 2G stack needs 2G-4G integration (SGs, DIAMETER) + +
    • +
    • + +Osmocom needs to contribute to FOSS 4G projects (nextepc, srsLTE) + +
    • +
    +
  • +
  • + +irony: Now that it’s possible to do properly funded Osmocom development, we have less people involved than in the early days :( + +
  • +
+

If we don’t manage to focus on 4G soon, interest in 2G will diminish soon

+
+
+
+

Osmocom outlook (other projects)

+
+
    +
  • + +activity of original/traditional Osmocom developers decreased + +
  • +
  • + +without attracting more developers, a lot of projects will remain dormant and/or never realize their potential + +
  • +
  • + +I’d love to work on TETRA, DMR or other mobile communications technology + +
      +
    • + +but lack of developers and contributors even for 2G makes me stuck in 2G CNI land :( + +
    • +
    +
  • +
+
+
+
+

Personal Request

+
+
    +
  • + +Osmocom needs you! + +
  • +
  • + +we’ve lost too many friends already + +
  • +
  • + +please don’t leave Osmocom; please don’t leave me + +
  • +
+
+
+
+

Further Reading

+
+

See my detailed 2017 review: +* http://osmocom.org/news/84

+
+
+
+

EOF

+
+

End of File

+
+
+ + diff --git a/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.adoc b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.adoc new file mode 100644 index 0000000..be2e945 --- /dev/null +++ b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.adoc @@ -0,0 +1,163 @@ +Software Defined E1 +=================== +:author: Harald Welte +:copyright: 2018 by Harald Welte (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== E1 / T1 / TDM + +* good old ISDN technology +* 2 Mbits/s (E1) or 1.54 Mbits/s (T1) synchronous, full-duplex +* not used much anymore in telephony (everything moves to SIP/IP) +* still used quite a bit in 2G/3G cellular networks, even in 2018! + +== E1/T1/TDM in 2G/3G networks + +traditionally all interfaces over E1/T1 + +* Abis (RSL/OML over LAPDm) from BTS to BSC +* A (BSSAP/SCCP/MTP) from BSC to MSC +* ISUP/MTP for calls between MSCs and from/to PSTN +* MAP/TCAP/SCCP/MTP between MSC/VLR, SGSN, HLR, GW-MSC, IW-MSC, ... +* Gb (BSSGP/NS/FR) betewen PCU and SGSN +* Iub (Inverse ATM multiplex) over 4xE1 to RNC + +== E1/T1/TDM in 2G/3G networks today: Abis + +* TDM based Abis on decline +** back-haul networks increasingly switch TDM to IP as 4G is co-located with 2G +** but: Lots of BTSs still have physical E1 +** Equipment like Ericsson SIU used to convert E1 to IP (proprietary protocols) +** TDM link remains between BTS and SIU-style converter + +== E1/T1/TDM in 2G/3G networks today: A + +* TDM based A on the decline +** 3GPP has an official interoperable protocol: AoIP +** adopted by many more modern MSCs +** OsmoBSC supports 3GPP AoIP (yay!) + +== E1/T1/TDM in 2G/3G networks today: Core + +* TDM based core network connections still prevalent +** lots of legacy switches (MSCs) and STPs around +** signaling interconnect among MNOs and MVNOs often still TDM +** full MAP+CAP over TCAP/SCCP/MTP stack required + +== E1/T1/TDM interfacing from Linux / Osmocom + +* we've had E1/T1 based Abis for ages +* **libosmo-abis** supports mISDN + DAHDI drivers +** PCI + PCIe cards readily available +** still extremely expensive (OK in CN, not next to each BTS) +** PCI cards of course require a rather large (ATX, ITX, ...) computer + +[graphviz] +---- +digraph G { + rankdir = LR; + XFMR [label="Magnetics"]; + BTS -> XFMR [label="E1"]; + subgraph cluster_A { + label = "Classic E1/T1 Adapter (PCI/PCIe)"; + XFMR -> LIU [label="E1 (HDB3)"]; + LIU -> TDMCTRL; + TDMCTRL -> Bridge [label="Parallel Bus"]; + } + Bridge -> CPU [label="PCI / PCIe"]; +} +---- + +* TDMCTRL implements equalizer, elastic buffer, CRC, framing, HDLC, ... + + +== Osmocom E1/T1/TDM interfacing use-case + +* many E1/T1 based BTSs decommissioned around the world +* refurbished traders have quantities in stock for *very* low price +* using those BTSs with OsmoBSC + friends is an inexpensive way of +** deploying carrier-grade tier-1 BTS equipment +** with excellent environmental, RF sensitiviy, RF power and high MTBF +** for very low cost +* but: The E1/T1 card + associated PC are more expensive than your BTS :( + +== E1/T1/TDM interfacing wishlist + +* in 2018, you just want a very small E1/USB or E1/Ethernet adapter +* can be used with laptop when on the road, debugging something +* can be used with Raspberry Pi, Beaglebone or whatever other mall, inexpensive embedded Linux board +* you want to pay a realistic price, not some fantasy price (Digium & co) + +== Building an E1/T1 adapter + +Ok, so let's build an E1 adapter using existing chips... + +* existing E1/T1 controllers +** many (including Infineon) already EOL due to the demise of ISDN +** have arcane bus interfaces (parallel Intel/Motorola bus like 1980) +** are ridiculously expensive +** come in very large acane packages + +== The SD-TDM Plan [tm] + +The road to software-defined E1: + +* Simply use a LIU (Line Interface Unit) + Magnetics +** this converts the HDB3 ternary signal to a serial bit-stream +* serialize/deserialize that stream from a microcontroller +* do everything else in software, including framing, CRC4, ... + +[graphviz] +---- +digraph G { + rankdir = LR; + XFMR [label="Magnetics"]; + BTS -> XFMR [label="E1"]; + subgraph cluster_A { + label = "Software Defined E1 Adapter"; + XFMR -> LIU [label="E1 (HDB3)"]; + LIU -> uC [label="E1 (Serial Bits)"]; + } + uC -> Linux [label="Buffers of bits over\nUSB or Ethernet"]; +} +---- + +== Hardware Option A: TI PRU + +* TI processors like the AM335x on the Beagleboard have PRU cores +** PRU: _Programmable Realtime Unit_ +* PRU allows high-speed "real time" bit banging +* PRU can serialize/deserialize and provide buffers to ARM core with Linux +* E1 adapter could be a beaglebone cape +* Beaglebone could actually run entire OsmoBSC + OsmoMGW, too, using 3gPP AoIP over back-haul + +== Hardware Option B: XMOS + +* XMOS has a very unusual microcontroller architecture +* RISC CPU core @ 500 MHz with programmable serdes +** except USB + Ethenet, no other hard peripherals +** all peripherals (including I2C, SPI, ..) implemented in software! +** could be a simple / small E1/T1 to USB or to Ethernet converter + +== Hardware Option C: Programmable Logic + +* Using FPGA or CPLD one can of course synthesize a E1 core +* but that's not really _software defined_ anymore +* toolchain trouble (except yosys/arachne/ice40) +* just seems like overkill for a slow 2 Mbits/s signal + +== Further Reading + +* http://osmocom.org/projects/e1-t1-adapter +** http://osmocom.org/issues/2484 +* XMOS +** https://www.xmos.com/download/private/Introduction-to-XS1-ports%281.0%29.pdf +** https://www.xmos.com/download/private/XMOS-Programming-Guide-%28documentation%29%28E%29.pdf +* TI PRU +** http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem +** http://processors.wiki.ti.com/images/1/18/PRUSS_Training_Slides.pdf + +== EOF + +End of File diff --git a/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.html b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.html new file mode 100644 index 0000000..3430975 --- /dev/null +++ b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1.html @@ -0,0 +1,4344 @@ + + + + +Software Defined E1 + + + + + + + + +
+

E1 / T1 / TDM

+
+
    +
  • + +good old ISDN technology + +
  • +
  • + +2 Mbits/s (E1) or 1.54 Mbits/s (T1) synchronous, full-duplex + +
  • +
  • + +not used much anymore in telephony (everything moves to SIP/IP) + +
  • +
  • + +still used quite a bit in 2G/3G cellular networks, even in 2018! + +
  • +
+
+
+
+

E1/T1/TDM in 2G/3G networks

+
+

traditionally all interfaces over E1/T1

+
    +
  • + +Abis (RSL/OML over LAPDm) from BTS to BSC + +
  • +
  • + +A (BSSAP/SCCP/MTP) from BSC to MSC + +
  • +
  • + +ISUP/MTP for calls between MSCs and from/to PSTN + +
  • +
  • + +MAP/TCAP/SCCP/MTP between MSC/VLR, SGSN, HLR, GW-MSC, IW-MSC, … + +
  • +
  • + +Gb (BSSGP/NS/FR) betewen PCU and SGSN + +
  • +
  • + +Iub (Inverse ATM multiplex) over 4xE1 to RNC + +
  • +
+
+
+
+

E1/T1/TDM in 2G/3G networks today: Abis

+
+
    +
  • + +TDM based Abis on decline + +
      +
    • + +back-haul networks increasingly switch TDM to IP as 4G is co-located with 2G + +
    • +
    • + +but: Lots of BTSs still have physical E1 + +
    • +
    • + +Equipment like Ericsson SIU used to convert E1 to IP (proprietary protocols) + +
    • +
    • + +TDM link remains between BTS and SIU-style converter + +
    • +
    +
  • +
+
+
+
+

E1/T1/TDM in 2G/3G networks today: A

+
+
    +
  • + +TDM based A on the decline + +
      +
    • + +3GPP has an official interoperable protocol: AoIP + +
    • +
    • + +adopted by many more modern MSCs + +
    • +
    • + +OsmoBSC supports 3GPP AoIP (yay!) + +
    • +
    +
  • +
+
+
+
+

E1/T1/TDM in 2G/3G networks today: Core

+
+
    +
  • + +TDM based core network connections still prevalent + +
      +
    • + +lots of legacy switches (MSCs) and STPs around + +
    • +
    • + +signaling interconnect among MNOs and MVNOs often still TDM + +
    • +
    • + +full MAP+CAP over TCAP/SCCP/MTP stack required + +
    • +
    +
  • +
+
+
+
+

E1/T1/TDM interfacing from Linux / Osmocom

+
+
    +
  • + +we’ve had E1/T1 based Abis for ages + +
  • +
  • + +libosmo-abis supports mISDN + DAHDI drivers + +
      +
    • + +PCI + PCIe cards readily available + +
    • +
    • + +still extremely expensive (OK in CN, not next to each BTS) + +
    • +
    • + +PCI cards of course require a rather large (ATX, ITX, …) computer + +
    • +
    +
  • +
+
+
+osmodevcon2018-software_defined_e1__1.png +
+
+
    +
  • + +TDMCTRL implements equalizer, elastic buffer, CRC, framing, HDLC, … + +
  • +
+
+
+
+

Osmocom E1/T1/TDM interfacing use-case

+
+
    +
  • + +many E1/T1 based BTSs decommissioned around the world + +
  • +
  • + +refurbished traders have quantities in stock for very low price + +
  • +
  • + +using those BTSs with OsmoBSC + friends is an inexpensive way of + +
      +
    • + +deploying carrier-grade tier-1 BTS equipment + +
    • +
    • + +with excellent environmental, RF sensitiviy, RF power and high MTBF + +
    • +
    • + +for very low cost + +
    • +
    +
  • +
  • + +but: The E1/T1 card + associated PC are more expensive than your BTS :( + +
  • +
+
+
+
+

E1/T1/TDM interfacing wishlist

+
+
    +
  • + +in 2018, you just want a very small E1/USB or E1/Ethernet adapter + +
  • +
  • + +can be used with laptop when on the road, debugging something + +
  • +
  • + +can be used with Raspberry Pi, Beaglebone or whatever other mall, inexpensive embedded Linux board + +
  • +
  • + +you want to pay a realistic price, not some fantasy price (Digium & co) + +
  • +
+
+
+
+

Building an E1/T1 adapter

+
+

Ok, so let’s build an E1 adapter using existing chips…

+
    +
  • + +existing E1/T1 controllers + +
      +
    • + +many (including Infineon) already EOL due to the demise of ISDN + +
    • +
    • + +have arcane bus interfaces (parallel Intel/Motorola bus like 1980) + +
    • +
    • + +are ridiculously expensive + +
    • +
    • + +come in very large acane packages + +
    • +
    +
  • +
+
+
+
+

The SD-TDM Plan [tm]

+
+

The road to software-defined E1:

+
    +
  • + +Simply use a LIU (Line Interface Unit) + Magnetics + +
      +
    • + +this converts the HDB3 ternary signal to a serial bit-stream + +
    • +
    +
  • +
  • + +serialize/deserialize that stream from a microcontroller + +
  • +
  • + +do everything else in software, including framing, CRC4, … + +
  • +
+
+
+osmodevcon2018-software_defined_e1__2.png +
+
+
+
+
+

Hardware Option A: TI PRU

+
+
    +
  • + +TI processors like the AM335x on the Beagleboard have PRU cores + +
      +
    • + +PRU: Programmable Realtime Unit + +
    • +
    +
  • +
  • + +PRU allows high-speed "real time" bit banging + +
  • +
  • + +PRU can serialize/deserialize and provide buffers to ARM core with Linux + +
  • +
  • + +E1 adapter could be a beaglebone cape + +
  • +
  • + +Beaglebone could actually run entire OsmoBSC + OsmoMGW, too, using 3gPP AoIP over back-haul + +
  • +
+
+
+
+

Hardware Option B: XMOS

+
+
    +
  • + +XMOS has a very unusual microcontroller architecture + +
  • +
  • + +RISC CPU core @ 500 MHz with programmable serdes + +
      +
    • + +except USB + Ethenet, no other hard peripherals + +
    • +
    • + +all peripherals (including I2C, SPI, ..) implemented in software! + +
    • +
    • + +could be a simple / small E1/T1 to USB or to Ethernet converter + +
    • +
    +
  • +
+
+
+
+

Hardware Option C: Programmable Logic

+
+
    +
  • + +Using FPGA or CPLD one can of course synthesize a E1 core + +
  • +
  • + +but that’s not really software defined anymore + +
  • +
  • + +toolchain trouble (except yosys/arachne/ice40) + +
  • +
  • + +just seems like overkill for a slow 2 Mbits/s signal + +
  • +
+
+
+ +
+

EOF

+
+

End of File

+
+
+ + diff --git a/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__1.png b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__1.png new file mode 100644 index 0000000..ba1d63c Binary files /dev/null and b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__1.png differ diff --git a/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__2.png b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__2.png new file mode 100644 index 0000000..f0961b4 Binary files /dev/null and b/2018/osmodevcon2018-software_defined_e1/osmodevcon2018-software_defined_e1__2.png differ diff --git a/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.adoc b/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.adoc new file mode 100644 index 0000000..aa0547c --- /dev/null +++ b/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.adoc @@ -0,0 +1,85 @@ +Welcome to OsmoDevCon 2018 +========================== +:author: Harald Welte +:copyright: 2018 by Harald Welte (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== Welcome + +* 2018 marks the 7th incarnation of OsmoDevCon +* Great to see all of you (again) +* Great to see some new faces, too! + +== OsmoDevCon + +[role="incremental"] +* by developers for developers +* as technical as it gets +* at least as much about the people involved than the topics +* feel free to present things beyond classic Osmocom +* any reasonably advanced technical topic is welcome +* ... as far as time permits + +== Venue + +* Three rooms that we can use +** main room +** the _rear room_ (this year with table) +** the _PC room_ in the back +* two washrooms/toilets +** use load-balancing algorithm +* basement kitchen +** we'll put up foot catering there + +== Beverages / Coffee / Tea + +Help yourself with: + +* our own [filter] coffee + milk to use with the existing machine +* tea making facilities +* variety of beverages in the fridce +** please keep a tally of how many bottles you consume +** make sure to settle the total amount before you leave! +* snacks (sweets) available on top of fridge +** same rules as for beverages +* cookies spread out on the meeting table(s) + +== Internet Access + +* WiFi login / password marked on inner side of door +* Ethernet switches available around venue, just plug in + DHCP +** don't cause Ethernet loops (no STP!) + +== Important Rules + +* *DO NOT USE THE TAP (water) OR DISHWASHER IN THE BASEMENT* +** you will cause a flooding if you do it anyway +** instead, use dishwasher in the bathroom at the far back of the venue +* be excellent to each other + +== Changes from 2017 + +criticism from last year: + +* need more time for hacking / chat +* one day less was not such a good idea (so back to 4 days) +* let's try to make use of the _rear room_ for hacking +* we have pretalx and a real schedule! +* we have video recordings + +== Sponsoring / Thanks + +* Lunch sponsored by sysmocom +* Dinner sponsored by sysmocom +* venue + internet provided by IN-Berlin e.V. +* video recording by c3voc +* presentations by our amazing Osmocom community +* guest presentations by +** Sukchan Lee (nextepc) +** B. Jovanovic and D. Webster (LimeSDR adaptive digital predistortion) +* 10x LimeSDR mini donated by Lime Microsystems + +== EOF + +End of File diff --git a/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.html b/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.html new file mode 100644 index 0000000..b686460 --- /dev/null +++ b/2018/osmodevcon2018-welcome/osmodevcon2018-welcome.html @@ -0,0 +1,4151 @@ + + + + +Welcome to OsmoDevCon 2018 + + + + + + + + +
+

Welcome

+
+
    +
  • + +2018 marks the 7th incarnation of OsmoDevCon + +
  • +
  • + +Great to see all of you (again) + +
  • +
  • + +Great to see some new faces, too! + +
  • +
+
+
+
+

OsmoDevCon

+
+
    +
  • + +by developers for developers + +
  • +
  • + +as technical as it gets + +
  • +
  • + +at least as much about the people involved than the topics + +
  • +
  • + +feel free to present things beyond classic Osmocom + +
  • +
  • + +any reasonably advanced technical topic is welcome + +
  • +
  • + +… as far as time permits + +
  • +
+
+
+
+

Venue

+
+
    +
  • + +Three rooms that we can use + +
      +
    • + +main room + +
    • +
    • + +the rear room (this year with table) + +
    • +
    • + +the PC room in the back + +
    • +
    +
  • +
  • + +two washrooms/toilets + +
      +
    • + +use load-balancing algorithm + +
    • +
    +
  • +
  • + +basement kitchen + +
      +
    • + +we’ll put up foot catering there + +
    • +
    +
  • +
+
+
+
+

Beverages / Coffee / Tea

+
+

Help yourself with:

+
    +
  • + +our own [filter] coffee + milk to use with the existing machine + +
  • +
  • + +tea making facilities + +
  • +
  • + +variety of beverages in the fridce + +
      +
    • + +please keep a tally of how many bottles you consume + +
    • +
    • + +make sure to settle the total amount before you leave! + +
    • +
    +
  • +
  • + +snacks (sweets) available on top of fridge + +
      +
    • + +same rules as for beverages + +
    • +
    +
  • +
  • + +cookies spread out on the meeting table(s) + +
  • +
+
+
+
+

Internet Access

+
+
    +
  • + +WiFi login / password marked on inner side of door + +
  • +
  • + +Ethernet switches available around venue, just plug in + DHCP + +
      +
    • + +don’t cause Ethernet loops (no STP!) + +
    • +
    +
  • +
+
+
+
+

Important Rules

+
+
    +
  • + +DO NOT USE THE TAP (water) OR DISHWASHER IN THE BASEMENT + +
      +
    • + +you will cause a flooding if you do it anyway + +
    • +
    • + +instead, use dishwasher in the bathroom at the far back of the venue + +
    • +
    +
  • +
  • + +be excellent to each other + +
  • +
+
+
+
+

Changes from 2017

+
+

criticism from last year:

+
    +
  • + +need more time for hacking / chat + +
  • +
  • + +one day less was not such a good idea (so back to 4 days) + +
  • +
  • + +let’s try to make use of the rear room for hacking + +
  • +
  • + +we have pretalx and a real schedule! + +
  • +
  • + +we have video recordings + +
  • +
+
+
+
+

Sponsoring / Thanks

+
+
    +
  • + +Lunch sponsored by sysmocom + +
  • +
  • + +Dinner sponsored by sysmocom + +
  • +
  • + +venue + internet provided by IN-Berlin e.V. + +
  • +
  • + +video recording by c3voc + +
  • +
  • + +presentations by our amazing Osmocom community + +
  • +
  • + +guest presentations by + +
      +
    • + +Sukchan Lee (nextepc) + +
    • +
    • + +B. Jovanovic and D. Webster (LimeSDR adaptive digital predistortion) + +
    • +
    +
  • +
  • + +10x LimeSDR mini donated by Lime Microsystems + +
  • +
+
+
+
+

EOF

+
+

End of File

+
+
+ + -- cgit v1.2.3