Как проверить размер памяти ТВ-бокса


Проблема определения размера памяти особенно актуальна на прставках c Android 10 и Allwinner H616, где все стандартные системные средства, а также основанные на них приложения (типа Aida) показывают неверные (завышенные) значения размера RAM. В результате стали массово появляться ревизии многих моделей ТВ-боксов, у которых реальная память меньше заявленной в описании устройства. В настояшее время на первых приставках с Android 12 такой проблемы пока не наблюдается, но нет никаих гарантий, что со временем на новых ревизиях плат она может появиться.

Известно несколько способов проверки реального размера оперативной памяти на ТВ-боксах. Наиболее точный и гарантированный результат показывают логи загрузчиков (Boot0 и U-Boot), использующие для этого низкоуровневые программные средства. Однако для получения такого лога требуется вскрытие корпуса приставки и припаивание к имеющимся на плате контактным площадкам порта UART специального переходника USB-TTL с кабелем. По этой причине такой способ не может быть рекомендован широкому кругу обычных пользователей, особенно в ситуациях, когда вмешательство в целостность и заводское состояние приставки нежелательно.

Поэтому предлагается другой способ определения реального размера памяти, не требующий вскрытия приставки. Который основан на анализе значения размера памяти в дереве устройств работающей приставки. Для его реализации приставка должна быть включена и подключена к локальной сети и интернету. Ниже приводим два конкретных варианта (на самом деле их больше).


Вариант 1. На ПК с помощью ADB

Задача: скопировать файл reg из дерева устройств через ADB на ПК, и затем отправить его с помощью браузера на проверку удаленным сервисом. Процедура выполняется на ПК под Windows с использованием утилиты adb.exe, которая находится в папке C:/adb (имя папки - условное, только для примера).

ВНИМАНИЕ. Для надежности и во избежание ошибок рекомендуется консольные команды не вводить с клавиатуры вручную, а переносить их копи-пастом из готового текста.

Последовательность действий (жирно выделены цветом вводимые пользователем команды):

  • 1. Перейти в папку C:/adb (т.е. сделать её текущей), в которой лежит adb.exe

  • 2. Открыть окно консоли командой cmd (например, через "Пуск->Выполнить" или другим способом)

  • 3. Подключиться к ТВ-боксу по ADB через локальную сеть с помощью ввода команды в окне консоли: (здесь 192.168.0.135 - IP адрес приставки в локальной сети)

    С:/adb> adb connect 192.168.0.135

    connected to 192.168.0.135:5555

  • 4. Проверить правильность соединения:

    С:/adb> adb devices

    List of devices attached
    192.168.0.135:5555 device

  • 5. Скопировать файл reg из папки sys/firmware/devicetree/base/memory/reg на приставке в текущую папку C:/adb на ПК:

    С:/adb> adb pull sys/firmware/devicetree/base/memory/reg reg.bin

    или

    С:/adb> adb pull proc/device-tree/memory/reg reg.bin

  • 6. Теперь нужный нам файл с именем reg.bin лежит в папке C:/adb. Закрыть окно консоли командой exit

    ВНИМАНИЕ ! Скопированный из устройства файл reg может иметь другое имя и расширение (указанное в команде вместо reg.bin), но он должен быть двоичным и иметь размер 16 байт.

  • 7. В любом браузере на ПК перейти по ссылке на Сервис проверки памяти и в его форме выбора файла найти (с помощью открывшегося проводника) и открыть файл reg.bin, а после появления его имени в форме - нажать на кнопку "Показать".
    Результат проверки отобразится в окне браузера примерно в таком виде:







    Вариант 2. На приставке с помощью браузера и файлового менеджера

    Задача: Непосредственно на приставке, используя приложения Chrome (или другой браузер), а также менеджер файлов RootExplorer.

    Нужный нам файл reg в дереве устройств может быть доступен в двух папках:

  • 1) по пути /sys/firmware/devicetree/base/memory/
  • 2) по пути /proc/device-tree/memory/reg

    Примечание. В некоторых системах имя папки memory может быть несколько иным, с добавлением строки цифр (это адрес), например memory@40000000

    Прежде всего необходимо проверить, имеет ли доступ RootExplorer к одной из указанных выше папок. Для устройств с рут-доступом можно без проблем открыть обе папки, но если он отсутствует, то только вторую (.proc)

    Теперь можно выполнить следующие действия (в примерах используется путь sys/firmware/devicetree/base/memory/):

  • 1. Открыть браузер Chrome и перейти по ссылке: Сервис проверки памяти

  • 2. В открывшейся форме кликнуть по кнопке "Выберите файл"



  • 3. В списке предложенных приложений выберите ярлык приложения RootExplorer



  • 4. Откроется список папок, начиная от корня ("/")



  • 5. Перейдите в папку по пути: /sys/firmware/devicetree/base/memory/ и кликните по файлу с именем reg



  • 6. Откроется окно браузера, в котором появится имя reg рядом с кнопкой "Выберите файл". Кликните по кнопке "Показать", файл reg будет отправлен на сервер для проверки (декодирования).



  • 7. В нижней части окна браузера должно появиться сообщение об успешной загрузке файла, а также будет показан реальный размер оперативной памяти тестируемого ТВ-бокса. В приведенном пример он равен 2 Гбайт.