Команда setprop sys.usb.config diag,adb: назначение и применение

Команда setprop sys.usb.config diag,adb переключает USB-контроллер Android-устройства в комбинированный режим, при котором одновременно активны диагностический интерфейс (diag) и отладочный мост ADB — её чаще всего вводят при работе с модемом Qualcomm, снятием блокировок или низкоуровневой диагностике через ПК. Без root-прав свойство sys.usb.config изменить нельзя: система вернёт ошибку доступа, а само значение после перезагрузки сбросится к конфигурации по умолчанию.

Разберёмся, что именно делает эта команда, в каких сценариях она реально нужна, как правильно её выполнить через ADB shell или терминал на устройстве и какие риски несёт включение диагностического порта. Материал ориентирован на опытных пользователей: действия с системными свойствами требуют понимания последствий.

Что означает команда setprop sys.usb.config diag,adb

Свойство sys.usb.config определяет, какие USB-функции активны на устройстве в текущий момент. Ядро Android читает это значение и настраивает USB-контроллер соответствующим образом: как MTP-накопитель, как сетевой адаптер (RNDIS), как отладочный интерфейс или как комбинацию нескольких функций сразу.

Значение diag,adb включает два интерфейса одновременно. Diag — это диагностический порт чипсета (чаще всего Qualcomm), через который работают сервисные утилиты вроде QPST, QXDM и подобных. ADB — стандартный Android Debug Bridge для отладки и выполнения команд. Запятая в значении свойства как раз и означает перечисление функций.

Важно понимать: команда setprop меняет свойство только до перезагрузки. Постоянное значение хранится в файле default.prop или задаётся через свойство persist.sys.usb.config, но его изменение — отдельная и более рискованная процедура.

Для чего нужен диагностический режим diag

Диагностический интерфейс открывает доступ к низкоуровневым функциям модема и процессора. Обычному пользователю он не нужен, но в сервисных задачах без него не обойтись.

  • 🔧 Чтение и запись NV-параметров модема, включая восстановление IMEI после повреждения раздела EFS (только на своём устройстве и в рамках закона).
  • 📡 Снятие логов радиомодуля через QXDM для анализа проблем с сетью.
  • 🔓 Разблокировка загрузчика или снятие операторской привязки на некоторых устройствах, где это предусмотрено производителем.
  • 💾 Работа с разделами через QPST при восстановлении «окирпиченного» аппарата.
  • 🧪 Инженерное тестирование антенн, датчиков и радиотракта на этапе ремонта.
⚠️ Внимание: запись некорректных NV-параметров или повреждение раздела EFS может привести к полной потере связи на устройстве. Перед любыми операциями с модемом сделайте резервную копию разделов efs, modemst1 и modemst2, если ваше устройство и права доступа это позволяют.

Как выполнить команду: пошаговая инструкция

Порядок действий одинаков для большинства устройств на Android, но расположение пунктов меню может отличаться в зависимости от оболочки и версии системы. Сверяйтесь с документацией своей модели.

Шаг 1. Включите отладку по USB: откройте «Настройки» → «О телефоне» и несколько раз нажмите на «Номер сборки», пока не активируется режим разработчика. Затем в разделе «Для разработчиков» включите переключатель «Отладка по USB».

Шаг 2. Подключите устройство к ПК и проверьте связь командой adb devices. На экране смартфона подтвердите разрешение на отладку с этого компьютера.

Шаг 3. Получите root-доступ в shell и измените свойство:

adb shell

su

setprop sys.usb.config diag,adb

После выполнения устройство переподключится к ПК, и в диспетчере устройств Windows появится новый диагностический порт (обычно определяется как Qualcomm Diagnostics Interface или COM-порт). Если драйвер не установлен, система покажет неизвестное устройство — потребуется установить драйверы от производителя чипсета.

☑️ Проверка перед включением diag-режима

Выполнено: 0 / 5

Альтернативные способы включения диагностического порта

Не всегда нужно вводить setprop вручную. На ряде устройств диагностический режим активируется иначе — конкретный способ зависит от бренда и версии прошивки.

  • 📞 Инженерные коды в номеронабирателе — некоторые производители предусматривают сервисные комбинации для включения diag. Их набор различается между моделями, поэтому ищите код именно для своего аппарата в проверенных источниках.
  • ⚙️ Фирменные утилиты производителя, которые переключают USB-конфигурацию автоматически.
  • 🖥️ Меню USB-конфигурации в настройках разработчика — на части прошивок там есть расширенный список режимов, хотя стандартный diag обычно отсутствует.
📊 Для какой задачи вам понадобился режим diag?
Работа с QPST/QXDM
Восстановление IMEI / EFS
Снятие логов модема
Просто изучаю возможности Android

Возможные проблемы и их решения

Если после выполнения команды ничего не происходит, причин может быть несколько. Возможная причина первая: нет root-прав — shell вернёт ошибку вроде «permission denied», и свойство не изменится. Проверьте, что su действительно выдаёт права суперпользователя.

Вторая типичная ситуация — устройство переподключилось, но Windows не видит COM-порт. Здесь почти всегда виноваты драйверы: нужен пакет драйверов для диагностического интерфейса вашего чипсета. Третий вариант — прошивка игнорирует значение sys.usb.config из-за защиты на уровне SELinux или заблокированного загрузчика, и тогда без модификации системы режим не включить.

Если устройство перестало определяться ПК вообще, перезагрузите его: свойство сбросится, и стандартный режим USB восстановится. Именно поэтому временное изменение через setprop безопаснее правки persist-свойств.

Чем diag отличается от других USB-режимов

MTP — передача файлов; RNDIS — USB-модем для интернета; ADB — отладка; diag — низкоуровневый доступ к модему и процессору для сервисных задач. Режимы можно комбинировать через запятую, например mtp,adb или diag,serial_cdev,rmnet,adb — но состав доступных функций зависит от прошивки.

Риски и меры предосторожности

⚠️ Внимание: открытый диагностический порт теоретически позволяет любому ПК, к которому подключён телефон, обращаться к модему напрямую. Не оставляйте diag-режим включённым постоянно и не подключайте устройство к чужим компьютерам в этом состоянии.

Дополнительные предосторожности: не меняйте persist.sys.usb.config, если не уверены в результате — при ошибочном значении устройство может перестать определяться по USB, и откатить изменение будет сложнее. Любые операции записи в память модема выполняйте только с полным бэкапом оригинальных данных, иначе восстановление может оказаться невозможным.

Часто задаваемые вопросы

Работает ли setprop sys.usb.config diag,adb без root?

Нет. Изменение системных свойств уровня sys.usb.config требует прав суперпользователя. Без root команда вернёт ошибку доступа, и конфигурация USB не изменится.

Сохранится ли diag-режим после перезагрузки?

Нет, изменение через setprop временное. После перезагрузки устройство вернётся к конфигурации по умолчанию. Для постоянного режима нужно менять persist.sys.usb.config, что связано с дополнительными рисками.

Компьютер не видит диагностический порт — что делать?

Проверьте три вещи: применилось ли свойство (getprop sys.usb.config), установлены ли драйверы диагностического интерфейса для вашего чипсета и не блокирует ли прошивка смену режима. Часто помогает переподключение кабеля или смена USB-порта на ПК.

Опасна ли эта команда для телефона?

Сама по себе команда лишь меняет USB-конфигурацию и откатывается перезагрузкой — она обратима. Опасны последующие действия через диагностический порт: запись в модем без резервной копии может вывести устройство из строя.

Подходит ли команда для устройств на MediaTek?

Синтаксис setprop sys.usb.config универсален для Android, но состав доступных USB-функций и названия интерфейсов зависят от платформы и прошивки. На устройствах с MediaTek сервисная работа с модемом обычно ведётся через другие инструменты и режимы — уточняйте процедуру для конкретной модели.