EZX: различия между версиями
NoPH8 (обсуждение | вклад) м (орфография) | NoPH8 (обсуждение | вклад) (→Список телефонов на EZX-платформе) | ||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | '''EZX''' | + | '''EZX''' — проприетарная реализация телефонного и bluetooth стека, системы rpc, управления питанием и пользовательского интерфейса для линейки линукс-телефонов компании Motorola. Кроме того, этим именем называют аппаратную платформу и дистрибутив для этих же аппаратов. |
+ | == Общая информация == | ||
Пользовательский интерфейс построен на embedded-версии qt-2.3.8 с дополнительными закрытыми расширениями. Официально опубликованного SDK на настоящий момент не существует. Установка дополнительного неподписанного ПО в официальной прошивке невозможна. | Пользовательский интерфейс построен на embedded-версии qt-2.3.8 с дополнительными закрытыми расширениями. Официально опубликованного SDK на настоящий момент не существует. Установка дополнительного неподписанного ПО в официальной прошивке невозможна. | ||
− | Кроме отсутствия sdk, опытных пользователей linux может неприятно огорчить запрет изменения корневой фс, которая лежит в cramfs (сжатая фс без возможности записи), кроме того, в драйвере mtd чипа запрещена запись по адресам, кроме определенного диапазона, в котором располагаются настройки и пользовательские данные. Для телефона A1200 (минга) существует прошивка с разблокированной записью в корневую фс (убрана защита в ядре, cramfs заменен на jffs2) | + | Кроме отсутствия sdk, опытных пользователей linux может неприятно огорчить запрет изменения корневой фс, которая лежит в cramfs (сжатая фс без возможности записи), кроме того, в драйвере mtd чипа запрещена запись по адресам, кроме определенного диапазона, в котором располагаются настройки и пользовательские данные. Для телефона A1200 (минга) существует прошивка с разблокированной записью в корневую фс (убрана защита в ядре, cramfs заменен на jffs2) — прошивки серии U. |
− | Другой «подарок» от компании | + | Другой «подарок» от компании Motorola — отсутствие linux-версии программы для прошивки телефона. |
− | ==Телефонный стек== | + | == Техническая спецификация == |
− | От BP (линейного процессора) к AP (процессору, на котором работает пользовательский интерфейс и собственно linux) ведет мультиплексированная | + | === Телефонный стек === |
+ | От BP (линейного процессора) к AP (процессору, на котором работает пользовательский интерфейс и собственно linux) ведет мультиплексированная линия — /dev/mux* .Телефонный демон, он же демон rpc — '''tapisrv'''. Tapisrv открывает линии с 0 по 8 для работы с линейным процессором с помощью AT-комманд. Кроме того, он слушает локальный сокет '''/tmp/tapisock''', через который принимает различные команды («положить трубку», «включить gprs» и т. п.). | ||
− | Некоторые команды (набор номера, смс, качество сигнала) tapi выполняет самостоятельно (точнее переадресует линейному процессору, с помощью AT-комманд), другие (запрос записи из адресной книги, включение grps) | + | Некоторые команды (набор номера, смс, качество сигнала) tapi выполняет самостоятельно (точнее переадресует линейному процессору, с помощью AT-комманд), другие (запрос записи из адресной книги, включение grps) — переадресует другим клиентам tapi (db_daemon, emud, dsm) через тот же сокет. |
Вызов некоторых процедур, например сброс всех текущих звонков, требует подтверждения у системы безопасности. Для вызовов от доверенных клиентов подтверждение не требуется. | Вызов некоторых процедур, например сброс всех текущих звонков, требует подтверждения у системы безопасности. Для вызовов от доверенных клиентов подтверждение не требуется. | ||
− | ==Bluetooth стек== | + | |
− | + | === Bluetooth стек === | |
− | ==Управление питанием== | + | mbtsrv — сервер bluetooth, работающий напрямую с hci ('''/dev/ttyS1'''). При старте дает запрос tapisrv на включение чипа, после чего заливает в него firmware с помощью дополнительной утилиты ('''mbtdload'''). Поддерживает очень мало профилей bluetooth и не может работать с более чем одним подключением одновременно (одноканальный). |
+ | |||
+ | === Управление питанием === | ||
Переключением режимов работы процессора занимается проприетарная реализация демона apmd, слушающего запросы остальных частей системы через локальный сокет. Режимы работы переключаются с помощью вызовов ioctl устройства '''/dev/apm_bios'''. Он же контролирует и яркость подсветки дисплеев. | Переключением режимов работы процессора занимается проприетарная реализация демона apmd, слушающего запросы остальных частей системы через локальный сокет. Режимы работы переключаются с помощью вызовов ioctl устройства '''/dev/apm_bios'''. Он же контролирует и яркость подсветки дисплеев. | ||
− | ==Контроль процесса заряда== | + | |
+ | === Контроль процесса заряда === | ||
Процессом заряда управляет демон emud, устанавливающий ток и максимальное напряжение батареи с помощью вызовов ioctl устройства '''/dev/power_ic'''. О подключении и отключении устройств демон узнает из '''/dev/accy'''. | Процессом заряда управляет демон emud, устанавливающий ток и максимальное напряжение батареи с помощью вызовов ioctl устройства '''/dev/power_ic'''. О подключении и отключении устройств демон узнает из '''/dev/accy'''. | ||
− | == | + | |
− | http://openezx.org/ | + | == Список телефонов на 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.