Skip to content

Devices

Shinjo Park edited this page Aug 18, 2023 · 7 revisions

Device Setup

  • Samsung: Enter *#0808# in dialer, select any USB mode entry containing DM.
    • Korean models: Enter 3197123580 in dialer, password is either 996412, 776432, 0821.
    • Certain version of firmwares after 2018 are blocking the access to the hidden menu with the abovementioned code. Currently no solution is known without rooting the phone (correction wanted).
  • LG: Enter 277634#*# in dialer (TODO: exact location of USB test menu)
    • On some LG devices, diagnostic ports are not exposed in Linux even after enabling the USB testing mode. This is due to multiple USB device configuration used; udev rules changing the current USB configuration is recommended in such devices.
  • Sony: Rooting required. Get a rooted adb shell and enter the command setprop persist.usb.eng 1.
  • Nexus: Rooting required. Get a rooted adb shell and enter the command setprop sys.usb.config diag,adb.
    • Not working for Pixel devices!
  • Sailfish OS: (TODO: how to modify usb-moded settings)

Tested Devices

Following devices are tested by the authors and contributors:

Device Name/Model Processor Baseband Required Arguments Rooting Required? Note
Nokia 8110 4G (TA-1048) Snapdragon 205 MSM8905 X5 -t qc Yes
Google Nexus 5 (LG-D821) Snapdragon 800 MSM8974 MDM9x25 -t qc Yes
Google Nexus 5X (LG-H791) Snapdragon 808 MSM8992 X10 -t qc Yes
Google Pixel 2 (G011A) Snapdragon 835 MSM8998 X16 -t qc Yes Modification of system partition is also required
LG G Flex 2 (LG-H955) Snapdragon 810 MSM8994 X10 -t qc No
Quectel BG96 - MDM9206 -t qc - Also supports NB-IoT signaling
Quectel BG95 - MDM9205 -t qc -
Quectel EC21/EC25 - MDM9207 -t qc -
Quectel RM500Q - X55 -t qc - 5G signaling not displayed in Wireshark, support planned
Sierra Wireless EM7455 - X7 (MDM9635) -t qc -
Sony Xperia X (F5122) Snapdragon 650 MSM8956 X8 -t qc Yes
Xiaomi POCO F1 Snapdragon 845 SDM845 X20 -t qc Yes
Xiaomi Mi Mix 3 5G Snapdragon 855 SM8150 X50 -t qc Yes #28
Xiaomi Mi 10T 5G Snapdragon 865 SM8250 X55 -t qc Yes
Samsung Galaxy S III LTE (SHW-M210K) Exynos 4412 CMC221S -t sec -m cmc221s No
Samsung Galaxy S4 LTE (GT-I9505) Snapdragon APQ8064T Qualcomm MDM9215 -t qc No
Samsung Galaxy S5 Mini (SM-G800F) Exynos 3470 Exynos Modem 303 -t sec -m e303 No
Samsung Galaxy S6 (SM-G920F) Exynos 7420 Exynos Modem 333 -t sec -m e333 No
Samsung Galaxy S6 Edge+ (SM-G928F) Exynos 7420 Exynos Modem 333 -t sec -m e333 No
Samsung Galaxy S8 (SM-G950F) Exynos 8895 Exynos Modem 355 -t sec -m e333 No
Samsung Galaxy S9 (SM-G960F) Exynos 9810 Exynos Modem 359 -t sec -m e333 #13, #35
Pixel 6 Google GS101 Exynos Modem 5123 -t sec -m e5123 Yes
Samsung Galaxy S21 (SM-G991N) Exynos 2100 Exynos Modem 5123 -t sec -m e5123 No
Pixel 7 Google GS201 Exynos Modem 5300 -t sec -m e5300 Yes
Samsung Galaxy S22 (SM-S901B) Exynos 2200 Exynos Modem 5300 -t sec -m e5300 No

For Tensor-based Pixel devices, see this article for accessing DM interface through USB.

For Samsung devices, try changing --start-magic. Available values are not disclosed due to avoiding whack-a-mole problem, see also this. You can use SilentLog instead.

If the IP traces are incomplete on Samsung devices, try changing this setting:

  1. Enter *#9090# in the dialer
  2. On the DIAG CONTROL menu, tap on [2] DM TRACE ITEM SEL
  3. You will see one or more INTERFACE. If either TCP DUMP or IMS DUMP MODE is disabled, tap then to turn on.

Note that we did not listed every Qualcomm-based devices here. While 5G signaling support is technically possible, but I do not want to write a custom dissector for wrapping 5G RRC/NAS to avoid duplicated work. The precondition is inclusion of NR RRC and 5GS NAS in GSMTAP. See related discussion from 2017, which the author didn't continued yet.

Clone this wiki locally