пятница, 4 марта 2016 г.

Balong USB Downloader. Аварийная загрузка usbloader.bin на Huawei и восстановление прошивки.

В этом посте я вкратце расскажу про небольшую Windows утилиту с GUI интерфейсом Balong USB Downloader, предназначенную для для аварийной USB-загрузки модемов на чипсете Balong V2R7 и V2R11. Утилита позволяет загрузить внешний загрузчик-прошивальщик через аварийный USB-serial порт загрузки, создаваемый модемом при повреждении прошивки или замыкании на землю контакта аварийной загрузки на плате модема.

Balong USB Donwloader полностью переписана на Object Pascal (Delphi), основываясь на исходниках проекта уважаемого forth32 - balong-usbdload. Т.е. фактически это не надстройка и не оболочка над консольной версией balong-usbdload, а полноценное Win32 приложение, написанное "с нуля".

На тему модемов и роутеров Huawei, основанных на чипсетах Balong существует уже немало информации (в основном благодаря вкладу таких пользователей, как forth32, rust3028, vve и других), с которой вы можете ознакомиться на профильных форумах. Аварийный загрузчик в этих модемах запускается при замыкании соответствующего контакта на плате модема на землю, либо при повреждении прошивки устройства. Загрузчик стартует автоматически и берет на себя управление прошивочным процессом. Именно для загрузки аварийного загрузчика в модем и предназначена эта утилита. Сами загрузчики для различных моделей модемов в комплект не входят. Важное замечание - фирменные Huawei'еские загрузчики usbloader.bin при старте производят форматирование разделов модема, включая NVRAM, поэтому для восстановления прошивки на модеме без потери текущего содержимого NVRAM они не подходят. Однако, благодаря forth32 для некоторых устройств были собраны альтернативные загрузчики - usbsafe-xxx.bin, которые не затирают NVRAM и запускают процесс прошивки.

Таким образом, используя патченный (альтернативный) аварийный загрузчик, можно перепрошить устройство на любую версию прошивки, даже если штатно обновление прошивки заблокировано и сделать массу других вещей. Ну а для загрузки аварийного загрузчика в устройство, как раз и предназначена Balong USB Downloader. Тема использования аварийного загрузчика для восстановления прошивки и т.п. достаточно объемная, поэтому рассматривать ее в этом посте я не буду (это как раз тема для отдельной статьи). Здесь мы лишь ограничимся рассмотрением возможностей самой программы.


Основные возможности утилиты:
  • Работа с аварийным USB-serial портом загрузки (BOOT_3G), возможность загрузки внешнего загрузчика-прошивальщика.
  • Полноценный user-friendly ;) GUI интерфейс. 
  • Определение имен, а также VID/PID всех COM-портов и модемов в системе по нажатию кнопки "1. Detect".
  • Автоматический выбор BOOT_3G порта в списке по VID_12D1&PID_1443, данный порт автоматически помечается в списке найденных устройств как [BOOT_3G].
  • Отображение системной информации о структуре секций аварийного загрузчика. Подсчет количества пакетов при загрузке.

Что планируется?
  • Добавить картинки и краткие инструкции по поиску контакта аварийной загрузки на плате.
  • Рассмотреть возможность автоматического старта процесса загрузки выбранного usbloader.bin сразу же после появления порта BOOT_3G в системе.
  • Вынесение работы с COM-портом в отдельный поток, чтобы во время процесса загрузки его можно было прервать и чтобы не создавалось ощущение того, что программа зависла, не отвечает в случае если вы выбрали не тот COM-порт для загрузки.

История версий 
  • 1.0.0.5  - первая полнофукцниональная beta приложения.
  • 1.0.1.10 - первый релиз (предпоследняя цифра номер релиза) приложения. Исправлены ошибки предыдущих версий. Добавлена полоска progress bar'а для визуализации прогресса загрузки.


Использование утилиты Balong USB Downloader совместно с патченным загрузчиком usbsafe-xxx.bin я рассмотрю в одном из следующих постов на конкретном примере, а именно - обновлении / даунгрейде прошивки модема МТС 829F/827F (Huawei E3372H) 21.315.01.00.143 на любую другую. Как известно (по сообщениям пользователей), модем с данной версией прошивки является "непрошиваемым", т.е. при попытке понизить версию прошивки модем "вываливается" из режима прошивки в рабочий режим, однако, с помощью загрузки аварийного загрузчика с помощью Balong USB Downloader и метода "иголки" можно залить в него любую прошивку. Этим мы и займемся в одном из следующих постов ... 

11 комментариев :

  1. I need urgently Balong USB Downloader. Please help with download link.

    ОтветитьУдалить
  2. Thank you so much, yesterday link was not working.

    ОтветитьУдалить
  3. Dear Decker,

    Nice job, Thanks!
    I hope it could you help for me too.
    Because I have a E5186s-22a modem what I could not use after trials of upgrade/downgrade via Multicast Upgrade Tool.
    Could you tell me which cable needed and how can I connect it to the modem?
    And where can I found usbsafe files for my modem?
    Thank you for your help and replay in advance.

    Device name: E5186s-22a
    Hardware version: CL1E5175HM
    Before upgrade:
    Software version: 21.297.01.01.186
    Web UI version: 16.100.02.00.03
    Provider: ZAIN (Kuwait)

    ОтветитьУдалить
  4. HELLO
    CAN YOU GIVE ME USBLOADER.BIN OF E3531
    THANKS

    ОтветитьУдалить
  5. Forth32 has published the USB loader for E5186 router, but I still don't know how to put this model in BOOT_3G mode. Has anyone any tip about it?

    ОтветитьУдалить
  6. Hi, really good job...
    Is there such a thing (usbloader) for E3131i-2 modem?
    Thanks in advance.

    ОтветитьУдалить
  7. Please help me
    please give me usbloader huawei E5577Cs-603

    ОтветитьУдалить
  8. please i need E5577s-932 standart unpatched usbloader

    ОтветитьУдалить
  9. Hello

    I have bricked a E5180As-22.

    Can you tell where can I find the usbloader for this device ?

    Can I extract it from a E5180 firmwware image or adapt an another usbloader for it ?

    ОтветитьУдалить