From bcc9e259fc0a6ef35549444755ddd1f3a84be8c1 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 27 Dec 2016 11:14:38 +0100 Subject: 33c3: Add various dot graphs and a hand-drawn diagram --- 2016/33c3/images/diag.dot | 29 + 2016/33c3/images/qmi_services.dot | 27 + 2016/33c3/images/qmi_smd_qmuxd.dot | 37 ++ 2016/33c3/images/qualcomm_le.svg | 1068 ++++++++++++++++++++++++++++++++++++ 2016/open-compliance-jp/bio.txt | 23 + 5 files changed, 1184 insertions(+) create mode 100644 2016/33c3/images/diag.dot create mode 100644 2016/33c3/images/qmi_services.dot create mode 100644 2016/33c3/images/qmi_smd_qmuxd.dot create mode 100644 2016/33c3/images/qualcomm_le.svg create mode 100644 2016/open-compliance-jp/bio.txt 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + f_serial + f_rmnet + f_serial + f_ffs + f_diag + USB Gadget + + NMEA + + ATCMD + + + + RMNET + + + + + + DIAG + + + + QMI + + + + ATCMD + + + + RMNET + + + + QMI + + + + + SMD (Shared Memory Device) + + + + SMD (Shared Memory Device) + + + /dev/nmea + /dev/smdcntl0 + /dev/diag + /dev/ttyGS0 + QMI clients + + quec_bridge + + + + qmuxd + + + + adbd + + + rmnet0 + + + HexagonModem CPU + ARM Cortex-A5Application CPU + Userspace + Linux Kernel + + + + + + + + + + + + + + + diagfwd + + + + + + + + + + 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. -- cgit v1.2.3