Прошивка DSL-2750U через программатор

В виду разных обстоятельств, а именно, в большинстве случаев от невнимательности и от неумения читать/дочитывать инструкции от производителей, модем DSL-2750U зачастую выходит полностью из строя при попытке его перепрошивки традиционным методом. Вплоть до того, что модем вообще не подает признаков жизни, даже по интерфейсу UART, а так же не светится ни одним индикатором.

В данной инструкции описана процедура программирования flash памяти этого модема, что называется на «коленке».

Что потребуется:

  • Внимательность и аккуратность.
  • Владение паяльником, пинцетом (предполагается, что у вас есть опыт работы с микросхемами).
  • 4 резистора по 100 Ом.
  • LPT Коннектор.
  • Преобразователь для UART на MAX232 или подобный и работа с ним.

Принципиальная схема соединения MX25L6445E-M2I-10G с компьютером:

схема соединения MX25L6445E-M2I-10G с компьютером

Принципиальная схема соединения с LPT

Обращаем внимание на важные моменты по схеме

1. Очень важно аккуратно отпаять 1, 2, 5 и 6 выводы микросхемы. Например, можно выпаивать и чуть вверх приподнимать по одной ножке с помощью проволочки от 4-ех жильного телефонного провода. Остальные выводы трогать ненужно, чтобы не организовывать отдельное питание для микросхемы 3.3 вольта. Питаться микросхема будет от самого модема. Важно посадить на GND выводы LPT коннектора с 18-го по 25-й, а так же перемкнуть выводы 6 и 10 согласно схеме.

микросхема флеш на плате dsl2750u

Поддеваем проволочку под ножку, нагреваем ножку паяльником и аккуратно тянем

2. Далее согласно схеме выше (рис 1) припаиваем проводки через резисторы к LPT коннектору. Обратите внимание, проводки не должны превышать длину 10 см. GND можно подключить к выходу GND разъема UART на плате модема (оранжевый провод на фотографии):

припаеваем провода к LPT коннектору

Припаеваем провода к LPT коннектору. Провода не более 10 см

После пайки садим компьютер на UPS. Блок питания модема тоже не лишне будет посадить на UPS. Подключаем LPT коннектор к компьютеру. Не подключайте разъем на работающем компьютере! В настройках BIOS’a включаем LPT и выставляем ему режим SPP. Далее загружаем систему. Включаем блок питания модема.

Скопируйте программу SPI Flash Programmer в корень диска где установлена ваша система (обычно это диск «С»). Не используйте каталоги в именах которых есть пробелы.

Запускаем ее. Возможно при первом запуске программа выдаст ошибку. Ничего страшного. В программе в первую очередь выбираем свою микросхему (см. рис. 4 (1)). Далее нажимаем кнопку чтения ID микросхемы (2). Должна отобразиться информация о микросхеме как на рисунке 5. У меня она определилась как MX25L6405. Если на этом этапе что-то не отображено или установлено как «Unknown», значит что-то пошло не так. В этом случае проверьте правильность пайки, отсутствие «соплей» на плате модема, длину проводов, резисторы, работоспособность LPT порта, включен ли блок питания модема в розетку, нажата ли кнопка питания модема. Если все условия выше выполнены, попробуйте поменять режим работы LPT в BIOS’е на EPP или ECP. Там же установите стандартное для LPT порта прерывание (7) и порт 378, убедитесь что ваша система видит LPT порт.

главное окно программы SPI Flash Programmer

Главное окно программы SPI Flash Programmer

После того как ID флешки определено, необходимо стереть ее. Воспользуйтесь в программе кнопкой стирания (3).

Далее открываем dump прошивки этой микросхемы с помощью первой кнопки на панели инструментов программы (дискетка с зеленой стрелочкой). В моем случае файл называется «DSL_2750_v1.0.11_flash_image_96328AVNG_N31.w» любезно предоставленный службой поддержки D-Link. Содержимое должно отобразиться в главном окне программы в шестнадцатеричном виде.

ID микросхемы

ID микросхемы. Не обращайте внимания на возможные каракули вместо русских символов

Ну собственно и сама прошивка — нажимаем кнопку (4). Минут 8-10 и, если все нормально, внизу окна программы, в строке состояния, зеленым цветом будет написано, что микросхема запрограммирована. Сделайте проверку кнопкой (5). Если ошибок не будет так же, зеленым цветом в строке состояния будет сообщено об успешной проверке. Если будут ошибки повторите стирание микросхемы и программируйте снова. Настоятельно рекомендую посадить блок питания модема на UPS.

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

Включаем модем. Сразу должен загореться индикатор питания. Если нет — проверяйте пайку и «сопли» на плате.

Модем уже в работоспособном состоянии и доступен через WEB интерфейс. Его прошивка 1.0.11. Не спешите его (модем) закрывать. Можете тут же прошить модем последней прошивкой 1.0.14 прямо из WEB интерфейса.

Замена MAC-адреса модема

В прошивке которую предоставила служба поддержки зашит MAC адрес не нашего модема. Необходимо этот адрес поменять на свой. Он указан на наклейке на дне модема. Этого можно, конечно, не делать, но существует высокая вероятность того, что ваше устройство работать с провайдером не будет. Представьте если с десяток людей таким образом прошьют 10 модемов и у всех них будет одинаковый MAC адрес.  Для смены MAC адреса потребуется подключение к компьютеру по интерфейсу UART. Сделать это можно через преобразователь на основе микросхемы MAX232. Я не буду расписывать схему и подключение, т. к. предполагается что уж эту операцию вы знаете, раз решились взяться за программирование FLASH памяти.

Распиновка UART на плате модема DSL-2750U

интерфейс UART на DSL-2750U

Распиновка интерфейса UART на DSL-2750U

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

*** Press any key to stop auto run (1 seconds) ***:
CFE version 1.0.37-106.24 for BCM96328 (32bit,SP,BE)
Build Date: Срд Мар 21 08:38:40 UTC 2012 (legath@desk)
Copyright (C) 2000-2009 Broadcom Corporation.
HS Serial flash device: name MX25L64, id 0xc217 size 8192KB
Total Flash size: 8192K with 2048 sectors
Chip ID: BCM6328B0, MIPS: 320MHz, DDR: 320MHz, Bus: 160MHz
Main Thread: TP0
Memory Test Passed
Total Memory: 33554432 bytes (32MB)
Boot Address: 0xb8000000
Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.100
Gateway IP address :
Run from flash/host (f/h) : f
Default host run file name : vmlinux
Default host flash file name : bcm963xx_fs_kernel
Boot delay (0-9 seconds) : 1
Board Id (0-6) : 96328AVNG_N31
Number of MAC Addresses (1-32) : 11
Base MAC Address : 02:10:18:01:00:01
PSI Size (1-64) KBytes : 24
Enable Backup PSI [0|1] : 1
System Log Size (0-256) KBytes : 0
Main Thread Number [0|1] : 0
Voice Board Configuration (0-11) :
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 1

С помощью команды «p» просматриваем что у нас имеется. Обратите внимание на строку «Base MAC Address» — это текущий адрес модема (тот который в восстановительном дампе). Его то и надо заменить на свой.

CFE> p
Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.100
Gateway IP address :
Run from flash/host (f/h) : f
Default host run file name : vmlinux
Default host flash file name : bcm963xx_fs_kernel
Boot delay (0-9 seconds) : 1
Board Id (0-6) : 96328AVNG_N31
Number of MAC Addresses (1-32) : 11
Base MAC Address : 02:10:18:01:00:01
PSI Size (1-64) KBytes : 24
Enable Backup PSI [0|1] : 1
System Log Size (0-256) KBytes : 0
Main Thread Number [0|1] : 0
Voice Board Configuration (0-11) :
*** command status = 0

Меняем адрес при помощи команды «b». Указано также какие кнопки можно жать. Жмем «Enter» (оставить текущее значение) до тех пор пока не покажется строка «Base MAC Address».

CFE> b
Press: <enter> to use current value
‘-‘ to go previous parameter
‘.’ to clear the current value
‘x’ to exit this command
96328avng ——- 0
96328avngrP1 ——- 1
96328avngr ——- 2
96328AVNG_N31 ——- 3
963281TAN ——- 4
963281TAVNG ——- 5
DSL_2600NRU ——- 6
Board Id (0-6) : 3 —
96328avng ——- 0
96328avngrP1 ——- 1
96328avngr ——- 2
96328AVNG_N31 ——- 3
963281TAN ——- 4
963281TAVNG ——- 5
DSL_2600NRU ——- 6
Board Id (0-6) : 3
Number of MAC Addresses (1-32) : 11

Когда строка показалась, аккуратно вписываем свой MAC адрес с наклейки на дне модема (здесь мак указан крестиками). Жмем «Enter». И далее еще 4 раза «Enter»:

Base MAC Address : 02:10:18:01:00:01 XX:XX:XX:XX:XX:XX
PSI Size (1-64) KBytes : 24
Enable Backup PSI [0|1] : 1
System Log Size (0-256) KBytes : 0
Main Thread Number [0|1] : 0

После появление следующего раздела выключаем модем:

Press: <enter> to use current value
‘-‘ to go previous parameter
‘.’ to clear the current value
‘x’ to exit this command
LE88276 — 0
SI3226 — 1
VE890 — 2
SI3217X — 3
LE88506 — 4
AVNG_SI32267 — 5
LE88276-NTR — 6
AVNG_VE890HVP — 7
AVNG_VE890HV — 8
AVNGR_SI32176 — 9
AVNGR_LE89116 — 10
AVNGR_SI3217X — 11
Voice Board Configuration (0-11) :

Включаем его снова и смотрим с каким MAC адресом загружается система:

CFE version 1.0.37-106.24 for BCM96328 (32bit,SP,BE)
Build Date: Срд Мар 21 08:38:40 UTC 2012 (legath@desk)
Copyright (C) 2000-2009 Broadcom Corporation.
HS Serial flash device: name MX25L64, id 0xc217 size 8192KB
Total Flash size: 8192K with 2048 sectors
Chip ID: BCM6328B0, MIPS: 320MHz, DDR: 320MHz, Bus: 160MHz
Main Thread: TP0
Memory Test Passed
Total Memory: 33554432 bytes (32MB)
Boot Address: 0xb8000000
Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.100
Gateway IP address :
Run from flash/host (f/h) : f
Default host run file name : vmlinux
Default host flash file name : bcm963xx_fs_kernel
Boot delay (0-9 seconds) : 1
Board Id (0-6) : 96328AVNG_N31
Number of MAC Addresses (1-32) : 11
Base MAC Address : XX:XX:XX:XX:XX:XX
PSI Size (1-64) KBytes : 24
Enable Backup PSI [0|1] : 1
System Log Size (0-256) KBytes : 0
Main Thread Number [0|1] : 0
Voice Board Configuration (0-11) : LE88276
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 1#1#0
Booting from only image (0xb8010000) …
Code Address: 0x80010000, Entry Address: 0x80014230

Вот теперь все. Модем готов к работе. Отпаиваем от UART’а преобразователь и можно закрывать крышку модема. Девайс готов к работе снова.

Вам также может понравиться...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *