Скрытое меню ProjectMenu на смартфонах Huawei и Honor открывается через спецкод ##2846579##, вводимый в стандартном приложении «Телефон». После набора последней решетки интерфейс автоматически переключается на сервисный экран с разделами «Background Setting», «Log Setting» и «Product Info».
Данный раздел предназначен для инженеров и разработчиков: здесь управляют уровнем детализации системных логов, модемных журналов и записью дампов памяти при сбоях. Несанкционированное изменение параметров может привести к нестабильности работы модулей связи, быстрому разряду батареи или потере гарантии при обнаружении следов вмешательства сервисным центром.
На устройствах с EMUI 10 и новее, а также на HarmonyOS, доступ к меню часто блокируется политиками безопасности производителя. В таких случаях стандартный код не срабатывает, и требуются альтернативные методы: ADB-команды, специализированные утилиты или временный сброс настроек доступности.
Основные коды доступа к инженерному меню
Классическая комбинация ##2846579## работает на большинстве моделей до 2019 года выпуска: серия P (до P30), Mate (до Mate 20), Nova и Y. На прошивках EMUI 9.1 и ниже меню появляется мгновенно без дополнительных подтверждений. Если после ввода кода ничего не происходит, значит, производитель закрыл эту точку входа на уровне прошивки.
Существует расширенный набор кодов для конкретных подсистем. Например, ##6130## открывает меню тестирования NFC, а ##225## — календарь событий модема. Для доступа к полному журналу событий (Event Log) внутри ProjectMenu перейдите в Background Setting → Log Setting и активируйте пункты AP Log, Modem Log и Kernel Log.
☑️ Подготовка к входу в ProjectMenu
⚠️ Внимание: В разделе Log Setting не включайте все пункты одновременно. Одновременная запись модемного, ядерного и AP-лога переполнит внутреннюю память за 15–20 минут, что вызовет зацикливание перезагрузок (bootloop).
Альтернативный вход через ADB и сторонние лаунчеры
Если спецкод заблокирован, рабочий метод — вызов активности com.huawei.android.hiddenmenu.HwHiddenMenu через ADB. Подключите смартфон к ПК с включенной «Отладкой по USB» (раздел «Для разработчиков») и выполните команду:
adb shell am start -n com.huawei.android.hiddenmenu/.HwHiddenMenu
На прошивках HarmonyOS 2.0+ пакет может называться иначе. Актуальное имя активности можно найти командой adb shell dumpsys package | grep -i hiddenmenu. После запуска откроется то же ProjectMenu, но иногда с урезанным функционалом: пункты логирования модемом могут отсутствовать.
Как найти имя пакета меню на HarmonyOS
Выполните в терминале ADB: adb shell pm list packages | grep -i hidden. Обычно это com.huawei.hiddenmenu или com.huawei.android.hiddenmenu. Затем: adb shell dumpsys package com.huawei.android.hiddenmenu | grep -A 5"Activity". Ищите строку с exported=true.
Третий вариант — использование приложений-лаунчеров скрытых меню из Google Play или AppGallery (например, «Hidden Menu» или «Secret Codes»). Они просто автоматизируют отправку интента android.intent.action.MAIN с категорией android.intent.category.LAUNCHER для пакета сервисного меню. На новых версиях Android (12+) система может блокировать запуск неэкспортированных активностей сторонними приложениями.
Настройка параметров логирования в Background Setting
Внутри Background Setting находятся три критических раздела: Log Setting, AP Log и Modem Log. Для диагностики сбоев связи достаточно активировать Modem Log с уровнем Debug. Логи записываются в скрытую директорию /data/log/modem/, доступ к которой требует root-прав или копирования через ADB pull.
Параметр AP Log отвечает за журнал приложений и фреймворка. Его включение на уровне Verbose полезно разработчикам приложений, но создает нагрузку на флеш-память. Рекомендуемый режим для пользователя — Info или Warning. После завершения отладки обязательно верните значения в Off, иначе система будет писать логи постоянно.
Логи модема и AP пишутся в разные разделы памяти. Modem Log требует перезагрузки для применения настроек, AP Log применяется на лету.
⚠️ Внимание: Не меняйте настройки в разделе Background Setting → Power Management. Отключение там системных процессов (например, Push Service или Location) сломает уведомления и геолокацию до полного сброса настроек телефона.
| Метод входа | Сложность | Требует Root | Работает на HarmonyOS |
|---|---|---|---|
| Спецкод ##2846579## | Низкая | Нет | Редко (EMUI 10-) |
| ADB am start | Средняя | Нет | Часто (нужен актуальный пакет) |
| Приложение Hidden Menu | Низкая | Нет | Иногда (зависит от API) |
| MTK Engineering Mode (для MediaTek) | Средняя | Нет | Только на чипах MediaTek |
Типичные ошибки: «Меню не открывается» и «Пустые разделы»
Если после ввода кода экран мигает и возвращается в набор номера — прошивка перехватывает USSD-запрос. Лечится это вводом кода в режиме «Только экстренные вызовы» (на экране блокировки нажмите «Экстренный вызов» и наберите код). На некоторых моделях Honor код работает только при вставленной SIM-карте первого слота.
Пустые пункты меню (нет Log Setting или Modem Log) означают, что сборка прошивки — «пользовательская» (user build) с урезанным конфигом hw_project_menu.xml. Восстановить полный функционал без перепрошивки на инженерную прошивку (eng build) невозможно. Перепрошивка на eng-сборку снимает KNOX/Warranty бит и ломает оплату NFC, Widevine L1 и банковские приложения.
Для разовой диагностики сбоя связи включите Modem Log → Debug, воспроизведите проблему, сразу выключите логирование. Заберите файл через: adb pull /data/log/modem/ D:\Huawei_Logs\. Анализируйте в QXDM или QCAT.
Извлечение и анализ логов на компьютере
После включения логирования файлы накапливаются во внутренней памяти. Доступ к ним без root дает команда adb bugreport — она создает архив со всеми системными дампами, включая модемные логи, ANR, tombstones и eventlog. Размер архива может достигать 1–2 ГБ. Для точечного копирования модемных логов используйте:
adb shell"su -c'cp -r /data/log/modem /sdcard/Download/'" && adb pull /sdcard/Download/modem
Команда требует root-доступа (su). На стоковой прошивке без разблокированного загрузчика (unlocked bootloader) получить su нельзя. В этом случае остается только adb bugreport или встроенная функция «Резервное копирование» в настройках разработчика (если не отключена политикой).
Для чтения бинарных модемных логов (.log, .dlf) нужны профессиональные анализаторы: QXDM (Qualcomm) или TeCanal (HiSilicon). Текстовые логи ядра (kernel_log) и системы (logcat) открываются любым текстовым редактором. Ищите маркеры E/ (Error), F/ (Fatal) и стеки вызовов at.
Восстановление штатного состояния после экспериментов
После работы с журналом критически важно отключить все включенные флаги. Зайдите в ProjectMenu → Background Setting → Log Setting и установите все переключатели в Off. Затем выполните перезагрузку устройства. Это сбросит буферы записи и остановит фоновые процессы логирования.
Если после манипуляций появились глюки (пропала сеть, глючит GPS, разряжается батарея) — выполните сброс настроек сети: Настройки → Система и обновления → Сброс → Сброс настроек сети. Это очистит APN, Wi-Fi пароли и Bluetooth-связки, но вернет модем в рабочее состояние без полного вайпа данных.
⚠️ Внимание: Сброс настроек сети не удаляет личные файлы и приложения. Но если вы меняли параметры вProduct Info → PSMилиRF Test— помогает только полный factory reset через Recovery (Wipe data/factory reset).
Часто задаваемые вопросы (FAQ)
Почему код ##2846579## не работает на моем Huawei P50 / Mate 50?
На флагманах 2022–2023 годов (серии P50, Mate 50, Nova 10+) под управлением HarmonyOS 2.0/3.0/4.0 доступ к ProjectMenu закрыт на уровне загрузчика и политик SELinux. Спецкоды USSD перехватываются фреймворком телефонии и не доходят до скрытой активности. Работает только метод через ADB с точным именем пакета, который меняется от версии к версии.
Могу ли я сломать телефон, включив все логи в Background Setting?
Физически сломать — нет. Но включение всех логов (Modem + AP + Kernel + TCP + NFC) приведет к переполнению раздела /data за считанные минуты. Система начнет циклически перезагружаться (bootloop), так как не сможет записать системные файлы. Выход — зайти в Recovery (Power + Vol Up) и сделать Wipe Cache / Factory Reset.
Где лежат логи, если я их включил, но не могу зайти в /data/log?
Без root доступа к /data/log нет. Используйте adb bugreport > report.zip на компьютере. В распакованном архиве ищите папку FS/data/log/. Альтернатива — функция «Создать отчет об ошибке» в меню разработчика на телефоне (сохранит zip во внутреннюю память, доступную через MTP).
Влияет ли посещение ProjectMenu на гарантию Huawei?
Сам факт входа в меню не фиксируется в открытых логах. Однако изменение параметров (например, смена Band в RF Test или отключение калибровки батареи) оставляет следы в NVRAM модема. Сервисный центр при диагностике через SP Tool или HiSuite может увидеть флаги «третьего лица» (Third Party Modification) и отказать в бесплатном ремонте по гарантии.
Есть ли способ включить логирование модема постоянно для перехвата редкого глюка?
На стоке — нет, после перезагрузки настройки сбрасываются в Off. Решение: разблокировать загрузчик (Bootloader Unlock), получить root (Magisk), установить модуль Huawei Logger Enabler или прописать автозапуск setprop log.tag.Modem DEBUG в init.rc. Это снимает гарантию и ломает SafetyNet/Play Integrity.