Материал из Wiki по Linux-смартфонам от LinuxPhone.ru
Перейти к: навигация, поиск

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

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

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

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

MOTOMAGX

EZX Linux получила продолжение развитие под названием MOTOMAGX.

Техническое устройство

Телефонный стек

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

Некоторые команды (набор номера, SMS, качество сигнала) tapi выполняет самостоятельно (точнее переадресует линейному процессору, с помощью AT-команд), другие (запрос записи из адресной книги, включение GPRS) — переадресует другим клиентам 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.

Смартфоны

См. статьи в категории MOTOMAGX.

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