Структура программного обеспечения и источники его распространения

Программное обеспечение, хранящееся в микросхеме Flash-памяти для простоты понимания можно условно разделить на две большие области: firmware и EEPROM.
Для работы с областью firmware телефонов Siemens была создана специальная заводская утилита WinSwup, которая позволяет полностью заменить как версию программного обеспечения, так и язык меню. При этом новая версия размещается в «теле» WinSwup. Таким образом, сколько версий программного обеспечения, столько и WinSwup-ов, коллекцию которых можно найти на портале www.allsiemens.ru/flash
Кроме этого, есть возможность работать с пользовательской версией WinSwup, распространяемой непосредственно с официальной страницы производителя www.benqmobile.com
В компьютерном представлении WinSwup выглядит как исполняемый ехе-файл, название которого можно представить как Name_XX_YY_ZZ.exe, где:
Name – модель телефона, под который написана утилита (может и отсутствовать) XX – версия программного обеспечения YY – номер языкового пакета («04», «91» - говорит о наличии русского языка в меню) ZZ – номер системы интуитивного набора T9 текста ( «05» - наличие «русского Т9»)

В самом телефоне эту же информацию можно увидеть в специальном сервисном меню, вызываемого путём нажатия комбинации клавиш: *#06# плюс «левая клавиша выбора» (left softkey).
С помощью WinSwup нельзя оперировать с областью памяти EEPROM. Если это необходимо, на свой страх и риск можно использовать программу freia, с помощью которой можно работать не только с EEPROM, но и со всей прошивкой в целом (fullflash).

Winswup

Работу начинаем с настройки программы Serial Config (рисунок 6), где следует указать номер COM-порта, к которому подключен интерфейс и Baud - скорость обмена (обычно 115200).

Для запуска процесса программирования существует два варианта действий:
- Если телефон включен и подключен к кабелю - нажать кнопку START.
- Если телефон выключен и подключен к кабелю - поставить галочку для Skip в позиции PreCheck для отключения самотестирования телефона и нажать кнопку START.

Второй вариант нужен для случаев, когда ремонтируемый телефон не включается из-за ошибок, которые могли произойти во время работы по первому варианту. Следует помнить, что при отсутствия режима autoignition, после нажатия кнопки START требуется кратковременно нажать кнопку включения телефона.
В обоих случаях, после завершении процедуры, программа выдаст сообщение, что процесс прошёл успешно со 100% окончанием.

Freia

Настройку программы начинаем с клавиши Configuration functions главного меню – Main functions. Устанавливаем COM port of cable - номер COM-порта, к которому подключен интерфейс, скорость обмена - Speed of communication (обычно 115200). Затем необходимо указать тип загрузки - Boot type («normal») и при наличии autoignition в интерфейсе отметить галочкой DTR в меню COM port setup.

С помощью Freia можно считать либо всю прошивку, либо выборочно участки памяти, записать произвольные области памяти, а также провести операцию по снятию кодировок как пользовательских, так и операторских («разлочить»).

Чтение прошивки осуществляется с помощью клавиши Read Flash главного меню – Main functions, с последующим выбором области памяти в меню Presets, которое находится в меню Flashing functions. Эта область в ходе чтения автоматически сохраняется в файл с расширением *.fls. Процесс запускается кнопкой ОК. Процедура отображается в окошке – Process information.

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

Запись прошивки в микросхему Flash-памяти осуществляется кнопкой Write Flash главного меню – Main functions, открывающей меню выбора файла прошивки в формате *.fls, который мы хотим записать. Следует быть внимательным с подставляемыми файлами, а именно чтобы размер записываемого файла совпадал с размером той области памяти, в которую он помещается, иначе на программном уровне телефон будет повреждён.

По окончании программирования необходимо обязательно восстановить заводской номер телефона (IMEI), хранящийся в EEPROM-области памяти телефона, так как вместе с чужой прошивкой мы записываем и чужой EEPROM, а, следовательно, и чужой IMEI. Восстановление осуществляется в следующем порядке (рисунок 10). Нажимаем кнопку Unlocking functions главного меню – Main functions. В открывшемся меню Unlocking functions отмечаем позицию Direct unlock, no map is saved и нажимаем кнопку Use Original IMEI. После этого подтверждаем процедуру кратковременным нажатием кнопки включения на телефоне (ignition). Эта операция приводит к снятию пользовательских и операторских кодировок.

Телефоны Nokia DCT-3:

2100 (NAM-2),
3210 (NSE-8/9), 3310/3315 (NHM-5), 3330 (NHM-6), 3350 (NHM-9), 3360 (NPW-1), 3390 (NPB-1), 3410 (NHM-2), 3610 (NAM-1)
5110 (NSE-1), 5110i (NSE-2), 5120 (NSC-1), 5130 (NSK-1), 5160 (NSW-1), 5190 (NSB-1), 5210 (NSM-5), 5510 (NPM-5)
6090 (NME-3), 6110 (NSE-3), 6120 (NSC-3), 6130 (NSK-3), 6138 (NSK-3), 6150 (NSM-1), 6160/6162 (NSW-3),
6185/6188 (NSD-3AX), 6190 (NSB-3), 6210 (NPE-3), 6250 (NHM-3)
7110 (NSE-5), 7160 (NSW-5), 7190 (NSB-5)
8210 (NSM-3), 8250 (NMS-3D), 8290 (NSB-7), 8810 (NSE-6), 8850 (NSM-2), 8855 (NSM- 4), 8890 (NSB-6)
Communicator 9110 (RAE-2), Communicator 9210 (RAE-3)
Card Phone 1.0 (RPE-1), Card Phone 2.0 (RPM-1)

Это относительно новые телефоны. Для полноценной работы с ними необходимо специальное аппаратно-программное оборудование (UFS, Jaf, Griffin, Dejan-flasher), требующее времени на его изучение и финансовых затрат.
Существуют и простые условно-бесплатные средства, но круг задач , решаемых с их помощью, ограничен. Почему эти средства названы условно-бесплатными, наверное, понятно – они все-таки требуют и времени и денег на комплектующие и т.п. Из этой категории для работы с телефонами Nokia необходимы 2 программы и, соответственно, 2 интерфейса:
- последовательный, который работает только с областью EEPROM
- параллельный – для работы с MCU и PPM

Для программирования потребуются:

1. Программы. Существуют программы Eeprom Tools by B-phreaks, Nokia Tool by Jordik или Nokia Tool by Rollis. Они имеют интуитивно понятный интерфейс и возможность автоматически настраивать для программирования каждой конкретной модели. В качестве примера возьмем Nokia Tool by Rollis Ver 1.8. - программа для чтения и записи флэш-памяти телефонов Nokia, распространяется бесплатно, можно скачать на сайте http://hjem.get2net.dk/klarlund/download/NokTool18.exe

2. Параллельный интерфейс. Он предназначен для работы с программами чтения и записи flash-памяти телефонов Nokia. Сигнал BTEMP - необходим только для автоматического входа в тест-режим. Его можно не использовать, а вместо этого в начале процедуры чтения/записи нажимать кнопку включения телефона. Сигнал Vpp - используется только в модели 3210, все остальные работают без него. Использование Vpp для модели 3210 обязательно. Отечественными аналогами диодов 1N4148 являются диоды КД522 с любым буквенным индексом. Для корректной работы интерфейса иногда необходимо в BIOSе компьютера в настройках Integrated Peripherals изменить параметр Onboard Parallel Mode (обычно ECP). Синхронизация происходит сигналом MBUS, при этом телефон должен быть во включенном состоянии.
Через этот же интерфейс возможно оперировать с областью памяти EEPROM, а следовательно, можно получить доступ к различным кодировкам, заводскому номеру IMEI или осуществить сброс настроек в меню телефона по умолчанию. Например с помощью программы NokiaTool1.8, можно вычитать информацию о телефоне (1) , а потом или раскодировать его от операторских блокировок (2) или поменять IMEI (3) или сбросить настройки по умолчанию (4), в частности во время сброса, также будет сброшен код телефона на «12345» - по умолчанию . Операция “Update FAID” (5) выполняет пересчёт секретной информации телефона (цифровой ключ) при каждом вмешательстве в телефон программными методами. В частности после раскодировки, смены IMEI или после перепрограммирования. Если её не проводить, то потом телефон будет постоянно перезагружаться и никогда не найдёт сеть. Алгоритм, по которому происходит пересчёт, долгое время не был известен и операции по пересчёту FAID могли производить лишь в официальных представительствах Nokia. В настоящее время, всё стало открыто и вскоре реализовано в похожих программах, как NokiaTool.

То, что касается программирования, то для этого уже необходимо или специальное устройство (UFS, Jaf, Griffin, Dejan-flasher) или самодельный (купленный) интерфейс FBUS на основе параллельного порта LPT. Соответственно под каждое из приведённых устройств существует программа-оболочка, которая осуществляет операцию перепрограммирования.
Следует отметить, что для всех Nokia, начиная с данного поколения программное обеспечение инсталлируется отдельно из инсталяционного пакета Phoenix, которое создаётся в виде отдельных пакетов под данную модель телефона и под данную версию программного обеспечения. После установки все необходимые файлы помещаются в папку c:\wintesla по умолчанию. Прошивки различаются не по номеру модели Nokia, а по её типу. То есть каждой модели соответствует свой тип. Его можно посмотреть например при определении версии в телефоне, путём нажатия комбинации *#0000# или на задней крышке на наклейке. Ниже приведён перечень для данного поколения Nokia.

Слева пишется тип модели, а справа – сама модель. Соответственно и прошивки следует искать по типу, например инсталляционный пакет для 3310 (NHM-5) будет имеет следующий вид:
NHM-5_6.07.exe – как можно заметить, версия прошивки здесь 6.07. После установки, в папке c:\wintesla появится папка NHM-5, в которой и будут находится файлы нашей прошивки.

Если провести сортировку по размеру, от максимального до минимального, то можно заметить, что одним из самых больших файлов является nhm5ny06.070 – при этом его расширение будет заканчиваться на «0» . Этим файлом является главная (main) прошивка – mcu. Формально mcu – это операционная система телефона – firmware. При этом языковой пакет в эту часть прошивки не входит, его следует прошивать отдельно. Из приведённого выше списка видно, что расширения всех остальных файлов в папке NHM-5 за4канчиваются на одну из букв алфавита, каждой из которых соответствует определённый языковой пакет, а следовательно и набор языков в меню. Например наличие русского языка определяет буква «е», то есть файл nhm5ny06.07e является языковым пакетом с наличием русского языка и обозначается как ppm.
Отдельно можно перепрограммировать и EEPROM, но в практических целях при смене версии программного обеспечения или русификации, он не играет роли. Лишь в случаях, когда нарушается его целостность. Например при аппаратной или программной поломке, на дисплее может появиться надпись CONTACT SERVICE или телефон например уйдёт в состоянии, когда он будет закодирован сразу под всех операторов (4 locks), что с первого раза можно действительно принять под операторскую кодировку. Но если поставить телефон на NokiaTool18, то вычитав о нём информацию, увидим, что все 4 возможные операторские кодировки – закрыты (CLOSE). Вот в таких случаях следует полностью перепрограммировать телефон, залить в него фуллфлеш (fullflash), mcu+ppm+eep. Следует помнить, что при замене области EEPROM другой (обычно они называются девственные – пустые), у нас появится некорректный заводской номер телефона IMEI, залитый вместе с чужим EEPROM. Поэтому следует после фуллфлеша исправить IMEI с помощью того же NokiaTool18.

Что нужно сделать:

1. Обязательно!!! Считать флэш вашего телефона (на случай если потребуется вернуть все назад).
2. Залить необходимый флэш файл (MCU+PPM) в телефон. Для русификации телефона достаточно закачать PPM с такой же версией прошивки.
3. После того как вы зальете в телефон новую прошивку, вам необходимо отключить кабель от телефона. Затем снять и вставить батарею. После этого телефон должен нормально включаться и выключаться, единственная проблема в том, что он не сможет зарегистрироваться на базовой станции. При включении - будет находить сеть на короткий промежуток времени, потом терять и через несколько секунд перезагружаться. Если телефон не включается, или при включении на экране ничего не появляется либо загорается надпись "Contact Service" или "Wrong DSP SW", значит, во время прошивки произошел какой-то сбой. Может быть используемый вами флэш-файл поврежден или прошивка не подходит для данной версии телефона (используемая электроника различается для каждой конкретной версии) и вам нужно поискать другую прошивку.
4. Если все в порядке и телефон нормально включается - подключите MBUS-шнур и запустите программу для обновления FAID (программ таких в последнее время появилось не мало, к примеру, флэшер Knok - кроме функций флэширования может также выполнять обновление FAID). Включите телефон и нажмите кнопку "F1" - для nk_calk ("Update Faid" - для Eeprom Tools 3.1). Программа считает данные с вашего телефона, и затем в течении двух/трех секунд обновит FAID, выключите телефон затем опять включите и он снова найдет сеть. Рекомендуется после обновления прошивки сделать сброс установок телефона к заводским.