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

EZX: различия между версиями

м (Откачено к последнему изменению, сделанному MOTOROKR)
(Список телефонов на EZX-платформе)
 
(не показано 5 промежуточных версий этого же участника)
Строка 1:Строка 1:
 +
'''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-платформе ==
 +
*[[Motorola MOTOMING A1200]]
 +
*[[Motorola MOTOMING A1200E]]
 +
*[[Motorola ROKR E2]]
 +
*[[Motorola ROKR E6]]
 +
 +
== Полезные ссылки ==
 +
[http://openezx.org/ Группа, людей занимающаяся ezx]

Текущая версия на 20:00, 29 января 2012

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