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

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


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

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

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

test

  • Гость

по-файлово, конечно). скачиваю один файлик qtools-newloader.zip).

пока не работает. или не разобрался.
тут нормально, вроде:
Download mode port #: 16

 Найден блок идентификации загрузчика
 Чипсет: MDM9x00
 Файл загрузчика: nloader\ENPRG9x00p.bin
 Адрес загрузки: 40012000
 Размер файла: 183720
 Загружено: 183720
 Запуск загрузчика...ok
а тут на qrflash виснет:
Bootloader port #: 16
Записан

forth32

  • Гость

В будущем сразу показывай командую строку, которую используешь для запуска утилиты. А не только вывод утилит.
Попробуй, во-первых, указать в qdload ключи -d50 -i, чтобы сразу там же и проинициализировать загрузчик. Если не получится, попробуй запусти qcommand с ключом -i,
Ключи -k нигде указывать уже не нужно.
Записан

test

  • Гость

уже ближе к телу)...
Download mode port #: 16

 Найден блок идентификации загрузчика
 Чипсет: MDM9x00
 Файл загрузчика: nloader\ENPRG9x00p.bin
 Адрес загрузки: 40012000
 Размер файла: 183720
 Загружено: 183720
 Запуск загрузчика...ok

Bootloader port 1#: 16
 Отсылка hello...ok
 Чипсет: MDM9x00  (81200000)
 Флеш-память: ST Micro NAND01GR3B2CZA6    , NAND 128MiB 1,8V 8-bit
 Версия протокола: 3
 Максимальный размер пакета: 1024 байта
 Размер сектора: 512 байт
 Размер страницы: 2048 байт (4 секторов)
 Размер OOB: 64 байт
 Тип ECC: R-S, 4 бит
 Общий размер флеш-памяти = 1024 блоков (128 MB)

>

после Bootloader port 1#: 16 отрабатывается qcommand с ключом -i.
Записан

test

  • Гость

пошла жара)))...
Download mode port #:
Bootloader port 1#:

 - Последовательный порт COM-i не открывается
Bootloader port 2#: 16

 Версия таблицы разделов: 3
 #  адрес    размер   атрибуты ------ Имя------
00 00000000  0000000a  00ffffff  0:MIBIB
01 0000000a  00000006  00ffffff  0:SIM_SECURE
02 00000010  00000003  00ffffff  0:FSBL
03 00000013  00000005  00ffffff  0:OSBL
04 00000018  0000001b  00ffffff  0:AMSS
 * R: блок 00000006 (25%)

маленький косячек).
если после Download mode port #: , где отрабатывается qdload не вводить номер порта (тоесть пропустить) и нажать кн. энтер на клаве, то выскакивает окно с ошибкой винды. а должно быть как ниже и раньше -  - Последовательный порт COM-i не открывается. вроде так.

вот еще. не виденное ранее:

 #  адрес    размер   атрибуты ------ Имя------
00 00000000  0000000a  00ffffff  0:MIBIB
01 0000000a  00000006  00ffffff  0:SIM_SECURE
02 00000010  00000003  00ffffff  0:FSBL
03 00000013  00000005  00ffffff  0:OSBL
04 00000018  0000001b  00ffffff  0:AMSS
05 00000033  0000001b  0000ffff  0:DSP1
06 0000004e  00000196  0000ffff  0:DSP2
 * R: блок 00000007 (1%)
 Ошибка в процессе обработки команды чтения, требуется 4 байт, получено 5
 * R: блок 000000d5 (52%)
Записан

test

  • Гость

повторно - и опять ошибка чтения:
06 0000004e  00000196  0000ffff  0:DSP2
 * R: блок 00000002 (0%)
 Ошибка в процессе обработки команды чтения, требуется 4 байт, получено 5
 * R: блок 00000163 (87%)
интересно то, что жтаг-ом отчиталось без ошибок.

и еще косячек вначале. не знаю, заметил ты или нет.
после вывода текста в qcommand по -i появляется командная строка > и все)...
 Общий размер флеш-памяти = 1024 блоков (128 MB)

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

все, нах, спать)...
Записан

forth32

  • Гость

если после Download mode port #: , где отрабатывается qdload не вводить номер порта (тоесть пропустить) и нажать кн. энтер на клаве, то выскакивает окно с ошибкой винды.

Ты совершенно зря используешь такие вот глобальные скрипты, которые грузят загрузчик, а потом еще пытаются что-то сделать. Лучше загружай загрузчик отдельно, и потом руками запускай нужную утилиту. Скрипт твой вносит дополнительный глюки. В данном случае - ключ -i почему-то стал восприниматься как аргумент ключа -p.
и еще косячек вначале. не знаю, заметил ты или нет.
после вывода текста в qcommand по -i появляется командная строка > и все)...
Так это штатное его поведение. Если нужен выход из qcommand после инициализации, то нужно указывать -c"i",
Ошибка в процессе обработки команды чтения, требуется 4 байт, получено 5
А вот это мне совершенно непонятно. У меня такой косяк ни разу не вылезал. Но у меня и нет железок на 9х00. Но чипсет 8200, на которм сделан MF667, очень похож, по идее должно и там проявляться. Возможно, что дело в винде - я только под линуксом тестировал.
Записан

test

  • Гость

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

читаю проблемный дсп1. опять:
 Версия таблицы разделов: 3
 #  адрес    размер   атрибуты ------ Имя------
06 0000004e  00000196  0000ffff  0:DSP2
 * R: блок 00000002 (0%)
 Ошибка в процессе обработки команды чтения, требуется 4 байт, получено 5
 * R: блок 00000007 (1%)
 Ошибка в процессе обработки команды чтения, требуется 4 байт, получено 5
 * R: блок 000000c2 (48%)

хотя перед этим считалось одним файлом без ошибок.

сижу уже за этим компом, как последний задрот))). так интересно)...
Записан

test

  • Гость

ничё не понимаю...

не перегружая модем читаю дсп еще раз. первые блоки прошли без проблем.
 Версия таблицы разделов: 3
 #  адрес    размер   атрибуты ------ Имя------
06 0000004e  00000196  0000ffff  0:DSP2
 * R: блок 0000006a (26%)

да, не мог бы объяснить чайнегу).
pt-r понимаю полностью. чего, сколько и где.
а вот pt-w до сих пор остается загадкой)...
Записан

test

  • Гость

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

forth32

  • Гость

Насчет пустого параметра в ключе -p - так делать нельзя. Ключ требует параметр, и если его не указать - в качестве параметра будет выбран следующий клюк командной строки. То есть у тебя получается
-p -i
И параметром ключа -p будет считаться "-i". О чем кстати программа тебе и сообщила. Это может привести к совершенно невообразимым глюкам. Если не хочешь указывать порт - вообще не вводи в командную строку ключ -p.

Глюки с чтением посмотрю, когда доберусь до рабочего компа. Вечером или завтра утром.
Записан

test

  • Гость

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

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

да. про pt-w не забудь)...
« Последнее редактирование: 25 Апреля 2015, 08:53:59 от test »
Записан

test

  • Гость

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

test

  • Гость

попробовал потереть-пописать 9600. вытер все 400 блоков. с совсем пустыми мозгами модем никак не определился, кстати. потом записал фулл. модем заработал.
Download mode port #: 16

 Найден блок идентификации загрузчика
 Чипсет: MDM9x00
 Файл загрузчика: nloader\ENPRG9x00p.bin
 Адрес загрузки: 40012000
 Размер файла: 183720
 Загружено: 183720
 Запуск загрузчика...ok

Bootloader port #: 16

 Отсылка hello...ok
 Чипсет: MDM9x00  (81200000)
 Флеш-память: ST Micro NAND01GR3B2CZA6    , NAND 128MiB 1,8V 8-bit
 Версия протокола: 3
 Максимальный размер пакета: 1024 байта
 Размер сектора: 512 байт
 Размер страницы: 2048 байт (4 секторов)
 Размер OOB: 64 байт
 Тип ECC: R-S, 4 бит
 Общий размер флеш-памяти = 1024 блоков (128 MB)

 Запись из файла full.bin, стартовый блок 000, размер 400
 Режим записи: сырой образ без расчета ЕСС
 Формат данных: 512+16
 Блок: 00b2   Страница: 2c

в задницу cdma)))... через час выдвигаемся. я на велике через патона к пешеходному. с заездом на бухару за белым. на трухановом ловим рыбу). кто хочет и может - присоединяйтесь)))...
« Последнее редактирование: 26 Апреля 2015, 10:30:34 от test »
Записан

forth32

  • Гость

тоесть раньше защита от дурака - нельзя не вводить номер порта - срабатывала корректно. с соотв. сообщением и возможностью дальнейшего продолжения работы скрипта

Под линуксом данная проблема себя не проявляет  - там другая логика работы с последовательным портом. Но вообще я не представляю, как защититься от указания любого мусора в качестве имени последовательного порта. Cиcтема пытается выполнить open("com-i","r+"), и как на это отреагирует винда я даже не представляю.
Короче говоря, в твоих скриптах надо организовать проверку указания номера порта, если строка пустая - вообще не запускать команду.
могу ли я, указав диапазон записи, не нарезать нужный файл необходимой длины, который будет писаться с нуля, а подсунуть фулл, в котором будет определяться и стартовый адрес и необходимая длина?
В смысле, указывать смещение внутри записываемого файла?  Сейчас нет, но легко могу сделать.
Записан

forth32

  • Гость

Да, кстати, насчет филосовских вопросов о вводе модемов в режим загрузки.
Вот у Huawei на модемах E3372 (чипсет Balong V7R2) штатно предусмотрен пин форсированной USB-загрузки. То есть при его замыкании PBL даже не пытается читать флешку, а сразу грузит загрузчик через USB. И в документации, идущей с прошивками, имеется картинка платы модема и рекомендация замкнуть между собой 2 указанных пина.
Вот это я понимаю, забота о пользователях...
Записан