diff options
Diffstat (limited to '2019/cccamp2019-how_camp_lte_works')
-rw-r--r-- | 2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpeg | bin | 0 -> 167519 bytes | |||
-rw-r--r-- | 2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg | bin | 0 -> 169244 bytes | |||
-rw-r--r-- | 2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg | bin | 0 -> 168365 bytes | |||
-rw-r--r-- | 2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg | bin | 0 -> 157642 bytes | |||
-rw-r--r-- | 2019/cccamp2019-how_camp_lte_works/how_the_camp_lte_works.adoc | 60 |
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 Binary files differnew file mode 100644 index 0000000..2c297e3 --- /dev/null +++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-info.jpeg diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg Binary files differnew file mode 100644 index 0000000..de27baf --- /dev/null +++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map.jpeg diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg Binary files differnew file mode 100644 index 0000000..d8b592f --- /dev/null +++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-map2.jpeg diff --git a/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg Binary files differnew file mode 100644 index 0000000..608028f --- /dev/null +++ b/2019/cccamp2019-how_camp_lte_works/camp2019-lte-results.jpeg 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 |