Нетобзор - форум про интернет

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Автор Тема: qtools-набор инструментов для работы с flash модемов на чипсете qualcomm  (Прочитано 34888 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Сергей (интертелеком)Автор темы

  • Модератор 3G дилер
  • *
  • Благодарность: +328/-0
  • Оффлайн Оффлайн
  • Сообщений: 1938
  • Город: Каменец-Подольский
  • Модем: разные
  • Провайдер: интертелеком-(представитель)
  • Тариф: дилерский
  • Готов помочь в любое врямя по возможности
Записан
Прошиваю модемы онлайн!
Подключаю к Интертелекому онлайн   CDMA iPhone 4 и iPad 2                                                                                   На вооружении имеется -    DC-Unlocker.   DFS Evolution.   RIFF Box.   Omnia Repair Tool.   Medusa Box.   Volcano box

sandrey

  • Модератор
  • *
  • Благодарность: +117/-0
  • Оффлайн Оффлайн
  • Сообщений: 476
  • Город: Херсон
  • Модем: Haier CE81B/Huawei UML397/Pantech UML295
  • Провайдер: IT
  • Тариф: Сцупер безлимит 100
  • Антенна: 17 dBi GammaX

Все содержимое проекта можно скачать одним архивом https://github.com/forth32/qtools/archive/master.zip
Для своих целей я взял проверенный вариант у уважаемого товарища vve http://vve.su/vvesu/files/misc/qtools_win.zip
Записан
Восстановление софтово убитых модемов/роутеров с помощью qtools,QPST

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

тема эта далеко не самая легкая в понимании. тем более приятно видеть, что sandrey в ней уже достаточно продвинулся. мало того, мне даже было приятно ему помогать, видя стремление человека разобраться.

sandrey

  • Модератор
  • *
  • Благодарность: +117/-0
  • Оффлайн Оффлайн
  • Сообщений: 476
  • Город: Херсон
  • Модем: Haier CE81B/Huawei UML397/Pantech UML295
  • Провайдер: IT
  • Тариф: Сцупер безлимит 100
  • Антенна: 17 dBi GammaX

Вот, для примера, снял дамп кусками с роутера Pantech 291.Отправлять в download mode его можно командой <fastboot reboot> (естественно перед этим нужно перевести его в фастбут режим командой <reboot-bootloader> в консоли). флешка в нем имеет такую же геометрию,как и у uml295 - 2048+64. Но блоков в ней не 2048,а 4096 - поэтому её объём - 512 МБ :)
Скрытый текст
Записан
Восстановление софтово убитых модемов/роутеров с помощью qtools,QPST

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

и мне захотелось затестить. проц 8200. читает чего-то))).

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

пару впечатлений от первого юзанья.
написатель софта юморист). команду QCOM fast download protocol host он обозвал как hello).
на первоначальное понимание потребовалось несколько минут. поизучал ключи программы. очень удобно делать так, например:
@echo off
qcommand.exe -help
pause
слитый программой бинарник сравнил с riff-овским. основное отличие - спаре (0x10 байт после каждой странички в 0х200 байт) складываются не в конце файла, как у рифф-а, а по ходу считывания (тоесть через 0х200), как у жтаг-а мегаславы.
ну и с учетом перевода в даунлоад (не просто по 3a) и других особенностей поведения аппарата в даунлоаде юзал этот софт с другим. хотя со временем, если разобраться получше, возможно хватит и его одного.

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

захватывающая игрушка, однако).
начал играться с ключами, почти не приходя в сознание).
получил вывод файлов прямо по партишину.
так интересно)))...
а чего ж дальше то будет?)...

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

почти финальная часть исследований).
читать флешку мы типа научились, теперь надо попробовать ее тереть и писать.

в кроликах у меня модем zte mf667. вернее даже 4шт.) вчера их успешно от-jtag-ил и даже скрутил в корпуса. есть над кем(чем) поиздеваться))).

теперь об особенностях.
на проц 8200 я нашел только NPRG загрузчик (выдрал когда-то из прошивки). ENPRG не нашел.
тоесть, у меня есть инструмент для обычного даунлоада. а вот для EMERGENCY, тоесть когда модем висит с бута в процике - нет.
значит, нам нужно убить его очень аккуратно, не доводя до состояния, когда без ENPRG просто не обойтись и модем опять надо разбирать и цеплять на jtag.
когда-то я нашел такой способ). в модеме нужно затереть файлик прошивки dsp1.
по картинке выше данные у нас есть. начальный блок 0х37, длина - 0х1b.
затираем - картинку внизу первая.

теперь пишем. тот же кусок dsp1. это 5-тый файл по партишину. соответственно в файлике для запуска это выглядит так: -w 05:dsp1.bin.
хочу обратить внимание, что запись со спаре не пошла. пришлось из фулла (где все спаре в конце файла) выдернуть нужный кусок и сохранить его под именем dsp1.bin.
картинка с записью у нас вторая.

после этих процедур модем вначале успешно скончался))), а потом также успешно ожил и заблымал зеленым огоньком с карточкой утела).

forth32

  • Новичок
  • *
  • Благодарность: +7/-0
  • Оффлайн Оффлайн
  • Сообщений: 68
  • Город: Санкт-Петербург

А вам нужен загрузчик ENPRG8200, пропатченный для работы с qtools?
Если кому-то надо, могу сделать и положить в тот же репозиторий. Если нет - то и время терять на него не буду.

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

А вам нужен загрузчик ENPRG8200, пропатченный для работы с qtools?
Если кому-то надо, могу сделать и положить в тот же репозиторий. Если нет - то и время терять на него не буду.
можно было бы затестить. пока не отдал модемы клиенту. разберу и подпаяю к жтагу, если даже софтово не получится.
а вообще, есть вопросы по работе программы.
для стирания-записи использовал разные NPRG. потому как из архива работал только в одном случае.
адрес загрузки ENPRG для 9х00 из текстового файлика не сработал. взял найденный загрузчик, указал адрес загрузки, который в нем - загрузился, запустился - но ошибка 05, не патченный наверное. хотя в qpst отрабатывает.
по добавке проциков-флешей. когда-то плотно общался с товарищем из германии, пока он не забросил свой проект. очень было удобно вносить все изменения в файлик jtagdevices.xml. тут, насколько я понимаю, для нового процика нужно просто добавить адрес FLASH_CMD?
но прога, в целом, работает. и это главное). спасибо.

sandrey

  • Модератор
  • *
  • Благодарность: +117/-0
  • Оффлайн Оффлайн
  • Сообщений: 476
  • Город: Херсон
  • Модем: Haier CE81B/Huawei UML397/Pantech UML295
  • Провайдер: IT
  • Тариф: Сцупер безлимит 100
  • Антенна: 17 dBi GammaX

а возможно ли сделать патченные загрузчики мдм6200 nprg,enprg(во вложении) - по идее для 6600 загрузчик такой же.хочу попробовать считать флешку в довнлоаде(в довнлоад переходит по 3a - загружается Q62xx-OSBL).например в кпст я пытаюсь залить какой-нибудь раздел в user partitions - загрузчик вроде как отрабатывает,но дальше при заливки любого раздела вываливается ошибка - Timeout waiting for ACK.
т.е. для начала мне надо проверить- подходят ли эти загрузчики для проца mdm6600
адреса -
 nprg - 00800000
 enprg - 20012000

Записан
Восстановление софтово убитых модемов/роутеров с помощью qtools,QPST

forth32

  • Новичок
  • *
  • Благодарность: +7/-0
  • Оффлайн Оффлайн
  • Сообщений: 68
  • Город: Санкт-Петербург

можно было бы затестить. пока не отдал модемы клиенту. разберу и подпаяю к жтагу, если даже софтово не получится.

Ну вот и отлично. Я пропатчил его и выложил в тот же репозиторий, в каталог loaders/ENPRG8200p.bin.  Заодно и проверим этот загрузчик. Адрес загрузки - 58020000. При загузке через qdload, как и при работе с другими утилитами, не забудь указать ключ типа чипсета  -k1, иначе повиснет при попытке настроить конфигурационные регистры.

адрес загрузки ENPRG для 9х00 из текстового файлика не сработал. взял найденный загрузчик, указал адрес загрузки, который в нем - загрузился, запустился - но ошибка 05, не патченный наверное. хотя в qpst отрабатывает.

Ну, естетсвенно, с чужими непатченными загрузчиками утилиты кооректно работать не смогут. Я тут исправил ряд ошибок в qdload, сейчас все отлично загружается. Пример для модема MF667 на чипсете 8200 (он почти не отличается от 9x00):
forth32@core:~/zte/qtools$ ./qdload -i -t -k1 -d20 -a100000 loaders/NPRG8200p.bin

 Загрузка файла loaders/NPRG8200p.bin
 Адрес загрузки: 00100000
 Размер файла: 150988
 Загружено: 150988
 Запуск загрузчика...ok
 Отсылка hello...ok
 Флеш-память: Elite Semiconductor ESMT_FM6AD1G12A, NAND 128MiB 1,8V 8-bit
 Версия протокола: 3
 Максимальный размер пакета: 1024 байта
 Размер сектора: 512 байт
 Размер страницы: 2048 байт (4 секторов)
 Размер OOB: 64 байт
 Тип ECC: R-S
 Общий размер флеш-памяти = 1024 блоков (128 MB)
-----------------------------------------------------
 * Найдена таблица разделов режима чтения
 * Найдена таблица разделов режима записи
Есть один тонкий момент - загрузчик NPRG9x00 отключает свой USB-порт, а затем подключает снова, что занимает определенное время. Теперь в утилите qdload я сделал ключ -d, похволяющий выставить время ожидания инициалицации загрузчика. Задержка времени указывается в 0.1с. (-d20 - это 2 секунды).  Так что рекомендую пересобрать утилиты из исходников заново - скорее всего, теперь все будет работать.
Кроме того, я добавил в тот же какталог loaders загрузчик NPRG9x00alc_p.bin (мне его сегодня прислал известный всем VVE), который не отключает USB-порт и вообще ведет себя более корректно.
Записан

forth32

  • Новичок
  • *
  • Благодарность: +7/-0
  • Оффлайн Оффлайн
  • Сообщений: 68
  • Город: Санкт-Петербург

тут, насколько я понимаю, для нового процика нужно просто добавить адрес FLASH_CMD?
Минимально - да. Правда, это придется делать по всем утилитам, я все собираюсь причесать код и собрать базовые адреса контроллеров в одно место.
Но, кроме адреса, там могут быть еще некоторые тонкости, связанные с настройкой конфигурационных регистров CFG0, CFG1 и ECC_CFG под параметры флешки. На том же модеме MF667, например, флаг BAD BLOCK оказался размещенным в области пользовательских данных, по смещению 1D0 от начала сектора. Если CFG0 настроить неправильно, то из этого места будет стабильно читаться FF, а один байт пользовательских данных каждого сектора теряться безвозвратно. Я буквально только вчера это заметил и исправил в утилитах.
Записан

forth32

  • Новичок
  • *
  • Благодарность: +7/-0
  • Оффлайн Оффлайн
  • Сообщений: 68
  • Город: Санкт-Петербург

а возможно ли сделать патченные загрузчики мдм6200 nprg,enprg(во вложении)
Да пожалуйста. NPRG я сделал, лежит в репозитории - loaders/NPRG6695p.bin. Но проверить мне его сейчас не на чем. ENPRG сделаю на неделе, как время появится.

Но для работы с этими загрузчиками мне надо еще знать базовый адрес NAND-контроллера этого чипсета. Тогда я добавлю его в утилиты, и можно будет с этим чипсетом работать.

test

  • Модератор форума
  • *
  • Благодарность: +218/-0
  • Оффлайн Оффлайн
  • Сообщений: 1174
  • Об888ббЧ95

mf667 ENPRG.
изначально QDloader 9008 - 05c6:9008.
потом порт 16 (см. рис) закрывается и появляется другой по номеру порт 19d2:9008.
execute не срабатывает. 7e05 в ком. строке сторонней софтины возвращается с ошибкой.

да, ENPRG9x00 пока нет, я так понимаю)...

вот чего еще. на mdm9600 под купстей в ENPRG порт тоже ребутится. но вид-пид и номер порта соответственно не меняется и процесс продолжается. тоесть флешка пишется потом.
« Последнее редактирование: 12 Апрель 2015, 20:39:51 от test »
Записан

 

+ Быстрый ответ