Открыть главное меню

EZX — проприетарная реализация телефонного и bluetooth стека, системы rpc, управления питанием и пользовательского интерфейса для линейки линукс-телефонов компании Motorola. Кроме того, этим именем называют аппаратную платформу и дистрибутив для этих же аппаратов.

Общая информацияПравить

Пользовательский интерфейс построен на embedded-версии qt-2.3.8 с дополнительными закрытыми расширениями. Официально опубликованного SDK на настоящий момент не существует. Установка дополнительного неподписанного ПО в официальной прошивке невозможна.

Кроме отсутствия sdk, опытных пользователей linux может неприятно огорчить запрет изменения корневой фс, которая лежит в cramfs (сжатая фс без возможности записи), кроме того, в драйвере mtd чипа запрещена запись по адресам, кроме определенного диапазона, в котором располагаются настройки и пользовательские данные. Для телефона A1200 (минга) существует прошивка с разблокированной записью в корневую фс (убрана защита в ядре, cramfs заменен на jffs2) — прошивки серии U.

Другой «подарок» от компании Motorola — отсутствие linux-версии программы для прошивки телефона.

Техническая спецификацияПравить

Телефонный стекПравить

От BP (линейного процессора) к AP (процессору, на котором работает пользовательский интерфейс и собственно linux) ведет мультиплексированная линия — /dev/mux* .Телефонный демон, он же демон rpc — tapisrv. Tapisrv открывает линии с 0 по 8 для работы с линейным процессором с помощью AT-комманд. Кроме того, он слушает локальный сокет /tmp/tapisock, через который принимает различные команды («положить трубку», «включить gprs» и т. п.).

Некоторые команды (набор номера, смс, качество сигнала) tapi выполняет самостоятельно (точнее переадресует линейному процессору, с помощью AT-комманд), другие (запрос записи из адресной книги, включение grps) — переадресует другим клиентам tapi (db_daemon, emud, dsm) через тот же сокет.

Вызов некоторых процедур, например сброс всех текущих звонков, требует подтверждения у системы безопасности. Для вызовов от доверенных клиентов подтверждение не требуется.

Bluetooth стекПравить

mbtsrv — сервер bluetooth, работающий напрямую с hci (/dev/ttyS1). При старте дает запрос tapisrv на включение чипа, после чего заливает в него firmware с помощью дополнительной утилиты (mbtdload). Поддерживает очень мало профилей bluetooth и не может работать с более чем одним подключением одновременно (одноканальный).

Управление питаниемПравить

Переключением режимов работы процессора занимается проприетарная реализация демона apmd, слушающего запросы остальных частей системы через локальный сокет. Режимы работы переключаются с помощью вызовов ioctl устройства /dev/apm_bios. Он же контролирует и яркость подсветки дисплеев.

Контроль процесса зарядаПравить

Процессом заряда управляет демон emud, устанавливающий ток и максимальное напряжение батареи с помощью вызовов ioctl устройства /dev/power_ic. О подключении и отключении устройств демон узнает из /dev/accy.

Список телефонов на EZX-платформеПравить

Полезные ссылкиПравить

Группа, людей занимающаяся ezx