Открыть прошивку для модема PinePhone LTE
В своем ежемесячном анонсе среди всех крутых вещей Pine64 они рассказали об открытой прошивке для LTE-модема PinePhone. Прошивка открыта не полностью – некоторые части остаются закрытыми. И Pine подчеркивает, что они не устанавливают и не одобряют эту прошивку официально, и вместо этого PinePhones будут продолжать поставляться с образом прошивки модема, поставляемым поставщиком.
Тем не менее, новая прошивка гораздо более функциональна – в ней меньше ошибок, больше функций, уменьшено энергопотребление, а фирменных частей мало. Хочу отметить, что при наличии специальной сборки этой прошивки модем PinePhone может запускать Doom – ну, конечно.
И при этом устанавливать эту прошивку стало намного проще – появились хуки fwupd! Вы можете думать о fwupd как об эквиваленте Центра обновления Windows для встроенного ПО, за исключением того, что он не является оскорбительным и ориентирован на Linux. Другими словами, он идеально подходит для поддержания максимальной функциональности ваших устройств с открытым исходным кодом.
В чем дело? Если открытая прошивка намного круче, почему в большинстве наших телефонов нет доступных вариантов открытой прошивки?
Телефонные модемы довольно сложны. В вашем телефоне, будь то цифровая клавиатура или «умный», установлен модемный чип от Mediatek или Qualcomm, и внутри этого чипа находится достаточно мощное ядро процессора. Например, если вы возьмете модем SIM800 (модемный модуль только для 2G), он будет иметь набор микросхем MT6260, который представляет собой одноядерный процессор ARM7 и базовую полосу GSM в одном чипе. Вы можете думать об этом как о ESP8266 на стероидах, но для GSM.
В модуле SIM800 этот процессор действует как посредник «принимать AT-команды и выполнять действия GSM», но он также используется в качестве универсального процессора для GPS-трекеров, умных часов и других устройств, подключенных к GSM. Фактически, MT6260 может работать на целой Nokia 3310! Точнее, версия 2017 года.
С модемом PinePhone ситуация оказалась такая же. Быстро выяснилось, что модем Quectel работает на урезанной версии Android на ядре ARM с оболочкой adb, доступной через USB-интерфейс модема. Когда несколько отважных хакеров начали его исследовать и получили доступ к оболочке, они обнаружили скомпилированные инструменты, такие как ffmpeg, vim, gdb и sendmail – конечно, это не то, что вам понадобится на сотовом модеме, но эй. Образы прошивки были распакованы, некоторый код подвергся реверс-инжинирингу, а модем получил заново скомпилированное ядро Linux.
Конкретный чип, на котором работает модем Quectel EC25-G LTE от PinePhone, — это Qualcomm MDM9207 с одноядерным процессором, 256 МБ оперативной памяти и флэш-памятью — эта Wiki-страница Pine64 познакомит вас с техническими подробностями. Если задуматься, PinePhone на самом деле не является устройством с четырехъядерным процессором — это пятиядерное двухпроцессорное устройство, на котором одновременно работают две установки Linux. И да, вполне возможно, что то же самое относится и к вашему телефону Android.
Зачем вообще ценить открытость прошивки сотового модема? Кто-то может сказать, что мы прекрасно жили и без этого. Оказывается, открытая прошивка модемов приносит немало пользы!
Одной из наиболее примечательных является возможность разгонять ядро процессора модема PinePhone — доведя его частоту с 400 МГц до 100 МГц. Благодаря этому модем потребляет меньше энергии и не так сильно нагревает телефон. Конфигурация модема, например, битрейт аудио, стала более динамичной – больше не требуется перезагрузка модема для изменения параметров звука. Есть всевозможные удобные для разработчиков функции, такие как возможности ведения журналов и средства тестирования; Интеграцию PinePhone также можно улучшить – например, отладить и улучшить обработку вызовов, когда процессор PinePhone приостановлен, чтобы еще больше увеличить срок службы батареи.
И, конечно же, Дум.
Также возможно исправить многие проблемы, которые мешают работе PinePhone в сотовой связи — как это обычно бывает с сотовыми модемами, существует множество проблем с прошивкой. Некоторые из этих проблем можно исправить, используя образ прошивки другого производителя, но переход между двоичными образами и поиск наименее глючного образа — это разочарование. Также можно исправить уязвимости, такие как «выведение модема из строя», которое полгода назад использовалось странным вредоносным ПО, нацеленным на PinePhone.