?

Log in

No account? Create an account

Previous Entry

История повествует о том как я провел лето на новогодних каникулах возвращал к жизни модем D-Link DSL-2640U с версией железа C2.
Принесли пациента еще за неделю до нового года, с симптомами «не работает после неудавшейся прошивки, во время которой вырубили свет». И правда, после включения в сеть на модеме не переставая горела лампочка «Internet», хотя ни ADSL, ни Ethernet подключены не были. Однако, Ethernet-порт, в который воткнут кабель, модем чувствовал, и мигал для каждого из 4-х портов соответствующей лампочкой.
Было найдено, что на модеме есть консоль (разъем J5), но после прочтения статьи о восстановлении похожего модема, было решено сразу принять крайние меры — перешить флэш напрямую, и отложить разбирательства с распайкой консоли.
Флэш в этом модеме стоит следующий: 25X32VSIG, 4Mb, для него нужен дамп, который я нигде найти не смог. Увидел только в комментариях одного очень полезного жж, что у человека есть дамп для моего модема с такой же ревизией. Написал ему и через пару дней он мне выслал дамп. Оставалось дело за малым — прошить.
Вообще, нижеописанное подробно изложено в вышеуказанной статье, здесь я просто расскажу о своих действиях.
Вначале собрал программатор для флэша по следующей схеме:
SPI FlashROM Programmer Scheme
Схема программатора для SPI Flash
Собранный программатор (если можно таким громким словом назвать несколько проводков и 4 резистора) получился таким:
25X32VSIG Programmer
Внешний вид программатора для SPI Flash
Для прошивки использовалась программа «SPI FlashROM Programmer».
Режим LPT порта в BIOS был выставлен в SPP.
Запустив программу, можно ознакомиться с ее параметрами и еще раз с распиновкой LPT-порта и SPI-флэша:
C:\SPIPGM\spipgmw

SPI FlashROM Programmer 1.8 (C) 2008-2010 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 04:33:55, Dec 22 2010
(Win9x/NT/2K/XP compatability)

SYNTAX: spipgm /i|r|d|e|p [filename] [address] [size] [/l=iobase] [/d=delay]
        /i - identify SPI FlashROM
        /r address size - read & display data block (0x prefix = hexa number)
        /d filename - dump entire FlashROM to file
        /p filename - program entire FlashROM from file (without erase)
        /e - erase entire FlashROM
        /u - unlock write protection bits (may depend on WP# level)
        /l= LPT port I/O base address (default is 378h - LPT1)
        /d= additional delay for SPI clock pulse width [usec] (default is 0)

LPT to SPI pin assignment (based on BSD AVR programmer):
pin  7 = D5 -> CS#
pin  8 = D6 -> SCK (CLK)
pin  9 = D7 -> MOSI (DIO)
pin 10 = ACK -> MISO (DO)
pin 18 = GND -> GND
Основные используемые параметры программы:
  • /i — определить тип флэша;
  • /d filename — сохранить дамп из флэша в файл;
  • /p filename — записать дамп во флэш из файла (без очистки);
  • /e — очистить флэш (то есть заполнить все байтами 0xFF);
  • /u — разблокировать защиту от записи.
Вначале не помешает определить тип флэша, а заодно и проверить программатор:
C:\SPIPGM>spipgmw /i

SPI FlashROM Programmer 1.8 (C) 2008-2010 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 04:33:55, Dec 22 2010
(Win9x/NT/2K/XP compatability)

SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF3016h
Winbond W25X32 (4MB)
Status = 00h (SRP, RES, TB , BP2, BP1, BP0, WEL, BSY)
               0    0    0    0    0    0    0    0
Затем обязательно сделать дамп того, что на данный момент есть во флэше:
C:\SPIPGM>spipgmw /d old.bin

SPI FlashROM Programmer 1.8 (C) 2008-2010 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 04:33:55, Dec 22 2010
(Win9x/NT/2K/XP compatability)

SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF3016h
Winbond W25X32 (4MB)
Reading sector at: 003FF000h (100%)
Далее залить во флэш правильный дамп:
C:\SPIPGM>spipgmw /p 2640u_bru_c2.bin

SPI FlashROM Programmer 1.8 (C) 2008-2010 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 04:33:55, Dec 22 2010
(Win9x/NT/2K/XP compatability)

SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF3016h
Winbond W25X32 (4MB)
Programming page at: 003FFF00h (100%)
Если флэш откажется прописываться, то можно попробовать разблокировать защиту от записи (/u) и очистить флэш (/e) перед прошивкой.
После этого я подумал, что после впаивания флэша на место, модем будет сразу работать. Но не тут-то было. Как потом прочитал (точнее потом только сообразил), ему еще нужно указать правильные параметры некоего «Board Id» и изменить MAC-адрес. Пришлось все-таки распаивать консоль. Вот для нее схема:
Scheme
Схема распайки консоли на DSL-2640U
В модеме разъем консоли на плате обозначен J5, контакт GND подписан. Полная распиновка J5 (справа налево, как на фотке) такая: GND, Tx, Rx, VCC (+3.3V). Контакт VCC я не использовал, так как питание на MAX232 подавал со внешнего БП.
DSL-2640U Console
Подключение к консоли на DSL-2640U
Scheme View
Подключение к COM-порту
Программу-терминал я использовал «Terminal by Bray++ v1.9b». Скорость передачи 115 200, остальные параметры по умолчанию. При первой загрузке после прошивки флэша модем в консоли сразу попросил ввести Board Id:
Press:   to use current value

        '-' to go previous parameter

        '.' to clear the current value

        'x' to exit this command

96338W           ------- 0 
96338WS2         ------- 1 
96338W2          ------- 2 
96338E           ------- 3 
96338E4          ------- 4 
96332CG          ------- 5 
96338WS          ------- 6 
96338E_E7R       ------- 7 
96338W2_E7T      ------- 8 
96332CG_F4W      ------- 9 
96333AWG         ------- 10
96332AG          ------- 11
96332AG2         ------- 12
96333AWGS        ------- 13
96333AWG_F7S     ------- 14
96333AWGS_F4N    ------- 15
По незнанию ввел какое-то число, модем загрузился, но должным образом не заработал. При сбросе питания и повторной загрузке он уже не спрашивал Board Id, а продолжал грузиться с установленными параметрами. Нужно было менять Board Id, но где его менять, я сначала не нашел, только потом заметил, что при загрузке модем пишет:
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 0
Вот в это время модем ждет 1 секунду, чтобы была возможность нажать любую клавишу. Угадывать этот интервал я не стал, потому, уже при выключенном модеме, удерживал пробел, а затем включал модем. После этого загружался CFE (Common Firmware Environment) и снова появлялась возможность выбрать Board Id, нажимая «b» и «Enter»:
CFE> b
Здесь появился вопрос, а какой все-таки Board Id выбирать? Варианты из предлагаемого списка были похожи на марку установленного контроллера BCM6333KFBG. Выбрал первый подходящий: «96333AWG ------- 10», указал количество MAC-адресов: «2», и непосредственно сами MAC'и (с корпуса модема), оба одинаковые (хотя может быть нужно было указывать 1 MAC, не проверял, делал по инструкции с вышеуказанного сайта). После чего модем увиделся по IP, был настроен и продолжил успешно работать.

Comments

( 78 комментариев — Оставить комментарий )
Страница 1 из 3
<<[1] [2] [3] >>
victor_n
5 апр, 2011 15:11 (UTC)
Близнецы
Здравствуйте.
На днях приобрел DSL-2600U.
Посмотрел, что у него внутри:


Сравнил с Вашей фоткой, получилось один к одному, за исключением немного другого расположения деталей блока питания. Микросхема стоит такая же - BCM6333KFBG
Меня удивило наличие двух пустых мест, где должны были быть светодиоды. Какие функции они выполняют в dsl-2640 ?
Имеет ли смысл в моей модели впаять светодиоды?
Будет ли какой-либо выигрыш, если модель DSL-2600U превратить в DSL-2640 ? :)

Попутно заметил, что в целях удешевления устройства производитель не установил нормального разъема для антенны. А конструктивно всё подходит для установки полноценного антенного разъема.
Роутер работает нормально, настроился за 5 минут, после первой проверки на работоспособность поменял прошивку на последнюю. Роутер продолжил работать:) .
Вскрытие производил с целью посмотреть, что внутри:) и найти греющиеся детали, чтобы поставить на них радиаторы.
Импульсный блок питания сразу же заменил на трансформаторный.

Подобную операцию ранее делал с ADSL-модемом :
https://victorkustov232.wordpress.com/2011/03/18/dsl-2520u-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/
wierus
8 апр, 2011 09:43 (UTC)
Re: Близнецы
Здравствуйте.
На первый взгляд основное отличие у этих роутеров в количестве LAN-портов. Соответственно и добавлены дополнительные светодиоды (+3 штуки) на 2640U.
Список светодиодов на 2640U:
[Power] [DSL] [Internet] [LAN1] [LAN2] [LAN3] [LAN4] [WLAN] [место под светодиод] [Status]
Список светодиодов на 2600U:
[Power] [пустое место] [DSL] [место под светодиод] [Internet] [место под светодиод] [Ethernet] [WLAN] [Status]

А распаянная антенна тоже немного удивила. Даже на древней точке доступа G700AP был установлен разъем для съемной антенны.
victor_n
8 апр, 2011 17:41 (UTC)
Вечер вопросов и ответов :)
Насчет распаяной антенны смысл понятен. Во первых, это дешевле, во вторых - массовый пользователь теряет возможность установить более качественную антенну или направленную, типа волновой канал. Что в конечном итоге приводит "потребителя" к необходимости замены роутера другой моделью.
За светодиды спасибо:).
Немного смешно самому себе, но если бы я увидел заднюю часть DSL-2640 с кучей портов LAN, то мог бы и сам догадаться о назначении целой кучи светодиодом. У меня почти все устройства многопортовые, и почти все разбирал.
Сейчас DSL-2600U лежит вскрытым уже несколько дней. Рука на него что-то не поднимается:).
Вы нечаянно не подскажите:) на какие микросхемы можно сразу клеить радиаторы ?
На все сразу? Или какие-то можно не трогать ?
wierus
9 апр, 2011 02:08 (UTC)
Re: Вечер вопросов и ответов :)
Клеить то можно и на все, им от этого хуже не будет :)) Только вот для тех, которые и так не сильно греются, не будет эффекта от радиатора.

У меня сейчас подобная проблема с перегревом (а может, и скорее всего нет) для модема DSL-2300U. Начал он коннект рвать в режиме роутера. Разобрал его, проц неимоверно горячий (подумал сразу на перегрев), поставил радиатор. Открытый модем, проц с радиатором - также сильно греется, пальцем не подержать (а может он и всегда такой был). Поперебирал остальные детали, так и не выяснил из-за чего не работает роутером, не знаю на что еще думать.
victor_n
9 апр, 2011 13:12 (UTC)
Палец не держит температуру.
Тыльная сторона ладони еле выдерживает +60 по Цельсию.
Палец , наверное может выдержать несколько большую температуру.
Думаю, что если чип долго находился в перегретом состоянии, то за счет свойства диффузии вещества его внутренняя структура слегка "размазалась". Там ведь, внутри, микроны и нанометры между электронными компонентами.
Похожее мне попадалось с процессором Celeron. Лет 15 назад. Отвалилось пластмассовое ушко с панельки, следом отвалился, ........ нет, это другой случай.
Вот - От радиатора процессора отвалился вентиллятор. Он крутился себе в пустом пространстве. Датчик остановки не срабатывал, вентиллятор-то крутился. Процессор неспешно перегревался. Потом пошли отказы. Может через месяц, может больше. Потом вентиллятор был установлен на своё место. НО ! Зависания через час-два работы продолжались. Что интересно, при включении и немедленном тестировании, процессор показывал нормальные результаты. :) можно было продать его как БУ :)
То есть, получился "поджаренный" чип. Еще не сгоревший, но уже с дефектом.
Возможно, тоже самое произошло с Вашим DSL-2300U.
Посмотрите еще, нет ли рядом с горячими деталями конденсаторов и электролитов. При постоянном воздействии высокой температуры емкость теряют даже керамические кондеры.
Хитрые производители располагают такие критичные детали (по принциальной схеме-они очень важные) вблизи горячих точек, чтобы обеспечить устройству гарантированный выход из строя.
jagucoal
14 апр, 2011 07:55 (UTC)
Great post! I want to see a follow up to this topic

victor_n
15 апр, 2011 17:31 (UTC)
Why are you interested in this post?
(Анонимно)
21 июн, 2011 06:42 (UTC)
2640u_bru_c2.bin
Не могли бы Вы выложить дамп 2640u_bru_c2.bin ?
wierus
21 июн, 2011 14:37 (UTC)
Re: 2640u_bru_c2.bin
Пока здесь: http://ifolder.ru/24294544
Если удалят, спрашивайте, перезалью, или пишите адрес почты, сразу туда скину.
Re: 2640u_bru_c2.bin - (Анонимно) - 12 май, 2013 08:49 (UTC) - Развернуть
Re: 2640u_bru_c2.bin - wierus - 13 май, 2013 05:47 (UTC) - Развернуть
(Анонимно)
1 авг, 2011 12:17 (UTC)
такая же история такой же модем
если не трудно пришли дамп 25X32VSIG на yuraze@yandex.ru
за ранее СПАСИБО!!!!!!!!!!!!
(Анонимно)
8 сент, 2011 08:48 (UTC)
Подскажите где на плате находиться flash память у меня такой же модем вчера сдох при прошивки.....
(Анонимно)
8 сент, 2011 09:11 (UTC)
где на плате память
Помоги мне вчера умер такой же модем при прошивке.... не могу понять где находиться память и какие ты брал сопротивления.... и можно ли воспользоваться usb шнуром virtul com port
(Анонимно)
8 сент, 2011 11:34 (UTC)
респект
Пост очень помог в восстановлении аналогичного модема. Только флеш память оказалась другого производителя, но прошилась без проблем. Огромное спасибо автору!
(Анонимно)
10 сент, 2011 05:12 (UTC)
ребята та же ситуация
Вышлите дамп пожалусто itfirsthelp@yahoo.com
wierus
11 сент, 2011 18:43 (UTC)
Re: ребята та же ситуация
Дамп выслал на почту. Также можете скачать дамп здесь: http://ifolder.ru/24294544
darionlefi
3 ноя, 2011 00:53 (UTC)
I hope you will keep updating your content constantly as you have one dedicated reader here.

(Анонимно)
18 ноя, 2011 17:33 (UTC)
Enterceptr
Пожалуйста подскажите где находится тот самый флэш-чип который нужно выпаивать? Желательно на фото (представленным на сайте) обвести кружком.
wierus
19 ноя, 2011 21:35 (UTC)
Re: Enterceptr
На фотографиях, к сожалению, не видно, а по памяти не могу сказать который из чипов является нужным. Посмотрите на плате чипы по виду как с картинки "Внешний вид программатора для SPI Flash" (он висит на проводках, и у него 8 ножек). Маркировка должна быть похожа на "25X32VSIG".
Re: Enterceptr - (Анонимно) - 22 ноя, 2011 18:33 (UTC) - Развернуть
Re: Enterceptr - wierus - 22 ноя, 2011 20:36 (UTC) - Развернуть
Re: Enterceptr - (Анонимно) - 22 ноя, 2011 21:14 (UTC) - Развернуть
Re: Enterceptr - wierus - 23 ноя, 2011 18:03 (UTC) - Развернуть
Re: Enterceptr - (Анонимно) - 17 дек, 2011 09:44 (UTC) - Развернуть
Re: Enterceptr - wierus - 17 дек, 2011 14:55 (UTC) - Развернуть
(Анонимно)
5 янв, 2012 15:29 (UTC)
Спасибо!
Отличная статья! Спасибо за работу! К сожалению в городе не один СЦ не взялся восстанавливать модем и пришлось делать самому.
А история моего модема такая. Wi-fi стал не того не с сего отваливаться и лечилось только перезагрузкой. Решил обновить прошивку, не не угадал с версией железа о чем прошивальщик мне любезно сообщил, после чего модем ушел в кирпич-мод. Светились только два диода и активные Ethernet порты. Первым делом конечно стал искать решение в Интернете. Все форумы рекомендуют обратиться в СЦ, но там мне ничем не смогли помочь. Вернулся в Интернет и наткнулся на ваш статью. Спаял консольный кабель, подготовил LPT разъем для прошивки, на что ушло у меня часов 4-5 вместе с поиском элементов для схемы. Но когда я стал выпаивать Flash (признаюсь мне довольно тяжело было её найти) не заметил, что одна нога плохо отпаялась от платы и выдернула за собой половину разводки. Модем выкинул, купил NETGEAR N300 и заодно сменил провайдера с ADSL на проводного.
А самое главное, я понял, что никогда больше не буду заниматься пайкой и связываться с D-Link'ом. :)
Александр
8 янв, 2012 22:09 (UTC)
флешка 25X32VSIG,
Так флешка 25X32VSIG находится под кондером 2500мкФ который ты отклеил судя по фото?
Ато у меня эта восьминожка закрашена лаком- не видно букв.

Edited at 2012-01-08 22:10 (UTC)
Александр
9 янв, 2012 15:03 (UTC)
СИМПТОМЫ:
модем включался , горел светодиод POWER и LAN4 , иногда при включении моргали все индикаторы(при этом напряжение питания с БП падало аж до 4.5В)
Но иногда вроде как включался, но не загружался(не горели ни WIFI ни DSL ни INTERNET) а моргала сеть как будто работала(при этом напряжение питания с БП 12.1В)
ДИАГНОЗ:
Похоже чтото было с прошивкой из за БП. Но загрузчик остался жив.
ЛЕЧЕНИЕ:
Я к консоли подключился через USB шнурок для телефона. я им и нокии и самсунки и лыжи шил, не думал что и к модему подойдет.
Использовал Prolific USB-to-Serial Cable (PL-2303). с выхода кабеля синий-TX белый-RX черный-GND питание VCC+ подал от 2х пальчиковых батареек в диспетчере устройств порту указал скорость 115200. Консольный разъем был внутри корпуса обозначен на плате как "J5" .
Использовал програмку putty указал порт и скорость 115200 (на других скоростях в консоли печатался набор символов...)
ПУТЯ сам чтото там протестила показала настройки модема...Дошла до момента ввода команд(появился курсор). выключил и включил модем и он заработал+ еще и настройки на месте оказались -соединился с интернетом.
ПРОФИЛАКТИКА:
теперь займусь диагностикой БП, держа в руке дефибриллятор-кабель PL-2303


PUTTY брал здесь http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Инсталяшка в пункте "A Windows installer for everything except PuTTYtel"

Пользовался этой статьей по работе с консолью через ПУТЮ: http://pudeev.livejournal.com/26499.html
Антон Морозов
6 фев, 2012 06:38 (UTC)
Скиньте пожалуйста дамп DSL2640U/C2. coolerwork@yandex.ru
(без темы) - wierus - 6 фев, 2012 16:06 (UTC) - Развернуть
Страница 1 из 3
<<[1] [2] [3] >>
( 78 комментариев — Оставить комментарий )