summaryrefslogtreecommitdiff
path: root/2016
diff options
context:
space:
mode:
Diffstat (limited to '2016')
-rw-r--r--2016/33c3/images/diag.dot29
-rw-r--r--2016/33c3/images/qmi_services.dot27
-rw-r--r--2016/33c3/images/qmi_smd_qmuxd.dot37
-rw-r--r--2016/33c3/images/qualcomm_le.svg1068
-rw-r--r--2016/cellular_acronym_evolution/765px-UMTS_Channels.svg.pngbin0 -> 92338 bytes
-rw-r--r--2016/cellular_acronym_evolution/cellular_acronym_evolution.adoc157
-rw-r--r--2016/open-compliance-jp/abstract.txt21
-rw-r--r--2016/open-compliance-jp/bio.txt23
-rw-r--r--2016/osmocom_gsup/osmocom_gsup.adoc47
-rw-r--r--2016/path_loss_link_budget/ap_to_client.pngbin0 -> 125449 bytes
-rw-r--r--2016/path_loss_link_budget/link_budget.pngbin0 -> 114322 bytes
-rw-r--r--2016/path_loss_link_budget/path_loss_link_budget.adoc205
-rw-r--r--2016/path_loss_link_budget/rf.adoc530
13 files changed, 2144 insertions, 0 deletions
diff --git a/2016/33c3/images/diag.dot b/2016/33c3/images/diag.dot
new file mode 100644
index 0000000..66dcec8
--- /dev/null
+++ b/2016/33c3/images/diag.dot
@@ -0,0 +1,29 @@
+#!graphviz
+digraph G {
+ graph [ dpi = 50 ];
+ rankdir = RL;
+
+ MDSP[ label = "Modem DSP" ];
+
+ SMD [ label = "Shared Memory Devices" ];
+ diagfwd
+ f_diag
+ USB
+
+ SMD -> MDSP
+ subgraph cluster_kernel {
+ label = "Linux Kenrnel"
+ diagfwd -> SMD
+ diagchar -> diagfwd
+ f_diag -> diagfwd
+ USB -> f_diag
+ }
+ subgraph cluster_userspace {
+ label = "Linux Userspace"
+ qmuxd -> diagchar [ label = "/dev/diag" ];
+ atfwd_daemon -> qmuxd [ label = "/dev/diagt" ]
+ QCMAP -> qmuxd [ label = "/dev/diagt" ]
+ quectel_daemon -> qmuxd [ label = "/dev/diag" ]
+ }
+ Host -> USB
+}
diff --git a/2016/33c3/images/qmi_services.dot b/2016/33c3/images/qmi_services.dot
new file mode 100644
index 0000000..7371152
--- /dev/null
+++ b/2016/33c3/images/qmi_services.dot
@@ -0,0 +1,27 @@
+#!graphviz
+digraph G {
+ graph [ dpi = 50 ];
+ rankdir = RL;
+
+ subgraph cluster_mdsp {
+ label = "Modem CPU"
+ WDS
+ DMS
+ NAS
+ PBM
+ QMUX
+ SHM
+
+ WDS -> QMUX
+ DMS -> QMUX
+ NAS -> QMUX
+ NAS -> QMUX
+ PBM -> QMUX
+ QMUX -> SHM
+ }
+ SHM -> SMD
+ subgraph cluster_linux {
+ label = "Linux CPU"
+ SMD
+ }
+}
diff --git a/2016/33c3/images/qmi_smd_qmuxd.dot b/2016/33c3/images/qmi_smd_qmuxd.dot
new file mode 100644
index 0000000..9df36d1
--- /dev/null
+++ b/2016/33c3/images/qmi_smd_qmuxd.dot
@@ -0,0 +1,37 @@
+#!graphviz
+digraph G {
+ graph [ dpi = 50 ];
+ rankdir = RL;
+
+ MDSP[ label = "Modem DSP" ];
+
+ SMD [ label = "Shared Memory Devices" ];
+ frmnet [ label = "f_rmnet USB Gadget" ];
+ USB [ label = "USB to Host"];
+ qmuxd
+ atfwd_daemon
+ quectel_daemon
+ mbimd
+ ipth_dme
+ qti
+ qxmapp
+ QCMAP [ label= "QCMAP_ConnectionManager" ];
+
+ SMD -> MDSP
+ subgraph cluster_kernel {
+ label = "Linux Kenrnel"
+ frmnet -> SMD
+ USB -> frmnet
+ }
+ subgraph cluster_userspace {
+ label = "Linux Userspace"
+ qmuxd -> SMD [ label = "/dev/smdccntlN" ];
+ atfwd_daemon -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ QCMAP -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ quectel_daemon -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ mbimd -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ ipth_dme -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ qti -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ qxmapp -> qmuxd [ label = "/var/qmux_connect_socket" ]
+ }
+}
diff --git a/2016/33c3/images/qualcomm_le.svg b/2016/33c3/images/qualcomm_le.svg
new file mode 100644
index 0000000..051cd7a
--- /dev/null
+++ b/2016/33c3/images/qualcomm_le.svg
@@ -0,0 +1,1068 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 744.09448819 1052.3622047"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="qualcomm_le.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker8075"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path8077" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker7921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path7923" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker7771"
+ style="overflow:visible;"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path7773"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker7629"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path7631"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker7491"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path7493"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker7361"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path7363" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker7235"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path7237" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker7117"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path7119"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker6991"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6993" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker6877"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path6879"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker6771"
+ style="overflow:visible;"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path6773"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker6683"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path6685"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker5697"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5699" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker5603"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5605" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker5351"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5353" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker5281"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5283" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker5215"
+ style="overflow:visible;"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path5217"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker5157"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path5159"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker5103"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5105" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker5057"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:collect="always">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path5059" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lstart"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path4741"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path4744"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.311357"
+ inkscape:cx="292.32284"
+ inkscape:cy="537.96199"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ showguides="true"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:object-nodes="true"
+ inkscape:window-width="1386"
+ inkscape:window-height="1057"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-349.02704"
+ y="58.84729"
+ id="text4147"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149"
+ x="-349.02704"
+ y="58.84729"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">f_serial</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-349.02704"
+ y="96.84729"
+ id="text4147-6"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ x="-349.02704"
+ y="96.84729"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ id="tspan4169">f_rmnet</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-347.16089"
+ y="191.41422"
+ id="text4147-9"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9"
+ x="-347.16089"
+ y="191.41422"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">f_serial</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-347.16089"
+ y="159.41422"
+ id="text4147-0"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-8"
+ x="-347.16089"
+ y="159.41422"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">f_ffs</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-348.16089"
+ y="130.41422"
+ id="text4147-1"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ x="-348.16089"
+ y="130.41422"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ id="tspan4197">f_diag</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="74.165344"
+ y="273.28345"
+ id="text4201"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4203"
+ x="74.165344"
+ y="273.28345"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.5px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">USB Gadget</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
+ x="177.16534"
+ y="680.31494"
+ id="text4205"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4207"
+ x="177.16534"
+ y="680.31494" /></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-677.42529"
+ y="392.61597"
+ id="text4209-3"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ x="-677.42529"
+ y="392.61597"
+ id="tspan4217-32"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle">NMEA</tspan></text>
+ <g
+ id="g4292">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209"
+ y="111.66787"
+ x="-679.93774"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217"
+ y="111.66787"
+ x="-679.93774"
+ sodipodi:role="line">ATCMD</tspan></text>
+ <rect
+ y="644.8819"
+ x="88.58268"
+ height="70.866142"
+ width="35.433071"
+ id="rect4290"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4379">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-7"
+ y="182.53401"
+ x="-680.72144"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-8"
+ y="182.53401"
+ x="-680.72144"
+ sodipodi:role="line">RMNET</tspan></text>
+ <rect
+ y="644.8819"
+ x="159.44882"
+ height="70.866142"
+ width="35.433071"
+ id="rect4297-6"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4297-5"
+ width="35.433071"
+ height="70.866142"
+ x="372.04724"
+ y="644.8819" />
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4297-2"
+ width="35.433071"
+ height="70.866142"
+ x="265.74802"
+ y="644.8819" />
+ <g
+ id="g4408">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-0"
+ y="253.40015"
+ x="-680.40649"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-3"
+ y="253.40015"
+ x="-680.40649"
+ sodipodi:role="line">DIAG</tspan></text>
+ <rect
+ y="644.8819"
+ x="230.31496"
+ height="70.866142"
+ width="35.433071"
+ id="rect4297-7"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4374">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-8"
+ y="217.52029"
+ x="-680.15747"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-9"
+ y="217.52029"
+ x="-680.15747"
+ sodipodi:role="line">QMI</tspan></text>
+ <rect
+ y="644.8819"
+ x="194.88188"
+ height="70.866142"
+ width="35.433071"
+ id="rect4297-9"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(35.433072,-1.5378937e-5)"
+ id="g4292-6">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-04"
+ y="111.66787"
+ x="-679.93774"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-1"
+ y="111.66787"
+ x="-679.93774"
+ sodipodi:role="line">ATCMD</tspan></text>
+ <rect
+ y="644.8819"
+ x="88.58268"
+ height="70.866142"
+ width="35.433071"
+ id="rect4290-0"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(141.73228,-1.5378937e-5)"
+ id="g4379-4">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-7-8"
+ y="182.53401"
+ x="-680.72144"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-8-7"
+ y="182.53401"
+ x="-680.72144"
+ sodipodi:role="line">RMNET</tspan></text>
+ <rect
+ y="644.8819"
+ x="159.44882"
+ height="70.866142"
+ width="35.433071"
+ id="rect4297-6-0"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(141.73229,-1.5378937e-5)"
+ id="g4374-7">
+ <text
+ transform="matrix(0,-1,1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text4209-8-9"
+ y="217.52029"
+ x="-680.15747"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan4217-9-3"
+ y="217.52029"
+ x="-680.15747"
+ sodipodi:role="line">QMI</tspan></text>
+ <rect
+ y="644.8819"
+ x="194.88188"
+ height="70.866142"
+ width="35.433071"
+ id="rect4297-9-9"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4455">
+ <rect
+ y="715.74805"
+ x="88.58268"
+ height="35.433071"
+ width="318.89764"
+ id="rect4449"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4451"
+ y="737.34644"
+ x="141.823"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ y="737.34644"
+ x="141.823"
+ id="tspan4453"
+ sodipodi:role="line">SMD (Shared Memory Device)</tspan></text>
+ </g>
+ <g
+ transform="translate(-1.2014793e-6,70.866153)"
+ id="g4455-9">
+ <rect
+ y="715.74805"
+ x="88.58268"
+ height="35.433071"
+ width="318.89764"
+ id="rect4449-0"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4451-5"
+ y="737.34644"
+ x="141.823"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ y="737.34644"
+ x="141.823"
+ id="tspan4453-6"
+ sodipodi:role="line">SMD (Shared Memory Device)</tspan></text>
+ </g>
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4503"
+ width="248.03149"
+ height="301.18109"
+ x="283.46457"
+ y="290.55118" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-585.21545"
+ y="498.97568"
+ id="text4147-9-7"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7"
+ x="-585.21545"
+ y="498.97568"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">/dev/nmea</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-584.83563"
+ y="440.2283"
+ id="text4147-9-7-6"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7-4"
+ x="-584.83563"
+ y="440.2283"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">/dev/smdcntl0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-578.16089"
+ y="300.98114"
+ id="text4147-9-7-7"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7-48"
+ x="-578.16089"
+ y="300.98114"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">/dev/diag</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-381.01129"
+ y="304.11499"
+ id="text4147-9-7-5"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7-8"
+ x="-381.01129"
+ y="304.11499"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">/dev/ttyGS0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="384.10965"
+ y="391.64212"
+ id="text4147-9-7-2-62"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7-6-8"
+ x="384.10965"
+ y="391.64212"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">QMI clients</tspan></text>
+ <g
+ id="g4661"
+ transform="translate(35.433074,124.01574)">
+ <text
+ sodipodi:linespacing="125%"
+ id="text4147-9-7-2-6"
+ y="205.75879"
+ x="380.54749"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ y="205.75879"
+ x="380.54749"
+ id="tspan4149-9-7-6-4"
+ sodipodi:role="line">quec_bridge</tspan></text>
+ <rect
+ y="184.25197"
+ x="372.04724"
+ height="35.433071"
+ width="106.29921"
+ id="rect4619"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4651"
+ transform="translate(248.0315,-17.716535)">
+ <text
+ sodipodi:linespacing="125%"
+ id="text4147-9-7-2"
+ y="471.60568"
+ x="152.71712"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ y="471.60568"
+ x="152.71712"
+ id="tspan4149-9-7-6"
+ sodipodi:role="line">qmuxd</tspan></text>
+ <rect
+ y="450"
+ x="141.73228"
+ height="35.433071"
+ width="70.866142"
+ id="rect4621"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4656"
+ transform="translate(283.46457,-1.3216274e-5)">
+ <text
+ sodipodi:linespacing="125%"
+ id="text4147-9-7-2-0"
+ y="419.84769"
+ x="26.574053"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ y="419.84769"
+ x="26.574053"
+ id="tspan4149-9-7-6-6"
+ sodipodi:role="line">adbd</tspan></text>
+ <rect
+ y="396.8504"
+ x="17.716536"
+ height="35.433071"
+ width="53.149605"
+ id="rect4623"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-583.97375"
+ y="359.7327"
+ id="text4147-9-7-7-7"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4149-9-7-48-0"
+ x="-583.97375"
+ y="359.7327"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold'">rmnet0</tspan></text>
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4668"
+ width="513.77954"
+ height="513.77954"
+ x="35.433071"
+ y="237.40158" />
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4670"
+ width="513.77954"
+ height="106.29921"
+ x="35.433071"
+ y="768.89764" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-873.09625"
+ y="565.00189"
+ id="text4674"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4676"
+ x="-873.09625"
+ y="565.00189"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Hexagon</tspan><tspan
+ sodipodi:role="line"
+ x="-873.09625"
+ y="583.75189"
+ id="tspan4678"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Modem CPU</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-746.86469"
+ y="567.11212"
+ id="text4674-4"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan4676-1"
+ x="-746.86469"
+ y="567.11212"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">ARM Cortex-A5</tspan><tspan
+ sodipodi:role="line"
+ x="-746.86469"
+ y="585.86212"
+ id="tspan4678-9"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Application CPU</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-365.13431"
+ y="526.60492"
+ id="text4674-0"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ x="-365.13431"
+ y="526.60492"
+ id="tspan4678-8"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Userspace</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="-535.41742"
+ y="52.694736"
+ id="text4674-0-8"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ x="-535.41742"
+ y="52.694736"
+ id="tspan4678-8-5"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Linux Kernel</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);marker-start:url(#Arrow1Lstart)"
+ d="M 389.76378,644.88189 496.06299,591.73228"
+ id="path4735"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker5057);marker-end:url(#marker5103)"
+ d="m 442.91339,591.73228 -88.58268,53.14961"
+ id="path5049"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker5157);marker-end:url(#marker5215)"
+ d="m 318.89764,644.88189 35.43307,-53.14961"
+ id="path5149"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker5281);marker-end:url(#marker5351)"
+ d="m 248.0315,644.88189 0,-53.14961"
+ id="path5273"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5697);marker-start:url(#marker5603)"
+ d="M 88.582677,361.41732 212.59843,644.88189"
+ id="path6643"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6683);marker-start:url(#marker6877)"
+ d="M 177.16535,644.88189 88.582677,361.41732"
+ id="path6675"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker6991);marker-end:url(#marker6771)"
+ d="M 53.149606,361.41732 141.73228,644.88189"
+ id="path6983"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker7117);marker-end:url(#marker7235)"
+ d="M 53.149606,361.41732 106.29921,644.88189"
+ id="path7109"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker7361);marker-end:url(#marker7491)"
+ d="M 248.0315,520.86614 124.01575,361.41732"
+ id="path7353"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker7629);marker-end:url(#marker7771)"
+ d="m 159.44882,361.41732 124.01575,53.14961"
+ id="path7621"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker7921);marker-end:url(#marker8075)"
+ d="m 212.59843,325.98425 70.86614,0"
+ id="path7913"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect8229"
+ width="177.16536"
+ height="124.01575"
+ x="35.433071"
+ y="237.40158" />
+ <g
+ id="g8239">
+ <rect
+ y="520.86615"
+ x="212.59842"
+ height="70.866142"
+ width="70.866142"
+ id="rect8231"
+ style="opacity:0.98999999;fill:none;fill-opacity:0.57647059;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text8233"
+ y="552.20496"
+ x="248.20728"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:'Andale Mono';-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ y="552.20496"
+ x="248.20728"
+ id="tspan8235"
+ sodipodi:role="line">diag</tspan><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;text-anchor:middle"
+ id="tspan8237"
+ y="570.95496"
+ x="248.20728"
+ sodipodi:role="line">fwd</tspan></text>
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 283.46457,414.56693 17.71653,0"
+ id="path8245"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 496.06299,343.70079 0,159.44882"
+ id="path8247"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 318.89764,325.98425 88.58267,0"
+ id="path8249"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 442.91339,396.85039 -17.71654,35.43307"
+ id="path8251"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 407.48031,467.71654 17.71654,70.86614"
+ id="path8253"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 425.19685,432.28346 0,-35.43307"
+ id="path8255"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 425.19685,432.28346 407.48031,396.85039"
+ id="path8257"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/2016/cellular_acronym_evolution/765px-UMTS_Channels.svg.png b/2016/cellular_acronym_evolution/765px-UMTS_Channels.svg.png
new file mode 100644
index 0000000..4820749
--- /dev/null
+++ b/2016/cellular_acronym_evolution/765px-UMTS_Channels.svg.png
Binary files differ
diff --git a/2016/cellular_acronym_evolution/cellular_acronym_evolution.adoc b/2016/cellular_acronym_evolution/cellular_acronym_evolution.adoc
new file mode 100644
index 0000000..bb58fc5
--- /dev/null
+++ b/2016/cellular_acronym_evolution/cellular_acronym_evolution.adoc
@@ -0,0 +1,157 @@
+Cellular Acronym Evolution
+==========================
+Harald Welte
+:copyright: Harald Welte (Liense: CC-BY-SA)
+:backend: slidy
+:max-width: 45em
+
+== Classic GSM
+
+GSM:: Global System for Mobile Communications (was: Groupe Special Mobile)
+
+Network is split in
+
+BSS:: Base Station Subsystem
+NSS:: Network Switching Subsystem
+
+== Classic GSM Networks: Subscriber Side
+
+ME:: Mobile Equipment
+SIM:: Subscriber Identity Module
+MS:: Mobile Station (ME + SIM)
+
+Um:: User interface (mobile)
+
+== Classic GSM Networks: BSS
+
+BSS:: Base Station Subsystem
+
+BTS:: Base Transceiver Station
+Abis:: Interface BTS - BSC
+BSC:: Base Station Controller
+A:: Interface BSC - MSC
+
+== Classic GSM Networks: NSS
+
+MSC:: Mobile Switching Center
+VLR:: Visitor Location Register
+HLR:: Home Location Register
+SMSC:: SMS Service Center
+
+== GPRS extends GSM
+
+CCU:: Circuit Control Unit
+PCU:: Packet Control Unit
+Gb:: Interface PCU - SGSN
+SGSN:: Serving GPRS Support Node
+GGSN:: Gateway GPRS Support Node
+
+== UMTS
+
+UMTS:: Univesal Mobile Telephony System
+WCDMA:: Wideband Carrier Division Multiple Access
+
+Network is split in RAN + CN
+
+RAN:: Radio Access Network
+CN:: Core Network
+
+== UMTS Subscriber Side
+
+ME:: Mobile Equipment (no change)
+UICC:: Univresal Integrated Chip Circuit
+USIM:: UMTS SIM (Application on UICC), successor of SIM
+UE:: User Equipment (Successor of MS)
+
+Uu:: User interface, universal. Successor of Um
+
+== UMTS Radio Access Network (RAN)
+
+RAN:: Successor of BSS
+GERAN:: GPRS/EDGE RAN (legacy part)
+UTRAN:: Universal Telephony RAN (UMTS RAN)
+NodeB:: Successor of BTS
+Iub:: Interface NodeB - RNC (Successor of Abis)
+RNC:: Successor of BSC
+Iu-CS:: Interface RNC - MSC (Successor of A)
+Iu-PS:: Interface RNC - SGSN (Successor of Gb)
+
+== UMTS Core Netwokr (CN)
+
+MSC:: Mobile Switching Center
+VLR:: Visitor Location Register
+HLR:: Home Location Register
+SMSC:: SMS Service Center
+SGSN:: Serving GPRS Support Node
+Gn:: Interface between SGSN and GGSN
+GGSN:: Gateway GPRS Support Node
+
+(no acronym changes)
+
+== UMTS Release 4
+
+The MSC functionality is split between control and user plane;
+
+MSS:: Mobile Switching Center Server
+MGW:: Media GateWay
+
+== LTE (Long Term Evolution)
+
+After your network is already universal, what else can happen? It
+*evolves*...
+
+LTE UE:: UserEquipment (no rename)
+LTE Uu:: LTE User interface (universal)
+E-UTRAN:: Evolved UTRNA (successor to UTRAN)
+eNodeB:: Evolved NodeB (successor to NodeB)
+S1:: Interface between eNodeB and MME (successor to Iu-PS)
+
+== LTE (Long Term Evolution)
+
+MME:: Mobility Management Engine (partial successor to SGSN)
+S11:: Interface between MME and S-GW
+S-GW:: Serving GateWay (partial successor to SGSN)
+S5:: Interface between S-GW and P-GW (successor to Gn)
+P-GW:: Packet Data Network GateWay (successor to GGSN)
+
+(RNC has completely been removed, eNodeBs arrange hand-overs directly
+among each other)
+
+== Radio Interface Protocol Stacks
+
+[options="header"]
+|===
+| GSM | GPRS | UMTS | LTE
+| - | SNDCP | PDCP | PDCP
+| RR | GRR | RRC | LTE RRC
+| LAPD | RLC/MAC | RLC/MAC | LTE RLC/MAC
+| Um | Um | Uu | LTE Uu
+|===
+
+== Radio Interface Logical Channels
+
+[options="header"]
+|===
+| GSM | GPRS | UMTS | LTE
+| BCCH | (P)BCC | BCCH | BCCH
+| CCCH | (P)CCCH | CCCH | CCCH
+| SDCCH | - | DCCH | DCCH
+| TCH | - | DTCH | DTCH
+| - | PCCH | PCCH | PCCH
+|===
+
+In GSM, logical channels are directly on top of the physical layer,
+while UMTS and LTE introduce complex physica and transport channel
+concepts underneath the logical channel.
+
+== UMTS Physical / Transport / Logical Channels
+
+image::765px-UMTS_Channels.svg.png[]
+
+By Timothy Colgan - Own work, CC BY-SA 3.0,
+https://commons.wikimedia.org/w/index.php?curid=19454393
+
+
+== The End
+
+Questions?
diff --git a/2016/open-compliance-jp/abstract.txt b/2016/open-compliance-jp/abstract.txt
new file mode 100644
index 0000000..45178ed
--- /dev/null
+++ b/2016/open-compliance-jp/abstract.txt
@@ -0,0 +1,21 @@
+Strategies in practical GPL enforcement
+
+Enforcement of copyleft licenses like the GNU GPL has always been a
+somewhat controversial topic. Some people are not in favor of
+enforcement at all (but then, why choose the GPL and not a permissive
+license?). Other people have less inhibitions in enforcing the
+license. But then this raises the next questions? Enforcement using
+which strategy? Enforcement using which methods? The Linux Kernel
+developer community has recently re-fueled that debate on the
+ksummit-discuss mailing list.
+
+Ultimately, most projects and developers are looking for the
+downstream developers and companies to participate in a collaborative
+development model. The copyleft principle is just a legal "hack" to
+codify some part of that based on copyright. As a result, license
+compliance is not an end in itself, but the very bare legal minimum of
+what needs to be done when engaging in (particularly
+corporate/commercial) re-use of Free Software.
+
+This talk will look at the different (GPL) license enforcement
+approaches and present their advantages and disadvantages.
diff --git a/2016/open-compliance-jp/bio.txt b/2016/open-compliance-jp/bio.txt
new file mode 100644
index 0000000..0268a5f
--- /dev/null
+++ b/2016/open-compliance-jp/bio.txt
@@ -0,0 +1,23 @@
+Harald Welte is a data communications freelancer, enthusiast and hacker
+who is working with Free Software (and particularly GNU/Linux)
+since 1995 His major code contribution to the Linux kernel was as a
+core developer of the netfilter/iptables packet filter.
+
+He has co-started a number of other Free Software and Open Hardware
+projects, from RFID to telephony - including the worlds first 100% Open
+Free Software based mobile phone OpenMoko.
+
+Aside from his technical contributions, Harald has been pioneering the legal
+enforcement of the GNU GPL license as part of his gpl-violations.org project.
+More than 150 inappropriate use of GPL licensed code by commercial companies
+have been resolved as part of this effort, both in court and out of court. He
+has received the 2007 "FSF Award for the Advancement of Free Software" and the
+"2008 Google/O'Reilly Open Source award: Defender of Rights".
+
+In 2008, Harald started to work on Free Software on the GSM protocol side, both
+for passive sniffing and protocol analysis, as well as an actual network-side
+GSM stack implementation called OpenBSC, which later developed towards
+GPRS, EDGE and UMTS. In 2010, he expanded those efforts by creating
+OsmocomBB, a GSM telephony-side baseband processor firmware and
+protocol stack. Other projects include OsmocomTETRA, a receive-only
+implementation of the ETSI TETRA radio interface.
diff --git a/2016/osmocom_gsup/osmocom_gsup.adoc b/2016/osmocom_gsup/osmocom_gsup.adoc
new file mode 100644
index 0000000..b6fe3c1
--- /dev/null
+++ b/2016/osmocom_gsup/osmocom_gsup.adoc
@@ -0,0 +1,47 @@
+Osmocom GSUP Protocol
+=====================
+Harald Welte
+:copyright: Harald Welte (Liense: CC-BY-SA)
+:backend: slidy
+:max-width: 45em
+
+== GSUP basics
+
+* very much simplified protocol for handling procedures betewen *SGSN* and *HLR*
+* procedures / primitives similar to those carried by MAP
+** without the complexity of ASN.1
+** without the complexity of a TCAP/SCCP protocol stack underneath
+** without the nasty segmented MAP due to limited MSU size in SS7
+
+== GSUP history
+
+* originally developed for *SGSN* <-> *HLR* interface
+* originally called 'GPRS Subscriber Update Protocol'
+* implemented in OsmoSGSN (but no counter-part in Osmocom git repos?)
+
+== GSUP extension for 3G
+
+* Iu-PS was added to OsmoSGSN, requiring UMTS AKA
+* GSUP authentication triplets extended to quintuples
+* GSUP SendAuthInfo extended with RAND (for AKA re-sync)
+* *osmo-gsup-hlr* as minimalistic HLR+AUC side implementation
+
+== GSUP extension circuit-switched
+
+* HLR must know if request is from CS(MSC) or PS(SGSN)
+** introduce OSMO_GSUP_CN_DOMAIN_IE to differentiate CS/PS
+* VLR must have ability to inform HLR of AUTH FAIL
+** introduce OSMO_GSUP_MSGT_AUTH_FAIL_REPORT
+
+== Misc GSUP changes in 2016
+
+* GSUP protocol definition and message encoder/decoder move to
+ libosmocore (gprs_gsup_* -> osmo_gsup_* rename)
+* Doxygen documentation snippets added
+* GSUP documentation moved to asciidoc and into osmo-gsm-manuals.git
+
+include::gsup.adoc[]
+
+== The End
+
+Questions?
diff --git a/2016/path_loss_link_budget/ap_to_client.png b/2016/path_loss_link_budget/ap_to_client.png
new file mode 100644
index 0000000..1d0d7c9
--- /dev/null
+++ b/2016/path_loss_link_budget/ap_to_client.png
Binary files differ
diff --git a/2016/path_loss_link_budget/link_budget.png b/2016/path_loss_link_budget/link_budget.png
new file mode 100644
index 0000000..5712057
--- /dev/null
+++ b/2016/path_loss_link_budget/link_budget.png
Binary files differ
diff --git a/2016/path_loss_link_budget/path_loss_link_budget.adoc b/2016/path_loss_link_budget/path_loss_link_budget.adoc
new file mode 100644
index 0000000..ff1b0f2
--- /dev/null
+++ b/2016/path_loss_link_budget/path_loss_link_budget.adoc
@@ -0,0 +1,205 @@
+Path Loss and Link Budget
+=========================
+Harald Welte
+:copyright: Harald Welte (Liense: CC-BY-SA)
+:backend: slidy
+:max-width: 45em
+
+[[rf-path-loss]]
+== Path Loss
+
+A fundamental concept in planning any type of radio communications link
+is the concept of 'Path Loss'. Path Loss describes the amount of
+signal loss (attenuation) between a receive and a transmitter.
+
+As GSM operates in frequency duplex on uplink and downlink, there is
+correspondingly an 'Uplink Path Loss' from MS to BTS, and a 'Downlink
+Path Loss' from BTS to MS. Both need to be considered.
+
+It is possible to compute the path loss in a theoretical ideal
+situation, where transmitter and receiver are in empty space, with no
+surfaces anywhere nearby causing reflections, and with no objects or
+materials in between them. This is generally called the 'Free Space
+Path Loss'.
+
+[[rf-path-loss]]
+== Path Loss
+
+Estimating the path loss within a given real-world terrain/geography is
+a hard problem, and there are no easy solutions. It is impacted, among
+other things, by
+
+ * the height of the transmitter and receiver antennas
+ * whether there is line-of-sight (LOS) or non-line-of-sight (NLOS)
+ * the geography/terrain in terms of hills, mountains, etc.
+ * the vegetation in terms of attenuation by foliage
+ * any type of construction, and if so, the type of materials used in
+ that construction, the height of the buildings, their distance, etc.
+ * the frequency (band) used. Lower frequencies generally expose better
+ NLOS characteristics than higher frequencies.
+
+The above factors determine on the one hand side the actual attenuation
+of the radio wave between transmitter and receiver. On the other
+hand, they also determine how many reflections there are on this path,
+causing so-called 'Multipath Fading' of the signal.
+
+== Radio Propagation Models
+
+Over decades, many different radio propagation models have been designed
+by scientists and engineers. They might be based on empirical studies
+condensed down into relatively simple models, or they might be based on
+ray-tracing in a 3D model of the terrain.
+
+Several companies have developed (expensive, proprietary) simulation
+software that can help with this process in detail. However, the
+results of such simulation also depend significantly on the availability
+of precise 3D models of the geography/terrain as well as the building
+structure in the coverage area.
+
+In absence of such simulation software and/or precise models, there are
+several models that can help, depending on the general terrain:
+
+== Common Path Loss Models
+
+[[path-loss-models]]
+.List of common path loss models
+[options="header",cols="20%,20%,20%,40%"]
+|===
+|Type|Sub-Type|Bands|Name
+|Terrain|-|850, 900, 1800, 1900|ITU terrain model
+|Rural|Foliage|850, 900, 1800, 1900|One woodland terminal model
+|City|Urban|850, 900|Okumura-Hata Model for Urban Areas
+|City|Suburban|850, 900|Okumura-Hata Model for Suburban Areas
+|City|Open|850, 900|Okumura-Hata Model for Open Areas
+|City|Urban|1800, 1900|COST-231 Hata Model
+|Indoor|-|900, 1800, 1900|ITU model for indoor attenuation
+|===
+
+In <<path-loss-models>> you can see a list of commonly-used path loss
+models. They are typically quite simple equations which only require
+certain parameters like the distance of transmitter and receiver as well
+as the antenna height, etc. No detailed 3D models of the terrain are
+required.
+
+== RF Link
+
+image::link_budget.png[]
+
+[[rf-link-budget]]
+== Link Budget
+
+The link budget consists of the total budget of all elements in the
+telecommunication system between BTS and MS (and vice-versa).
+
+This includes
+
+* antenna gains on both sides
+* coaxial cabling between antenna and receiver/transmitter
+* losses in duplexers, splitters, connectors, etc
+* gain of any amplifiers (PA, LNA)
+* path loss of the radio link between the two antennas
+
+== Simplified Link Budget Equation
+
+The simplified link budget equations looks like this:
+
+ Rx Power (dBm) = Tx Power (dBm) + Gains (dB) − Losses (dB)
+
+Gains is the sum of all gains, including
+
+* Gain of the transmitter antenna
+* Gain of the receiver antenna
+* Gain of any PA (transmitter) or LNA (receiver)
+
+Losses is the sum of all losses, including
+
+* Loss of any cabling and/or connectors on either side
+* Loss of any passive components like duplexers/splitters on either side
+* Path Loss of the radio link
+
+== Link Budget Equation vs. Path Loss
+
+* Using the Link Budget equation and resolving it for the path loss will
+ give you an idea of how much path loss on the radio link you can afford
+ while still having a reliable radio link.
+
+* Resolving the path loss into a physical distance based on your path
+ loss model will then give you an idea about the coverage area that
+ you can expect.
+
+NOTE:: The Rx Power substituted in the Link budget equation is
+determined by the receiver sensitivity. It is customary to add some
+some safety margin to cover for fading.
+
+== RF Link
+
+image::ap_to_client.png[]
+
+
+== Uplink Link Budget
+
+[graphviz]
+----
+digraph G {
+ rankdir = LR;
+ MS -> MSAnt -> Path -> BTSAnt -> Cabling -> Duplexer -> Cable -> BTS;
+ MSAnt [label="MS Antenna"];
+ BTSAnt [label="BTS Antenna"];
+}
+----
+
+The transmit power of a MS depends on various factors, such as the MS
+Power Class, the frequency band and the modulation scheme used.
+
+[options="header"]
+.Typical MS transmit power levels
+|===
+|Power Class|Band|Modulation|Power
+|4|850 / 900|GMSK|33 dBm (2 W)
+|1|1800 / 1900|GMSK|30 dBm (1 W)
+|E2|850 / 900|8PSK|27 dBm (0.5 W)
+|E2|1800 / 1900|8PSK|26 dBm (0.4 W)
+|===
+
+The minimum reference sensitivity level of a normal GSM BTS is specified
+in 3GPP TS 05.05 and required to be at least -104 dBm. Most modern BTSs
+outperform this significantly.
+
+FIXME: Example calculation (spreadsheet screenshot?)
+
+== Downlink Link Budget
+
+[graphviz]
+----
+digraph G {
+ rankdir = LR;
+ BTS -> Cable -> Duplexer -> Cabling -> BTSAnt -> Path -> MSAnt -> MS;
+ MSAnt [label="MS Antenna"];
+ BTSAnt [label="BTS Antenna"];
+}
+----
+
+The transmit power of the BTS depends on your BTS model and any possible
+external power amplifiers used.
+
+The minimum reference sensitivity level of a GSM MS is specified in 3GPP
+TS 05.05 and can typically be assumed to be about -102 dB.
+
+FIXME: Example calculation (spreadsheet screenshot?)
+
+
+== Optimization of the Link Budget
+
+If the coverage area determined by the above procedure is insufficient,
+you can try to change some of the parameters, such as
+
+* increasing transmit power by adding a bigger PA
+* increasing antenna gain by using a higher gain antenna
+* reducing cable losses by using better / shorter coaxial cables
+* increasing the height of your antenna
+
+include::rf.adoc[]
+
+== The End
+
+Questions?
diff --git a/2016/path_loss_link_budget/rf.adoc b/2016/path_loss_link_budget/rf.adoc
new file mode 100644
index 0000000..c86e7a7
--- /dev/null
+++ b/2016/path_loss_link_budget/rf.adoc
@@ -0,0 +1,530 @@
+// original version part of osmo-gsm-manuals.git
+
+== Introduction into RF Electronics
+
+Setup and Operation of a GSM network is not only about the configuration
+and system administration on the network elements and protocol stack,
+but also includes the physical radio transmission part.
+
+Basic understanding about RF (Radio Frequency) Electronics is key to
+achieving good performance of the GSM network.
+
+[[rf-coaxial-cabling]]
+=== Coaxial Cabling
+
+Coaxial cables come in many different shapes, diameters, physical
+construction, dielectric materials, and last but not least brands and
+types.
+
+There are many parameters that might be relevant to your particular
+installation, starting from mechanical/environmental properties such as
+temperature range, UV resilience, water/weatherproofness, flammability,
+etc.
+
+For the subject of this manual, we will not look at those mechanical
+properties, but look at the electrical properties instead.
+
+The prime electrical parameters of a coaxial cable are:
+
+* its attenuation over frequency and length
+* its maximum current/power handling capability
+* its propagation velocity (ignored here)
+* its screening efficiency (ignored here)
+
+==== Coaxial Cable Attenuation
+
+The attenuation of a coaxial cable is given in dB per length, commonly
+in 'dB per 100m'. This value changes significantly depending on the
+frequency of the signal transmitted via the cable. Cable manufacturers
+typically either provide tables with discrete frequency values, or
+graphs plotting the attenuation per 100m (x axis) over the frequency (y
+axis).
+
+FIXME: Example.
+
+So in order to estimate the loss of a coaxial cable, you need to
+
+. determine the frequency at which you will use the cable, as determined
+ by the GSM frequency band of your BTS. Make sure you use the highest
+ frequency that might occur, which is typically the upper end of the
+ transmit band, see <<gsm-bands>>
+. determine the attenuation of your cable per 100m at the given
+ frequency (check the cable data sheet)
+. scale that value by the actual length of the cable
+
+A real cable always has connectors attached to it, please add some
+additional losses for the connectors that are attached. 0.05 dB per
+connector is a general rule of thumb for the frequencies used in GSM.
+
+FIXME: Example computation
+
+As you can see very easily, the losses incurred in coaxial cables
+between your antenna and the BTS can very quickly become significant
+factors in your overall link budget (and thus cell coverage). This is
+particularly relevant for the uplink power budget. Every dB you loose
+in the antenna cable between antenna and the BTS receiver translates
+into reduced uplink coverage.
+
+Using the shortest possible coaxial cabling (e.g. by mounting the BTS
+high up on the antenna tower) and using the highest-quality cabling are
+the best strategies to optimize
+
+WARNING: If you plan to assemble the coaxial connectors yourself, please
+make sure you ensure to have the right skills for this. Properly
+assembling coaxial connectors (whether solder-type or crimp-type)
+requires precision tools and strict process as described by the
+manufacturer. Any mechanical imprecision of connector assembly will
+cause significant extra signal attenuation.
+
+==== Checking coaxial cables
+
+If you would like to check the proper operation of a coaxial cable,
+there are several possible methods available:
+
+* The more expensive method would be to use a 'RF Network Analyzer' to
+ measure the S11/S12 parameters or the VSWR of the cable.
+* Another option is to use a TDR (time domain reflectometer) to
+ determine the VSWR. The TDR method has the added advantage that you
+ can localize any damage to the cable, as such damage would cause
+ reflections that can be converted into meters cable length from the
+ port at which you are testing the cable. Mobile, battery-powered TDR
+ for field-use in GSM Site installation are available from various
+ vendors. One commonly used series is the 'Anritsu Site Master'.
+
+
+[[rf-coaxial-connectors]]
+=== Coaxial Connectors
+
+A coaxial connector is a connector specifically designed for mounting to
+coaxial cable. It facilitates the removable / detachable connection of
+a coaxial cable to a RF device.
+
+There are many different types of coaxial connectors on the market.
+
+The most important types of coaxial connectors in the context of GSM
+BTSs are:
+
+* The 'N type' connector
+* The 'SMA type' connector.
+* The '7/16' type connector
+
+FIXME: Images
+
+The above connectors are tightened by a screw-on shell. Each connector
+type has a specific designated nominal torque by which the connector
+shall be tightened. In case of uncertainty, please ask your connector
+supplier for the nominal torque.
+
+NOTE: Always ensure the proper mechanical condition of your RF
+connectors. Don't use RF connectors that are contaminated by dust or
+dirt, or which show significant oxidization, bent contacts or the like.
+Using such connectors poses significant danger of unwanted signal loss,
+and can in some cases even lead to equipment damage (e.g. in case of RF
+power at PA output being reflected back into the PA).
+
+
+[[rf-duplexers]]
+=== Duplexers
+
+A GSM BTS (or GSM TRX inside a BTS) typically exposes separate ports for
+Rx (Receive) and Tx (Transmit). This is intentionally the case, as
+this allows the users to add e.g. additional power amplifiers, filters
+or other external components into the signal path. Those components
+typically operate on either the receive or the transmit path.
+
+You could now connect two separate antennas to the two ports (one for
+Rx, one for Tx). This is commonly done in indoor installations with
+small rubber-type antennas directly attached to the BTS connectors.
+
+In outdoor installations, you typically (want to) use a single Antenna
+for Rx and Tx. This single antenna needs to be connected to the BTS
+via a device that is called 'Duplexer'.
+
+The 'Duplexer' is actually a frequency splitter/combiner, which is
+specifically tuned to the uplink and downlink frequencies of the GSM
+band in which you operate the BTS. As such, it has one port that passes
+only uplink frequencies between the antenna and that port, as well as
+another port that passes only downlink frequencies between antenna and
+that port.
+
+.Illustration of the Duplexer functionality
+[graphviz]
+----
+digraph G {
+ rankdir = LR;
+
+ BTS -> Duplexer [label="Tx band"];
+ Duplexer [shape=box];
+ Duplexer -> BTS [label="Rx band"];
+ Duplexer -> Antenna [label ="All frequencies",dir=both];
+ Antenna [shape=cds];
+}
+----
+
+WARNING: *The ports of a duplexer are not interchangeable*. Always make
+sure that you use the Rx port of the duplexer with the Rx port of the
+BTS, and vice-versa for Tx.
+
+
+[[rf-pa]]
+=== RF Power Amplifiers
+
+A RF Power Amplifier (PA) is a device that boosts the transmit power of
+your RF signal, the BTS in your case.
+
+RF power amplifiers come in many different characteristics. Some of the
+key characteristics are:
+
+Frequency range::
+ A PA is typically designed for a specific frequency range. Only
+ signals inside that range will be properly amplified
+Gain in dB::
+ This tells you how many dB the power amplifier will increase your
+ signal. `Pout = Pin + Gain`
+Maximum Output Power::
+ This indicates the maximum absolute output power. For example, if the
+ maximum output power is 40 dBm, and the gain is 10dBm, then an input
+ signal of 30dBm will render the maximum output power. An input signal
+ of 20dBm would subsequently generate only 30dBm of output power.
+Efficiency::
+ The efficiency determines how much electrical power is consumed for
+ the given output power. Often expressed as Power Added Efficiency
+ (PAE).
+
+WARNING: If you add external power amplifiers to a GSM BTS or any other
+transmitter, this will invalidate the regulatory approval of the BTS.
+It is your responsibility to ensure that the combination of BTS and PA
+still fulfills all regulatory requirements, for example in terms of
+out-of-band emissions, spectrum envelope, phase error, linearity, etc!
+
+[graphviz]
+.Addition of a RF Power Amplifier to a GSM BTS Setup
+----
+digraph G {
+ rankdir = LR;
+ BTS;
+ PA [label="PA 14dB gain"];
+ Duplexer [shape=box];
+
+ BTS -> PA [label="Tx 23 dBm"];
+ PA -> Duplexer [label="Tx 37dBm"];
+ Duplexer -> BTS [label="Rx band"];
+ Duplexer -> Antenna [dir=both];
+ Antenna [shape=cds];
+}
+----
+
+
+=== Antennas
+
+The Antenna is responsible for converting the electromagnetic waves
+between the coaxial cable and the so-called 'air interface' and
+vice-versa. The properties of an antenna are always symmetric for both
+transmission and reception.
+
+Antennas come in many different types and shapes. Key characteristics
+distinguishing antennas are:
+
+Antenna Gain::
+ Expresses how much more efficient the antenna converts between cable
+ and air interface. Can be expressed in dB compared to a theoretical
+ isotropic radiator (dBi) or compared to a dipole antenna (dBd). Gain
+ usually implies directivity.
+
+Frequency Band(s)::
+ Antennas typically have only a relatively narrow band (or multiple
+ narrow bands at which they radiate efficiently. In general, the
+ higher the antenna gain, the lower the usable frequency band of the
+ antenna.
+
+Directivity::
+ Antennas radiate the energy in all three dimensions.
+
+Mechanical Size::
+ Mechanical Size is an important factor depending on how and where the
+ antenna is mounted. Size also relates to weight and wind-load.
+
+Wind Load::
+ Expresses how much mechanical load the antenna will put on its
+ support structure (antenna mast).
+
+Connector Type::
+ Your cabling will have to use a compatible connector for the antenna.
+ Outdoor antennas typically use the 7/16 type connector or an N type
+ connector. Indoor antennas either N type or SMA type.
+
+Environmental Rating::
+ Indoor antennas cannot be used outdoor, as they do not offer the level
+ of protection against dust and particularly water / humidity /
+ corrosion.
+
+Down-tilt Capability::
+ Particularly sector antennas are typically installed with a fixed or
+ (mechanically / electrically) variable down-tilt in order to limit the
+ radius/horizon of the antenna footprint and avoid excess interference
+ with surrounding cells.
+
+VSWR::
+ The Voltage Standing Wave Ratio indicates how well the antenna is
+ matched to the coaxial cable, and how much of the to-be-transmitted
+ radio signal is actually converted to radio waves versus reflected
+ back on the RF cable towards the transmitter. An ideal antenna has a
+ VSWR of 1 (sometimes written 1:1). Real antennas are typically in the
+ range of 1.2 to 2.
+
+Side Lobes::
+ A directional antenna never radiates only in one direction but always
+ has certain side lobes pointing outside of the main direction of the
+ antenna. The number and strength of side lobes differ from antenna
+ to antenna model.
+
+NOTE: Whenever installing antennas it is important to understand that
+any metallic or otherwise conductive object in their vicinity will
+inevitably alter the antenna performance. This can affect the radiation
+pattern, but also de-tune the antenna and shift its frequency band
+outside the nominal usable frequency band. It is thus best to mount
+antennas as far as practically possible from conductive elements within
+their radiation pattern
+
+
+==== Omni-directional Antennas
+
+Omni-directional antennas are typically thin long dipole antennas covered
+with fiberglass. They radiate with equal strength in all directions and
+thus result in a more or less circular cell footprint (assuming flat
+terrain). The shape of the radiation pattern is a torus (donut) with
+the antenna located in the center of that torus.
+
+Omni-directional antennas come with a variety of gains, typically from 0
+dBd to 3 dBd, 6 dBd and sometimes 9 dBd. This gain is achieved by
+compressing the radiation torus in the vertical plane.
+
+Sometimes, Omni-directional antennas can be obtained with a fixed
+down-tilt to limit the cell radius.
+
+
+==== Sector Antennas
+
+Sector antennas are used in sectorized cell setups. Sector antennas can
+have significantly higher gain than omni-directional antennas.
+
+Instead of mounting a single BTS with an omni-directional antenna to a
+given antenna pole, multiple BTSs with each one sector antenna are
+mounted to the same pole. This results in an overall larger radius due
+to the higher gain of the sector antennas, and also in an overall
+capacity increase, as each sector has the same capacity as a single
+omni-directional cell. And all that benefit still requires only a
+single physical site with antenna pole, power supply, back-haul cabling,
+etc.
+
+Experimentation and simulation has shown that typically the use of three
+sectors with antennas of an opening angle of 65 degrees results in the
+most optimal combination for GSM networks. If more sectors are being
+deployed, there is a lot of overlap between the sectors, and the amount
+of hand-overs between the BTSs is increased.
+
+
+
+[[rf-lna]]
+=== RF Low Noise Amplifier (LNA)
+
+A RF Low Noise Amplifier (LNA) is a device that amplifies the weak
+received signal. In general, LNAs are combined with band filters, to
+ensure that only those frequencies within the receive band are
+amplified, and out-of-band interferers are filtered out. A duplexer
+can already be a sufficient band-filter, depending on its
+characteristics.
+
+The use of a LNA typically only makes sense if you
+. have very long and/or lossy coaxial cables from your antenna to the
+ BTS, and
+. can mount the duplexer + LNA close to the antenna, so that the
+ amplification happens before the long/lossy coaxial line to the BTS
+
+Key characteristics of a LNA are:
+
+Frequency range::
+ A LNA is typically designed for a specific frequency range. Only
+ signals inside that range will be properly amplified
+Gain in dB::
+ This tells you how many dB the low noise amplifier will increase your
+ signal. `Pout = Pin + Gain`
+Maximum Input Power::
+ This indicates the maximum RF power at the PA input before saturation.
+Noise Figure::
+ This indicates how much noise this LNA will add to the signal. This
+ noise will add to the interference as seen by the receiver.
+
+[graphviz]
+.Addition of a RF Low Noise Amplifier to the GSM BTS Setup
+----
+digraph G {
+ rankdir = LR;
+
+ BTS -> LNA [label="Rx",dir=back];
+ LNA -> Duplexer [label="Rx",dir=back];
+ BTS -> Duplexer [label="Tx"];
+ Duplexer -> Antenna [dir=both];
+
+ Duplexer [shape=box];
+ Antenna [shape=cds];
+}
+----
+
+[graphviz]
+.Addition of a RF LNA + RF PA to the GSM BTS Setup
+----
+digraph G {
+ rankdir = LR;
+
+ subgraph {
+ rank = same;
+ PA;
+ LNA;
+ }
+
+ BTS -> LNA [label="Rx",dir=back];
+ BTS -> PA [label="Tx 23 dBm"];
+ LNA -> Duplexer [label="Rx",dir=back];
+ PA -> Duplexer [label="Tx 37 dBm"];
+ Duplexer -> Antenna [dir=both];
+
+ PA [label="PA 14dB gain"];
+ Duplexer [shape=box];
+ Antenna [shape=cds];
+}
+----
+
+As any LNA will add noise to the signal, it is generally discouraged to
+add them to the system. Instead, we recommend you to mount the entire
+BTS closer to the antenna, thereby removing the losses created by
+lengthy coaxial wire. The power supply lines and Ethernet connection to
+the BTS are far less critical when it comes to cable length.
+
+
+== Introduction into GSM Radio Planning
+
+The main focus of the manual you are reading is to document the
+specifics of the Osmocom GSM implementation in terms of configuration,
+system administration and monitoring. That's basically all on the
+software part.
+
+However, successful deployment and operation of GSM networks depends to
+a large extent on the proper design on the radio frequency (RF) side,
+including the right cabling, duplexers, antennas, etc.
+
+Planning and implementing GSM deployment is a science (or art) in
+itself, and in most cases it is best to consult with somebody who has
+existing experience in the field.
+
+There are three parts to this:
+
+GSM Radio Network Planning::
+ This includes an analysis of the coverage area, its terrain/geography,
+ the selection of the right sites for your BTSs, the antenna height, a
+ path loss estimate. As a result of that process, it will be clear
+ what amount of transmit power, antenna gain, cable length/type, etc.
+ you should use to obtain the intended coverage.
+GSM Site Installation::
+ This is the execution of what has been determined in the previous
+ step. The required skills are quite different, as this is about
+ properly assembling RF cables and connections, duplexers, power
+ amplifiers, antennas, etc.
+Coverage testing::
+ This is typically done by driving or walking in the newly-deployed GSM
+ site, and checking of the coverage is as it was expected.
+
+NOTE: This chapter can only give you the briefest overview about the
+process used, and cannot replace the experience and skill of somebody
+with GSM RF planning and site deployment.
+
+[[rf-radio-net-plan]]
+=== GSM Radio Network Planning
+
+In GSM Radio Network Planning, the number and location of sites as well
+as type of required equipment is determined based on the coverage
+requirements.
+
+For the coverage of a single BTS, this is a process that takes into
+consideration:
+
+* the terrain that needs to be covered
+* the type of mobile stations to be supported, and particularly the
+ speed of their movement (residential, pedestrians, trains, highways)
+* the possible locations for cell sites, where BTSs and Antennas can be
+ placed, as well as the possible antenna mounting height
+* the equipment choices available, including
+** type and capabilities of BTS. The key criteria here is
+ the downlink transmit power in dBm, and the uplink receive
+ sensitivity.
+** antenna models, including gain, radiation pattern, etc.
+** RF cabling, including the key aspect of attenuation per length
+** RF duplexers, splitting the transmit and receive path
+** power amplifiers (PAs), increasing the transmit power
+** low noise amplifiers (LNAs), amplifying the received signal
+
+For coverage of an actual cellular network consisting of neighboring
+cells, this process also must take into consideration aspects of
+'frequency planning', which is the allocation of frequencies (ARFCNs) to
+the individual cells within the network. As part of that, interference
+generated by frequency re-use of other (distant) cells must be taken
+into consideration. The details of this would go beyond this very
+introductory text. There is plenty of literature on this subject
+available.
+
+[[rf-db]]
+=== The Decibel (dB) and Decibel-Milliwatt (dBm)
+
+RF engineering heavily depends on the Decibel (dB) as a unit to express
+attenuation (losses) or amplification (gain) impacted on radio signals.
+
+The dB is a logarithmic unit, it is used to express the ratio of two
+values of physical quantity. You can thus not express an absolute value
+in dB, only relative.
+
+NOTE: *Relative loss* (cable, connector, duplexer, splitter) *or gain*
+(amplifiers) are power *is expressed in dB*.
+
+In order to express an absolute value, you need to use a unit like
+'dBm', which is referencing a power of 1 mW (milli-Watt).
+
+NOTE: *Absolute power* like transmitter output power or receiver input
+power *is expressed in dBm*.
+
+[options="header",cols="15%,15%,70%"]
+.Example table of dBm values and their corresponding RF Power
+|===
+|dBm|RF Power|Comment
+|0|1 mW|
+|1|1.26 mW|transmit power of sysmoBTS 1002 when used with `max_power_red 22`
+|3|2 mW|
+|6|4 mW|
+|12|16 mW|
+|12|16 mW|
+|20|100 mW|
+|23|199 mW|Maximum transmit power of indoor sysmoBTS 1002
+|26|398 mW|
+|30|1 W|Maximum transmit power of a MS in 1800/1900 MHz band
+|33|2 W|Maximum transmit power of a MS in 850/900 MHz band
+|37|5 W|Maximum transmit power of 1 TRX in sysmoBTS 2050
+|40|10 W|Maximum transmit power of sysmoBTS 1100
+|===
+
+[[rf-gsm-bands]]
+=== GSM Frequency Bands
+
+GSM can operate in a variety of frequency bands. However,
+internationally only the following four bands have been deployed in
+actual networks:
+
+[options="header"]
+.Table of GSM Frequency Bands
+|===
+|Name|Uplink Band|Downlink Band|ARFCN Range
+|GSM 850|824 MHz .. 849 MHz|869 MHz .. 894 MHz|128 .. 251
+|E-GSM 900|880 MHz .. 915 MHz|925 MHz .. 960 MHz|0 .. 124, 975 .. 1023
+|DCS 1800|1710 MHz .. 1785 MHz|1805 MHz .. 1880 MHz|512 .. 885
+|PCS 1900|1850 MHz .. 1910 MHz|1930 MHz .. 1990 MHz|512 .. 810
+|===
+
+
personal git repositories of Harald Welte. Your mileage may vary