Siemens CC75 (Mosel variant)
До сих пор нами были слиты дампы прототипов Siemens CC75 в вариациях Mars, а вот с получением дампа варианта Mosel, единственным известным обладателем которого является overglube, возникли неопределённые трудности. Предыдущее описание прототипа Mosel было опубликовано здесь, его главной особенностью является то, что он полностью лишён брендинга Siemens как по корпусу, так и по программной части.
Помимо полностью переработанной прошивки в нём были изменены USB_VID и USB_PID практически у всех USB-режимов, что подразумевало редактирование USB-драйверов. Приведу полезную таблицу USB IDs различных вендоров и режимов устройств, сердцем которых является Neptune LTE SoC:
Я снова изменил USB_VID и USB_PID в наборе мотороловских драйверов, однако в случае с Mosel это ничего не дало, P2K-программы по типу P2K Tools VS и MEMACS Dumper никак не хотели видеть телефон. Проблема оставалась неразрешённой до той поры как я не вспомнил про свою утилиту FlashTerminal, которую я когда-то написал для снятия различных дампов с мобильных телефонов Motorola. Мне пришлось немного пореверсить и разобраться в том, как работает протокол P2K и за пару дней у меня получилось имплементировать и отладить во FlashTerminal'е возможность чтения содержимого чипа Flash-памяти через команду MEMACS, сохранение файлов внутреннего диска телефона с помощью команд FSAC и чтение различной информации об устройстве. По итогу у нас с overglube с помощью моего FlashTerminal в виртуалке с Linux'ом получилось снять абсолютно все необходимые дампы с его Siemens CC75/Mosel и они отправились на дальнейшее исследование.
Различия прошивок CC75/Mars и CC75/Mosel
Абсолютно вся прошивка прототипа Siemens CC75 в варианте Mosel отличается от варианта Mars, пойдём по порядку по всем кодовым группам, где имеются какие-либо изменения.
Инженеры Elcoteq убрали все стоковые рингтоны и изображения Motorola/Freescale и Siemens в файловой системе CG2 флекса и заменили их своими собственными.
Заключение и итог
У нас с overglube появились разные версии относительно того, зачем Elcoteq решил стереть весь брендинг Siemens и Motorola/Freescale из этого устройства:
Вот эти строчки в прошивке телефона навевают мне мысли о том, что Mosel было как название альтернативного/резервного UI для Siemens CC75, возможно только для внутреннего пользования в Elcoteq, пока там пилили железо, а в самом Siemens'е допиливали софт...
Или даже так: Mosel — телефоны для внутреннего использования и тестов, Mars — потребительские устройства.
Как бы там ни было на самом деле, но весь брендинг в телефоне был тщательнейшим образом вычищен. Кстати пару слов о хронологии прошивок и определении самого позднего и раннего прототипа! В дампах был обнаружен скомпилированный браузер Openwave, который хоть и не представлен в UI устройств в явном виде, наверное всё-таки требовался для чего-то связанного с MMS. В этом браузере есть такая замечательная особенность, что при сборке прошивки релиз-инженерами Siemens или Elcoteq он запекает текущую дату сборки выставленную на компьютере или билд-сервере для дальнейшего отображения в окне About. По нахождению этой даты в слитых дампах прошивок был составлен такой хронологический порядок:
Как и предполагалось, прототип ahsim'а оказался самым ранним, а Mosel у overglube оказался самым поздним, хотя изначально мы считали что именно он является самым ранним по причине наличия у него разъёма Mini-USB вместо фирменного Slim-Lumberg от Siemens.
Дамп Siemens CC75/Mosel можно скачать в архиве ниже, а вся кухня изучения Siemens CC75 доступна on-line по ссылке: https://firmware.center/projects/EXL/Siemens/CC75/
Прикреплённые файлы:
До сих пор нами были слиты дампы прототипов Siemens CC75 в вариациях Mars, а вот с получением дампа варианта Mosel, единственным известным обладателем которого является overglube, возникли неопределённые трудности. Предыдущее описание прототипа Mosel было опубликовано здесь, его главной особенностью является то, что он полностью лишён брендинга Siemens как по корпусу, так и по программной части.
Помимо полностью переработанной прошивки в нём были изменены USB_VID и USB_PID практически у всех USB-режимов, что подразумевало редактирование USB-драйверов. Приведу полезную таблицу USB IDs различных вендоров и режимов устройств, сердцем которых является Neptune LTE SoC:
Код
# 22B8 - Motorola/Freescale
# 11F5 - Siemens
# 1907 - Elcoteq/ELQ
| Phone/Mode | USB-Modem, AT | TCI, TCMD, P2K | S Neptune LTE Flash | S Neptune LTE Blank |
|-----------------------|-------------------|----------------|---------------------|---------------------|
| Motorola E398/ROKR E1 | 22B8_4902 | 22B8_4901 | 22B8_4903 | 22B8_4903 |
| Siemens CC75/Mars | 11F5_0007 | 11F5_0008 | 22B8_4903 | 22B8_4903 |
| Siemens CC75/Mosel | 1907_0001 | 1907_0002 | 1907_0002 | 22B8_4903 |
# 11F5 - Siemens
# 1907 - Elcoteq/ELQ
| Phone/Mode | USB-Modem, AT | TCI, TCMD, P2K | S Neptune LTE Flash | S Neptune LTE Blank |
|-----------------------|-------------------|----------------|---------------------|---------------------|
| Motorola E398/ROKR E1 | 22B8_4902 | 22B8_4901 | 22B8_4903 | 22B8_4903 |
| Siemens CC75/Mars | 11F5_0007 | 11F5_0008 | 22B8_4903 | 22B8_4903 |
| Siemens CC75/Mosel | 1907_0001 | 1907_0002 | 1907_0002 | 22B8_4903 |
Я снова изменил USB_VID и USB_PID в наборе мотороловских драйверов, однако в случае с Mosel это ничего не дало, P2K-программы по типу P2K Tools VS и MEMACS Dumper никак не хотели видеть телефон. Проблема оставалась неразрешённой до той поры как я не вспомнил про свою утилиту FlashTerminal, которую я когда-то написал для снятия различных дампов с мобильных телефонов Motorola. Мне пришлось немного пореверсить и разобраться в том, как работает протокол P2K и за пару дней у меня получилось имплементировать и отладить во FlashTerminal'е возможность чтения содержимого чипа Flash-памяти через команду MEMACS, сохранение файлов внутреннего диска телефона с помощью команд FSAC и чтение различной информации об устройстве. По итогу у нас с overglube с помощью моего FlashTerminal в виртуалке с Linux'ом получилось снять абсолютно все необходимые дампы с его Siemens CC75/Mosel и они отправились на дальнейшее исследование.
Различия прошивок CC75/Mars и CC75/Mosel
Абсолютно вся прошивка прототипа Siemens CC75 в варианте Mosel отличается от варианта Mars, пойдём по порядку по всем кодовым группам, где имеются какие-либо изменения.
- 0x10000000-0x10007FFF, FBL, Bootloader:
Бут по коду совпадает с тем, что были в протиках ahsim'а и Den K, но отличается перебитыми USB_VID/USB_PID и строкой определения "ELQ Mobile Phone". ELQ вероятно сокращение от названия компании производителя Elcoteq. - 0x10040000-0x1007FFFF, CG3, DSP Firmware, DSP Patches:
Прошивка DSP-ядра процессора Neptune LTE совпадает с таковой самого нового прототипа CC75/Mars владельцем которого является Den K. - 0x10080000-0x100800C3, CG0, Memory Map:
Карта памяти прошивки CC75/Mosel внезапно совпадает по размерам с таковыми на телефонах Motorola, она не увеличена как на CC75/Mars и функция Flashstrap тоже отсутствует. Кроме того убрана CG20. - 0x100800C4-0x1137FFFF, CG1, Program, Software:
Главная кодовая группа в прошивке телефона как и у многих телефонов Motorola начинается сразу после небольшой карты памяти CG0, это серьёзно отличает Mosel от Mars'ов. Размер CG1 увеличен вплоть до границ флекса CG2. - 0x11300000-0x1131FFFF, CG20, Redbend FoTA:
FoTA-модуль от Redbend характерный для прототипов CC75/Mars и других телефонов Siemens полностью отсутствует в прошивке телефона. - 0x11380000-0x11FDFFFF, CG2, Flex, File System & SEEMs:
Технически флекс аналогичен таковым в CC75/Mars, но наполнение файловой системы у Mosel и Mars несколько разное.
Инженеры Elcoteq убрали все стоковые рингтоны и изображения Motorola/Freescale и Siemens в файловой системе CG2 флекса и заменили их своими собственными.
Заключение и итог
У нас с overglube появились разные версии относительно того, зачем Elcoteq решил стереть весь брендинг Siemens и Motorola/Freescale из этого устройства:
Цитата(overglube)
Код
w:\Mars\Mosel_MMI\mat20\src\matlib\scanctx\clipmake.c
Вот эти строчки в прошивке телефона навевают мне мысли о том, что Mosel было как название альтернативного/резервного UI для Siemens CC75, возможно только для внутреннего пользования в Elcoteq, пока там пилили железо, а в самом Siemens'е допиливали софт...
Или даже так: Mosel — телефоны для внутреннего использования и тестов, Mars — потребительские устройства.
Цитата(EXL)
А мне кажется немного по-другому всё было.
Siemens отказался от CC75 в 2005 году, когда его разработка в Elcoteq была уже почти завершена. И Elcoteq чтобы не выбрасывать отменённый и уже готовый телефон попытались сделать на его основе этот Mosel наверное с целью продать разработку кому-либо ещё. Но от брендинга Motorola/Freescale и Siemens очевидно необходимо было избавиться, заменив его на какой-то нейтральный. Поэтому они просто форкнули последнюю готовую прошивку CC75/Mars которую сами же разрабатывали, переименовали всё в Mosel этот. Заменили иконки, чуть подправили UI. И решили кому-то продать разработку, но похоже не срослось. Как минимум год 2006 в твоём протике говорит в пользу такого стечения обстоятельств. Отсюда все эти надписи "Demo Unit" и изменённое кодовое имя.
Siemens отказался от CC75 в 2005 году, когда его разработка в Elcoteq была уже почти завершена. И Elcoteq чтобы не выбрасывать отменённый и уже готовый телефон попытались сделать на его основе этот Mosel наверное с целью продать разработку кому-либо ещё. Но от брендинга Motorola/Freescale и Siemens очевидно необходимо было избавиться, заменив его на какой-то нейтральный. Поэтому они просто форкнули последнюю готовую прошивку CC75/Mars которую сами же разрабатывали, переименовали всё в Mosel этот. Заменили иконки, чуть подправили UI. И решили кому-то продать разработку, но похоже не срослось. Как минимум год 2006 в твоём протике говорит в пользу такого стечения обстоятельств. Отсюда все эти надписи "Demo Unit" и изменённое кодовое имя.
Как бы там ни было на самом деле, но весь брендинг в телефоне был тщательнейшим образом вычищен. Кстати пару слов о хронологии прошивок и определении самого позднего и раннего прототипа! В дампах был обнаружен скомпилированный браузер Openwave, который хоть и не представлен в UI устройств в явном виде, наверное всё-таки требовался для чего-то связанного с MMS. В этом браузере есть такая замечательная особенность, что при сборке прошивки релиз-инженерами Siemens или Elcoteq он запекает текущую дату сборки выставленную на компьютере или билд-сервере для дальнейшего отображения в окне About. По нахождению этой даты в слитых дампах прошивок был составлен такой хронологический порядок:
Код
| Phone/Model | Browser version | Build date | Owner |
|----------------------|-----------------------|------------------------|----------------------|
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Jun 16 2005 | ahsim |
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Aug 05 2005 | Dmitry Lysenko |
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Aug 05 2005 | Dmitry Lysenko |
| Siemens CC75/Mars | Openwave 6.3.0.2 | Built on Sep 07 2005 | Den K |
| Siemens CC75/Mosel | Openwave 6.3.0.2 | Built on Feb 03 2006 | overglube |
|----------------------|-----------------------|------------------------|----------------------|
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Jun 16 2005 | ahsim |
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Aug 05 2005 | Dmitry Lysenko |
| Siemens CC75/Mars | Openwave 6.3.0 | Built on Aug 05 2005 | Dmitry Lysenko |
| Siemens CC75/Mars | Openwave 6.3.0.2 | Built on Sep 07 2005 | Den K |
| Siemens CC75/Mosel | Openwave 6.3.0.2 | Built on Feb 03 2006 | overglube |
Как и предполагалось, прототип ahsim'а оказался самым ранним, а Mosel у overglube оказался самым поздним, хотя изначально мы считали что именно он является самым ранним по причине наличия у него разъёма Mini-USB вместо фирменного Slim-Lumberg от Siemens.
Дамп Siemens CC75/Mosel можно скачать в архиве ниже, а вся кухня изучения Siemens CC75 доступна on-line по ссылке: https://firmware.center/projects/EXL/Siemens/CC75/
Прикреплённые файлы: