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 ++++++++++++++++++++++++++++++++++++ 4 files changed, 1161 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 (limited to '2016/33c3') 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 + + + + + + + + + + -- cgit v1.2.3