#!graphviz digraph G { graph [ dpi = 50 ]; rankdir = RL; MDSP [ label = "Modem DSP" ]; SMD 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/diag" ] QCMAP -> qmuxd [ label = "/dev/diag" ] quectel_daemon -> qmuxd [ label = "/dev/diag" ] } Host -> USB }