Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MDM9215 (SIM7100E) #11

Open
happycorsair opened this issue Apr 23, 2017 · 5 comments
Open

MDM9215 (SIM7100E) #11

happycorsair opened this issue Apr 23, 2017 · 5 comments

Comments

@happycorsair
Copy link

happycorsair commented Apr 23, 2017

Здравствуйте, товарищи разработчики.
Спасибо за Ваш труд, набор утилит очень полезный.

Теперь, если позволите, к проблеме.
Имеется модем SIM7100E PCI-E, построенный на базе Qualcomm MDM9215.

  1. Если модем жив-здоров, то его прошивка легко и просто сливается по инструкции уважаемого @vvevvevve . Выглядит это так:
./qdload -p /dev/ttyUSB0 -i loaders/NPRG9x15p.bin

 Найден блок идентификации загрузчика
 
Файл загрузчика: loaders/NPRG9x15p.bin
 Адрес загрузки: 41700000
 Размер файла: 63816
 Загружено: 63816
 Запуск загрузчика...ok
 Версия HELLO-протокола: 3
 Чипсет: MDM9x15
 Базовый адрес NAND-контроллера: 1b400000
 Флеш-память: Elite Semiconductor FM6AD2G1GA, NAND 256MiB 1.8V 8-bit
 Размер сектора: 512 байт
 Размер страницы: 2048 байт (4 секторов)
 Число страниц в блоке: 64
 Размер OOB: 64 байт
 Тип ECC: R-S, 4 бит
 Размер ЕСС: 10 байт
 Размер spare: 5 байт
 Положение маркера дефектных блоков: user+1d1
 Общий размер флеш-памяти = 2048 блоков (256 MB)

./qrflash -p /dev/ttyUSB0 -m
00       0  00000a   ff ff ff 00   STD   0:MIBIB
01       a  00001b   ff ff 00 00   STD   0:SBL2
02      25  00001b   ff ff 00 00   STD   0:RPM
03      40  000053   ff ff ff 00   STD   0:EFS2
04      93  00001f   ff 01 00 00   LNX   0:DSP1
05      b2  000052   ff 01 00 00   LNX   0:DSP3
06     104  000196   ff 01 00 00   LNX   0:DSP2
07     29a  000062   ff ff 00 00   STD   0:APPSBL
08     2fc  000052   ff ff 00 00   STD   0:APPS
09     34e  000203   ff ff ff 00   STD   0:CACHE
10     551  00000b   ff ff ff 00   STD   0:MISC
11     55c  000053   ff ff ff 00   STD   0:RECOVERY
12     5af  00000b   ff ff ff 00   STD   0:FOTA
13     5ba  0000b7   ff ff ff 00   STD   0:RECOVERYFS
14     671  000144   ff ff ff 00   STD   0:SYSTEM
15     7b5  00004b   ff ff ff 00   STD   0:USERDATA

qrflash -p3 -x -b0 -l0 -o rawdump.bin

 Чтение блоков 00000000 - 000007ff
 Формат данных: 512+16
 Блок: 000007ff

Первые 2 команды запускались из-под Linux, но это не суть (кстати, под Linux есть проблемы, но это отдельная тема). Таким образом, патченный NPRG-загрузчик спокойно попадает на модем и выполняет свою работу.

  1. Проблема возникает, когда я пытаюсь прошить модем, находящийся в аварийном Download Mode (SimTech HS-USB QDLoader 9008). Не могу загрузить ENPRG-загрузчик никак. Выглядит это как-то так:
qdload.exe -p9 -k4 -a 2A000000 -i loaders\ENPRG9x15p.bin

 Файл загрузчика: loaders\ENPRG9x15p.bin
 Адрес загрузки: 2a000000
 Размер файла: 75776
 Загружено: 75776
 Запуск загрузчика...ok
 Отсылка hello... повторный hello возвратил ошибку!
00000000: 7e 0d 08 00 00 00 55 6e 72 65 63 6f 67 6e 69 7a  *~.....Unrecogniz*
00000010: 65 64 20 66 6c 61 73 68 20 64 65 76 69 63 65 53  *ed flash deviceS*
00000020: b2 7e                                            *.~              *

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

Производитель поставляет собственные загрузчики в составе прошивки, на всякий случай размещаю их тут: http://rgho.st/8pqLC2nqq

Очень надеюсь, что вы сможете чем-то помочь в данной ситуации. Готов оказывать всяческое содействие.

@IkarUa
Copy link

IkarUa commented Apr 25, 2017

ENPRG9x15p1.zip
Вроде парни выложили, как делать загрузчики. Попробуй таким.

@happycorsair
Copy link
Author

Привет, @IkarUa
Спасибо тебе огромное, загрузчик завелся. Очень выручил. Судя по всему, ты даже не поленился вчера зарегаться на гитхабе. Спасибище!!!
Инструкция лежит в doc/patch_loader.odt? Ты просто взял, перевел *.hex в *.bin и сделал загрузчик вместо меня?

@IkarUa
Copy link

IkarUa commented Apr 26, 2017

Привет!
Этот загрузчик сделал раньше. Твой не трогал, хотя можно было и пропатчить его. Проверь или правильно читает-пишет, поскольку возможны варианты со spare областью.

@happycorsair
Copy link
Author

Он читает (либо пишет) не совсем правильно, но достаточно правильно, чтобы я смог воспользоваться вендорной утилитой восстановления. На досуге запилю свой загрузчик по инструкции. Еще раз огромное спасибо!!!

@Akhmed29
Copy link

Akhmed29 commented Oct 27, 2024

Он читает (либо пишет) не совсем правильно, но достаточно правильно, чтобы я смог воспользоваться вендорной утилитой восстановления. На досуге запилю свой загрузчик по инструкции. Еще раз огромное спасибо!!!

Вы сделали свой загрузчик или у ко есть firehose?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants