summaryrefslogtreecommitdiff
path: root/2019/cccamp2019-how_camp_lte_works
diff options
context:
space:
mode:
Diffstat (limited to '2019/cccamp2019-how_camp_lte_works')
-rw-r--r--2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpegbin0 -> 167519 bytes
-rw-r--r--2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpegbin0 -> 169244 bytes
-rw-r--r--2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpegbin0 -> 168365 bytes
-rw-r--r--2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpegbin0 -> 157642 bytes
-rw-r--r--2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc60
5 files changed, 56 insertions, 4 deletions
diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpeg
new file mode 100644
index 0000000..2c297e3
--- /dev/null
+++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpeg
Binary files differ
diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg
new file mode 100644
index 0000000..de27baf
--- /dev/null
+++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg
Binary files differ
diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg
new file mode 100644
index 0000000..d8b592f
--- /dev/null
+++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg
Binary files differ
diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg
new file mode 100644
index 0000000..608028f
--- /dev/null
+++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg
Binary files differ
diff --git a/2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc b/2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc
index faae09b..52d9560 100644
--- a/2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc
+++ b/2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc
@@ -12,6 +12,8 @@ How the CCC Camp 2019 LTE network works
* we had GSM networks at European Hacker Camps since 2009 (HAR)
* we had UMTS (3G) for a few years now, too
** using Osmocom stack with OsmoHNBGW / OsmoMSC / OsmoSGSN
+* I'm still involved with developing the related software, but have handed over actual network operation at CCC events to a team around lynxis and bibor
+** this means I have time for playing with LTE
== LTE
@@ -46,10 +48,13 @@ digraph {
** main focus on UE; eNodeB features somewhat limited
** super simplistic srsEPC suitable for only the scarcest of use cases
* OpenAirInterface
-** obscure code base; difficult to build; "
+** obscure code base; difficult to build
** very research oriented
** RAN part under non-free, non-opensource but 'source available' license
* nextepc
+** the clear underdog
+** very capable; many features (SGs, handover on X2 and S1, SBc)
+** readable code!
== nextepc
@@ -65,7 +70,7 @@ digraph {
* shared subscriber (and key) database
** LTE: HSS, speaking DIAMETER
** 2G/3G: HLR, speaking MAP (Osmocom:GSUP)
-* We need a so-called 'inter-working function (IWF)
+* We need a so-called 'inter-working function' (IWF)
** translate from DIAMETER to GSUP and vice-versa
== osmo_dia2gsup
@@ -75,8 +80,9 @@ digraph {
* I wrote a translator for the two minimal procedures
** AuthInfo (Obtain authentication tuples)
** UpdateLocation (registration)
+* code at https://git.osmocom.org/erlang/osmo_dia2gsup/
-== Network layout
+== Network layout (logical)
[graphviz]
----
@@ -121,11 +127,57 @@ digraph G {
SGW -> PGW [label="GTP1U"];
SGW -> PGW [label="GTPv2C"];
-
+http://git.osmocom.org/erlang/osmo_dia2gsup/
dia2gsup -> OsmoHLR [label="GSUP"];
}
----
+== Network layout (physical)
+
+* 6 eNodeBs distributed around the camp inside select Datenklos
+** Ericsson RBS6402 with 23dBm in Band 7
+** back-haul over regular CCC Ethernet as separate VLAN
+* Stratum-0 NTP server with GPS receiver for eNB clock sync
+** built on Raspi 3B with gpsd + ntpd
+* Lenovo x240 Laptop running qemu-kvm for core network
+** runs nextepc MME, SGW, PGW
+** runs osmo_dia2gsup for translating DIAMETER to GSUP
+* Querying Camp 2G/3G OsmoHLR for subscriber data
+
+== Radio paramters
+
+* Telefonica O2 has provided (borrowed) 10 MHz of spectrum in Band 7 (2600 MHz)
+* We can use it either as one channel @ 10 MHz or two chnanels @ 5 MHz
+** first four days were operated using 5 MJz channels (3 eNB on each channel)
+** last day was operated using 10 MHz channels (6 eNB on same channel)
+
+== Results (1/2)
+
+* Telekom technician Peter "@33dBm" Schmidt has done some testing
+** first test with 5MHz chnanels: https://twitter.com/33dBm/status/1165393409852563457
+** problems with neighbor selection due to dual-frequency network
+** Average throughput 33.6 Mbps down / 9.1 Mbps up)
+
+image::camp2019-lte-map2.jpeg[width="30%"]
+
+== Results (2/2)
+
+* Telekom technician Peter "@33dBm" Schmidt has done some testing
+** second test with 10 MHz chnanels: https://twitter.com/33dBm/status/1165576180961095680
+** better neighbor selection
+** improved throughput (Average 62.7 Mbps down / 20.8 Mbps up)
+
+image::camp2019-lte-results.jpeg[width="30%"]
+
+== Thanks
+
+* to the Camp GSM team for operating 2G/3G
+* to Eventphone / POC for handling user registration UI and voice interconnect
+* to Sukchan Lee (@acetcom) for writing nextepc
+* to Dieter Spaar for all of his support during the past 10 years
+* to Peter Schmidt (@33dBm) for professional rive (bike ride) testing
+* to Telefonica O2 Germany for borrowing us some of their Band 7 frequencies
+
== EOF
End of File
personal git repositories of Harald Welte. Your mileage may vary