RadioRadar - Радиоэлектроника, даташиты, схемы

https://www.radioradar.net/repair_electronic_technics/phones_repair/samsung_sgh_programming.html

Инженерное программирование сотовых телефонов Samsung SGH. Описание основных программ

В предыдущей статье был начат обзор аппаратных и программных средств, необходимых для работы с телефонами на базе аппаратной платформы Trident (Alegre). В предлагаемом материале рассматриваются проблемы, возникающие при работе с программами OptiFlash и CmdFlash. Кроме того, автор описывает другие программы для работы с телефонами Samsung SGH: Wray's Vector, Alegre single IMEI Writing PGM, Sunday Unlocking Software.

Решение проблем при работе с программами OptiFlash и CmdFlash

Проблемы, возникающие при работе с программами OptiFlash и CmdFlash, можно разделить на две группы. К первой из них относятся проблемы, возникающие в процессе работы с Flash-памятью телефона. Проблемы второй группы приводят к тому, что после обновления программного обеспечения (ПО) телефон не включается, хотя OptiFlash (CmdFlash) сообщили об удачном завершении процесса перепрограммирования.

При решении проблем первой группы необходимо по коду ошибки выявить ее причину(перечень сообщений об ошибках OptiFlash приведен в [1], в табл. 4). При этом, для исправления группы ошибок, связанных с параметрами командной строки и используемыми файлами,следует проверить правильность настроек программы OptiFlash, параметров командной строки в CmdFlash, наличия указанного пользователем файла прошивки, отсутствия запрета на доступ к нему (например, если файл открыт другим приложением) и корректность указанных в нем данных. Использованные при последнем запуске OptiFlash параметры указаны в конфигурационном файле OptiFlash.ini (параметр LastCmdLine секции [Global]). Расшифровка данных параметров приведена в [1], в табл. 5.

При ошибках, связанных с невозможностью идентификации аппаратных средств телефона или их неправильной идентификацией (ERR_BAD_PLATFORM, ERR_FLASHTYPE, ERR_LEGACY_LOADER, ERRJJNKNOWNJHW, ERR_WRONG_FLASHLOADER), рекомендуется проверить соответствие телефона выбранной аппаратной платформе. Также можно попытаться обновить (использовать другую версию) OptiFlash или CmdFlash с соответствующими файлами библиотек *.dll, файлы описаний аппаратных платформ (platform.def), начальных загрузчиков (fl_sceptre*.SRE) и описания типов микросхем Flash-памяти (flash.types).

При ошибках COM-порта (ERR_COM) следует проверить правильность указания номера порта, его доступность и настройки Windows, в которых рекомендуется использовать значения по умолчанию: биты данных - 8, четность - Нет, стоповые биты - 1, управление потоком - Нет. В случае возникновения ошибок, связанных с обменом между компьютером и телефоном (ERR_PROTO-COL, ERR_TIMEOJT, ERR_CRC), рекомендуется снизить скорость передачи данных до 115200 бит/с, а также проверить работоспособность DATA-кабеля. Для работы с Flash-памятью сотовых телефонов на базе платформы Trident (Alegre) достаточно 3-проводного DATA-кабеля, в котором общий провод подключен к контактам 8, 11, 13 интерфейсного разъема телефона, а информационные сигналы PR_Tx, PR_Rx, соответствующие сигналам Rx и Tx СОМ-порта, - к контактам 2 и 3 соответственно. Также можно попробовать использовать другой COM-порт.

В ряде случаев после перепрограммирования телефона по разным причинам, например из-за сбоев при перепрограммировании или ошибок в используемом программном обеспечении, в телефоне может остаться программный загрузчик. По этой причине телефон не включится и не будет доступен для перепрограммирования. Для удаления программного загрузчика необходимо на одну-две секунды отсоединить аккумулятор.

В общем случае, выявление причин возникновения ошибок второй группы является более сложной задачей. Во-первых, следует проверить работоспособность загружаемой в телефоне прошивки (попытаться загрузить другую версию). Во-вторых, необходимо проверить правильность определения типа используемых в телефоне микросхем Flash-памяти (разные микросхемы Flash-памяти имеют различную структуру и разрядность). При их несоответствии OptiFlash (CmdFlash) может сообщить об удачном перепрограммировании телефона, но при включении телефон будет, например, зависать на заставке. На рис. 1 приведены примеры подобной ситуации для телефона "Samsung SGH C200".

Рис. 1. Идентификация микросхем флэш-памяти телефона "Samsung SGH C200"

Также неработоспособность или зависание телефона при включении по вине программного обеспечения может быть связано с неправильными настройками ПО телефона или повреждением его файловой системы. Для их устранения можно при перепрограммировании телефона установить в OptiFlash опцию "Erase all unused Regions" (задать параметр /eraseunused=1 командной строки CmdFlash). Однако при этом необходимо указать в опции "Reserved Memory Regions" области памяти, в которых хранятся калибровочные данные телефона и его IMEI (в CmdFlash используется параметр командной строки /reserved=адрес1-адрес2).

Во многих телефонах Samsung SGH на базе аппаратной платформы Trident (Alegre), имеющих 16 Мб Flash-памяти, для хранения калибровочных данных и IMEI телефонов используются диапазоны адресов 0x00002000 - 0x00003fff и 0x00008000-0x0000dfff. В табл. 1 приведен список областей памяти, которые для ряда моделей телефонов Samsung SGH рекомендуется указать, как зарезервированные. В общем случае наличие участков памяти телефона, не обновляемых официальной прошивкой, можно определить по промежуткам в адресах файла S-Record, содержащего прошивку телефона (рис. 2). В некоторых программах, например, в рассматриваемой далее Sunday Unlocking Software, зарезервированные области памяти задаются автоматически при выборе модели телефона.

Рис. 2. Структура прошивки телефона в формате S-Record (S3) (2-й столбец - адрес, по которому следует разместить блок данных, 3-й - шестнадцатеричный эквивалент блока данных и его контрольная сумма)

Таблица 1. Области памяти телефонов Samsung SGH, используемые для хранения калибровочных данных и IMEI

Модель телефона

Samsung SGH

Область памяти

02х0

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

D410

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

E710

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

E710f

0x00008000 - 0x0000ffff

0x00010000 - 0x00017fff

Q100, Q200

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

S300

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

0x00ea0000 - 0x00fafff

0x00fb0000 - 0x00feffff

X120

0x00002000 - 0x00003fff

0x00008000 - 0x00009fff

X400

0x00002000 - 0x00003fff

X450

0x00002000 - 0x00003fff

0x00008000 - 0x0000dfff

X480

x00002000 - 0x00003fff

0x01fc0000 - 0x01fe4fff

Е530

0x20000000 - 0x2000ffff

0x21ff0000 - 0x22000000

0x29000000 - 0x30000000

Е620

0x20000000 - 0x2000ffff

Е720

0x20000000 - 0x2000FFFF

0x21FF0000 - 0x22000000

0x29000000 - 0x30000000

В случае, если после восстановления программного обеспечения телефон удалось включить, но он работает нестабильно, целесообразно выполнить частичный или полный сброс настроек EEPROM c помощью соответствующего сервисного кода. Следует учитывать, что при полном сбросе настроек EEPROM также будет изменен IMEI телефона (что может противоречить законодательству) и, соответственно, может потребоваться его восстановление.

Программа Wray's Vector

Программа Wray's Vector позволяет получить информацию о телефоне, осуществить восстановление его IMEI, установить/удалить привязку телефона к определенному оператору сотовой связи. Данная программа поставляется в качестве дополнительного программного обеспечения к некоторым универсальным сервисным боксам. Для работы с Wray's Vector необходим DATA-кабель, поддерживающий перепрограммирование телефона. Работа с телефоном осуществляется в тестовом режиме. Список поддерживаемых моделей телефонов зависит от версии программы, например, версия 2.0 поддерживает телефоны на платформах One-C, M46,

OM/SWIFT (Sysol) и Trident (Alegre). Основное диалоговое окно Wray's Vector приведено на рис. 3.

Рис. 3. Основное диалоговое окно программы Wray's Vector

Выполнение операций над телефонами с помощью Wray's Vector осуществляется в следующем порядке:

1. Запускают Wray's Vector и производят его настройку: в соответствующих выпадающих списках выбирают используемый COM-порт, модель телефона и выполняемую операцию. Для проверки наличия связи с телефоном рекомендуется использовать функцию "Read Phone Info".

2. Подключают DATA-кабель к выключенному телефону и компьютеру.

3. Нажимают кнопку "Execute" в основном диалоговом окне программы Wray's Vector.

4. Включают телефон, при этом он "зависнет" на начальной заставке или на вводе PIN-кода.

Данная последовательность необходима только для первой операции (в каждом сеансе работы с телефоном), а для остальных достаточно нажатия кнопки "Execute" основного диалогового окна программы Wray's Vector, так как телефон остается в тестовом режиме.

При использовании Wray's Vector для восстановления оригинального IMEI телефона, указанного на наклейке под аккумулятором, необходимо учитывать, что при этом производится блокировка телефона, для снятия которой необходимо воспользоваться функцией программы "Unlock". Для привязки телефона к определенной сети сотовой связи необходимо в соответствующих полях ввода "Network" (рисунок 4) ввести информация о M.C.C. - M.N.C. (код страны - номер сети) данного оператора. По окончании работы с программой, для вывода телефона из тестового режима, необходимо на одну-две секунды отсоединить аккумулятор.

Рис. 4. Восстановление IMEI

Программа Alegre single IMEI Writing PGM (WinIMEI)

Данная программа позволяет восстановить оригинальный IMEI телефона, а также установить/снять привязку телефона к оператору сотовой связи. Основное диалоговое окно данной программы приведено на рис. 5. Для комфортной работы с WinIMEI необходима поддержка монитором компьютера разрешения 1280x1024 пикселей.

Рис. 5. Основное диалоговое окно Alegre single IMEI Writing PGM

Список поддерживаемых программой моделей телефонов опресоответствующих INI-файлов в папке Model, расположенной в папке с программой WinlMEI. Для добавления нового телефона необходимо создать в папке Model вложенную папку, соответствующую ремонтируемой модели телефона, и в нее поместить DAT-файл и INI-файлы, соответствующие данной модели. Причем, имя созданной папки должно быть введено прописными буквами, например, SGH-C200. В программе WinIMEI DAT-файл представляет собой текстовый файл со списком вариантов телефона, соответствующих INI-файлам. Используемые WinIMEI INI-файлы являются зашифрованными. Настройка WinIMEI осуществляется в следующем порядке:

1. Подключают DATA-кабель к выключенному телефону и компьютеру.

2. Запускают программу WinIMEI.

3. В основном диалоговом окне программы нажимают кнопку "Set Writing Setting" и в появившемся диалоговом окне (рис. 6а) из соответствующих выпадающих списков выбирают модель и вариант телефона. Телефоны, предназначенные для реализации на территории России, обычно соответствуют варианту RUSSIA(SER).

4. Нажимают кнопку "Set PortNum" диалогового окна настройки программы (рис. 6а) и в открывшемся диалоговом окне (рис. 6б) выбирают используемый COM-порт. Если настройка проведена корректно, станут доступны кнопки основного диалогового окна WinIMEI.

Рис. 6. Настройка WinIMEI

5. Нажимают кнопку основного диалогового окна программы, соответствующую требуемому действию.

6. Для входа в тестовый режим включают телефон.

Если необходимо, повторяют п.5 требуемое число раз. Для выполнения восстановления оригинального IMEI телефона вначале необходимо его указать(кнопка "Change IMEI No" основного диалогового окна WinIMEI), а затем нажать кнопку "Go All". При этом пользователю будет предложено ввести пароль, подтверждающий легальность использования программы WinIMEI.

Программный пакет Sunday Unlocking Software (SUS)

Данный пакет предназначен для перепрограммирования и сервисных операций над телефонами Samsung. Бесплатная версия ПО может быть загружена с http://download.cellsmith.org/. Для аппаратной платформы Trident (Alegre) поддерживается как перепрограммирование телефонов, так и сервисные операции над ними. Для перепрограммирования телефонов на платформе Trident (Alegre) с помощью SUS предназначена программа Alegre Downloader, основное диалоговое окно которой приведено на рис. 7.

Рис. 7. Основное диалоговое окно Alegre Downloader

Поддерживаемые аппаратные платформы и настройки, необходимые для работы с ними, содержатся в файле loaders.dat. Данный файл по формату совпадает с файлом platform.def, используемым программой OptiFlash. Список поддерживаемых микросхем флэш-памяти указан в файле chipinf.dat, который аналогичен файлу flash.types программы OptiFlash (расположен в папке с установленной программой Alegre Downloader). Если в телефоне использована микросхема Flash-памяти, не поддерживаемая программой, то будет выдано сообщение об ошибке ERR_FLASH_DEVICE. Большинство сообщений об ошибках, выдаваемых программой Alegre Downloader, соответствуют аналогичным сообщениям программы OptiFlash.

При запуске Alegre Downloader будет предложено выбрать режим работы с зарезервированными областями памяти телефона (рис. 8). При обновлении программного обеспечения телефона следует выбрать режим "Flash mode", а при его восстановлении - "Repair mode".

Рис. 8. Выбор режима работы Alegre Downloader

Для работы с Alegre Downloader подключают DATA-кабель, поддерживающий перепрограммирование данной модели, к выключенному телефону и компьютеру. Затем запускают Alegre Downloader и производят его настройку* (рис. 7). Применение выбранных значений осуществляется при нажатии кнопки "Apply" в соответствующей секции. Настройка Alegre Downloader осуществляется в следующей последовательности:

1. В выпадающем списке секции "Model Stuff" выбирают ремонтируемую модель телефона.

2. В поле ввода секции "Flash Stuff" указывают файл в формате S-Record, который необходимо загрузить в телефон. Выбор файла осуществляется через стандартный диалог открытия файлов, вызываемый нажатием на кнопку "...".

3. В секции "Reserved Regions" отмечают нужные опции (сверху вниз - соответственно, "Очистить область пользовательских данных", "Записывать во флэш-память только различия", "Режим проверки", "Ввести лог-файл выполнения операции" и "Показывать ход процесса в поле статуса"). Список зарезервированных областей памяти телефона составляется автоматически, в зависимости от модели телефона.

4. В соответствующих выпадающих списках секции "Communication Stuff" выбирают используемый COM-порт и скорость работы с флэш-памятью телефона.

5. Отмечают флажок "Sunday Unlocking Rules" секции "Operate".

После настройки программы нажимают "Big Start Button" основного диалогового окна. В поле статуса, расположенного в нижней части основного диалогового окна Alegre Downloader, должно появиться сообщение "Talking to passive bootloader". Нажимают и удерживают кнопку включения телефона до появления сообщения "Got MOBILE_PING_ACK" (~ 0,5.1 с). Сообщения отображаются только при отмеченном флажке "Show Results" секции "Reserved Regions".

После этого будет начат процесс перепрограммирования телефона, по окончании которого будет выдано либо сообщение об ошибке, либо об удачном завершении.

Второй программой, входящей в состав SUS, является Alegre Service. Она предназначенна для работы с телефонами на базе аппаратной платформы Trident (Alegre). Данная программа аналогична WinIMEI и предназначена для выполнения сервисных функций над телефоном - привязки/отвязки телефона от сети сотовой связи, восстановления IMEI, инициализации настроек WAP и MMS и т.д.

Основное диалоговое окно Alegre Service приведено на рис. 9. Для начальной настройки программы необходимо нажать кнопку "Settings" в секции "General Stuff" основного диалогового окна Alegre Service, и в появившемся окне (рис. 10) выбрать модель ремонтируемого телефона и используемый COM-порт (кнопка "Port Setting"). После выполнения данной операции станут доступны остальные кнопки основного диалогового окна программы Alegre Service.

Рис. 9. Основное диалоговое окно программы Alegre Service

Рис. 10. Настройка Alegre Service

При выполнении первой операции (в текущем сеансе работы с Alegre Service) необходимо ввести телефон в тестовый режим (см. описание работы с Wray's Vector). Для этого, после подключения DATA-кабеля к выключенному телефону и нажатия кнопки основного диалогового окна программы Alegre Service, соответствующей необходимому действию, включают телефон. Для проверки работоспособности DATA-кабеля и правильности настроек можно воспользоваться функцией считывания IMEI телефона. При восстановлении оригинального IMEI телефона для его задания используется кнопка "Change IMEI". При этом введенный номер IMEI будет отображен в соответствующем поле ввода (1 на рис. 9), а для начала выполнения операции нажимают кнопку "Start". Для вывода телефона из тестового режима отсоединяют аккумулятор телефона на 1-2 секунды.

Рассмотренные программы позволяют выполнить все операции, необходимые при обновлении и восстановлении программного обеспечения телефонов Samsung SGH на базе аппаратной платформы Trident (Alegre). Для проверки работоспособности телефона могут быть использованы сервисные коды. Некоторые из них приведены в табл. 2. Поддерживаемые сервисные коды могут быть различными для разных телефонов и версий прошивок. Подробная информация об основных сервисных кодах, поддерживаемых конкретным телефоном, может быть получена после ввода кода *#4357#.

Таблица 2. Некоторые сервисные коды телефонов Samsung SGH на базе платформы Trident (Alegre)

Сервисный код

Описание

1

*#1111#

Информация о версии программного обеспечения FTA

2

*#1234#

Информация о версии программного обеспечения телефона (прошивки)

3

*#2222#

Информация о версии аппаратного обеспечения FTA

4

*#4357#

Справочник поддерживаемых сервисных кодов, поддерживаемых данной версией прошивки

5

*#9998*228#

Информация о состоянии аккумулятора

6

*#9998*289#

Тест динамика

7

*#9998*377#

Журнал ошибок NVM

8

*#9998*523# (или *#0523#)

Регулировка контрастности дисплея

9

*#9998*5282#

Настройки Интернет для JAVA (GPRS и CSD)

10

*#9998*5646#

Язык начальной заставки (отображается при включении телефона)

11

*#9998*638#

Сетевой идентификатор sim-карты

12

*#9998*746#

Информация о sim-карте

13

*#9998*76#

Product number

14

*#9998*778#

Сервисная таблица sim-карты

15

*#9998*782#

Показания часов телефона (с секундами)

16

*#9998*8376263#

Полная информация о версии аппаратной части и программного обеспечения телефона

17

*#9998*842#

Тест вибровызова

18

*#9999*0#

Нет-монитор (информация о параметрах GSM-сети)

19

*2767*2878#

Полный сброс пользовательских настроек EEPROM телефона

20

*2767*3855#

Полный сброс настроек EEPROM (при использовании данного сервисного кода следует проявлять осторожность, так как при этом происходит изменение IMEI телефона на 447967-89-400044-0)

Литература и интернет-ресурсы

1. Печеровый А.В. Инженерное программирование сотовыхтелефонов Samsung SGH. Общие положения и основные программы. // "Ремонт & Сервис". № 12, 2006.

2. Использование OptiFlash (Hardware platform Reserved memory region) //SamsungPRO.ru. - http://forum.samsungpro.ru/ index.php?showtopic=5252.

Автор: Антон Печеровый (г. Орел)

Источник: Ремонт и сервис