By Руслан М. Юсипов

Please или не ПЛИС вот в чем вопрос!?

Please или не ПЛИС вот в чем вопрос!?

Кирпич

На днях решал еще одну задачу: “Как окирпичить основной телефон для разработки приложений Compositor Software для платформы Андроид?”. Для начала о прошивках: на телефоне установлена оригинальная прошивка B01, поэтому я скачал файл обновления B02 и заменил в нем два образа boot и OS дампами, которые делал в СОСРВ “Композитор” 9.0.2, начиная с октября 2019 года. Итак, у меня есть две wav’ки от 12.10.2019, которая загрузочная, и дамп OS от 12.10.2020, которая просто “колбаска” драйверов, накопленных за год работы системы RAD96. Примечательно, что обе записи сделаны в одно и то же время с разницей в год. Что я знаю об этом телефоне: То, что это абсолютно автономная машина, которая принудительно подключается к серверу НПО “Композитор”, через четыре расширения (два релизных RAD96 и RTC4k, и два в дебаге VoIP и радар SAS24P3L).

Что я пробовал:

  1. Qualcomm USB драйвер
  2. QPST
  3. Отредактированный файл апдейта телефона на SD-карте
  4. Qualcomm Profiler

Первый пункт помог мне увидеть корневую флешку телефона, который без этого вообще не коннектился к стационарной машине (спасибо 🙏 RAD96). К сожалению, QPST не подключается к телефону даже с данным USB-драйвером из первого пункта. Поэтому профлешить через QPST данный телефон не получится. Переходим к третьему пункту. Через бинарные редакторы выгружаем .hex и .bin из данных дампов прямо с заголовками wave файлов. Hex кладем в корень загрузочной флешки телефона и даем RAD96 увидеть данное действие, просто оставляя эти бинарники там на какое-то время. Далее, подменяем в оригинальном архиве апдейта телефона boot.img и OS.bin на те, которые я выбрал. Заливаем на корневую флешку телефона и переносим на внешнюю SD-карту. Телефон к апдейту готов!

Далее, проводим простой тест на стационарной машине: открываем youtube.com и загружаем длинное видео. Начинаются щелчки, вспоминаем установку USB драйвера, в его установку входит MTU (Maximum Transfer Unit) сервис, который сокращает поток до 2048 байт в секунду. С оригинальными серверами Compositor Software на сервере MTU составлял 262144 байта. Пришлось удалить данный USB драйвер и QPST за ненадобностью. Проверил просмотр видео на youtube.com – поток идет без щелчков, значит MTU оригинального сервера вернулся.

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

Переходим к 2-му варианту

Покупаю rugged phone на оригинальном Андроиде 10 с модифицированной прошивкой (модификацию произвели уже в России). Объем аккумулятора 9000 мАч 12В. Ставлю RAD96 и RTC4k с предыдущей машины. Программы грузятся отлично, поэтому начинаю отслеживание с помощью радара RTC4k расположения серверов, на которые устройство перешили уже в России. Тем временем, RAD96 автономит систему и тормозит время. На вскидку, русская прошивка оперирует в 15 омега, – делаю 5 омега. Гораздо более юзабельно. Вымачиваю телефон этой парой нативных приложений (отключаю от всех отслеживающих серверов, кроме серверов гугл). И, вуаля, смертельный boot load на загрузке инсталлера WhatsApp. Восстанавливаю устройство к оригинальной заводской прошивке, попутно удаляя все таблицы маршрутизации из русской прошивки и флешу смартфон через сервер CP-6137-960FX – одна перезагрузка и, вуаля, телефон на ядре Compositor. Что это значит – то, что теперь при инъекции, boot лупов происходить не будет, петли будут исполняться только на уровне вызываемых приложений. Любую инъекцию ядро перенаправляет на системные приложения Google, вызывая псевдо-ошибки.

Двое суток, 85% – полет нормальный, ни одной перезагрузки устройства и петель на уровне ядра.

Для чего сие делается: чтобы при демонтаже аккумулятора, не произошло искры (в частности каждая инъекция – это искра) и аккумулятор не был испорчен. Для этого используется автономное ядро с нулевой эмиссией типа RAD96.

Что же необычного в данной аккумуляторной батарее армейского телефона? Сначала я подумал, что там обычный литиум-полимерный аккумулятор Li-Pol, но тот факт, что она на 9000 мАч 12В и в малом форм-факторе говорит о наличии, какого-то изотопа. Что меня привело к этой мысли: во-первых, то, что она многоцельная – разделение вещества, во-вторых, что плотность вещества довольно большая – аккумуляторная батарея тяжелая. Я предполагаю наличие там одного из изотопов радия типа RAD225.

После того, как я профлешил телефон ядром Compositor, у меня появилось два подконтроллера на уровне чипа RAD96 – контроллер шины питания, и RTC4k, который замещает функции модема устройства. В начале я опускал батарею только до 80%, предполагая, что дальше может начаться распад изотопа. Но сделал небольшой тест – прошел через металлодетектор в метро и, вуаля, RAD96 убрал когеренцию, вызванную ионами серебра, в этом устройстве (металлодетектор не сработал). Следовательно, RAD96 достаточный клоакер, чтобы скрывать еще больший распад, поэтому теперь буду опускаться до 60%. RAD96 сработал как на рамочном металлодетекторе, так и на переносном у сотрудников метрополитена.

Отработал вторую зарядку после 80%, в контуре, где к одному потребителю подключено множество точек, произошла программная петля. Заряжаться можно только от первой розетки в квартирном контуре! Но это, к сожалению, не всегда получается. Поэтому, когда буду подниматься от 60% постараюсь использовать либо первую розетку контура, либо не использовать телефон на время зарядки совсем.