MyTetra Share
Делитесь знаниями!
Неофициальный FAQ & HOWTO Recovery по устройствам D-Link DSL-xxxT
Время создания: 24.01.2010 23:14
Раздел: Компьютер - Аппаратное обеспечение - Dlink
Запись: xintrea/mytetra_syncro/master/base/0000001390/text.html на raw.github.com

Неофициальный FAQ & HOWTO Recovery по устройствам D-Link DSL-xxxT.


Вторая редакция.



FAQ:


Q.1. Какой порядок обновления прошивок, почему прошивка состоит из 3-х частей, таких

как ***kernel***, ***fs*** и config.xml?


A.1. Прошивка состоит не из 3-х частей, а из двух, config.xml не является прошивкой,

это конфигурационный файл, один раз настроенное устройство не нуждается в этом

конфиге, кроме тех случаев, когда требуется активизация новых функций у новой

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

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

Данные устройства работают под управлением ОС Linux, и содержат флеш диск разбитый

на партиции, учитывая такие особенности прошивку сделали из 2-х частей, ***kernel***,

ядро ОС Linux и ***fs***, на которой находится сама система с busybox, менеджером

управления и т.д.

Рекомендуемый порядок обновления:

1) В начале пишем кернельный образ ***kernel*** в устройство и перегружаемся...

2) После перезагрузки пишем ***fs*** образ и тоже перегружаемся..

3) После перезагрузки пишем config.xml, если это необходимо, и опять перегружаемся..


Q.2. Можно ли из 300Т сделать 500Т? В серии DSL-xxxG такое было возможно...


A.2. На основе официальных прошивок для Т, это не возможно, т.к. размеры fs имиджа

500Т больше размера выделенной партиции под fs в 300Т. Т.е. партиция для fs на флеш

диске у 300Т имеет размер всего 1376256 байт, когда как у 500Т он почти в 3-и раза

больше. Если рассматривать общие характеристики обоих устройств, то:

50xT,G604T - RAM 16Mb, Flash 4Mb

300T - RAM 8Mb, Flash 2Mb

Эти устройства практически одинаковы, отличия только по RAM и флеш, поэтому существует

неофициальная версия прошивки 300Tto500T, которая учитывая эти различия, превращает

300T в 500T. Последнюю версию такой прошивки можно найти по ссылке:

http://mcmcc.bat.ru/dlinkt/

В устройствах G отличий по RAM и флеш небыло, поэтому 300G легко превращался в 500G.


Q.3. Как можно вернуться с неофициальной прошивки на официальную?


A.3. Возврат на "родную" прошивку:

1) Перепрошиваем fs образ и перегружаемся

2) Перепрошиваем кернел образ и перегружаемся

3) Перепрошиваем config.xml для возвращаемой прошивки, если это необходимо...


Q.4. Что такое ADAM2?


A.4. ADAM2 является неким подобием BIOSа устройства, имеет встроенный ftp сервер,

консоль и может работать c BOOTP. С помощью его можно восстановить работоспособность

устройства, если у вас произошел сбой во время заливки прошивок или если у вас

неудачно сохранилась конфигурация, или неправильно прошили свое устройство...


Q.5. Где можно все узнать про неофициальные прошивки для DSL-xxxT и их возможности?


A.5. Обовсем этом можно узнать на форуме IXBT "Коммуникации: сети и сетевые технологии",

а именно по ссылке:

http://forum.ixbt.com/0014/034671.html




Recovery HOWTO:


--------- Прошивка не встала или неудачно прошилось устройство -------


URL: http://www.dlink.ru/phorum/viewtopic.php?t=6143


(Версия 2.0)

Bо всех модемах от D-Link имеется сервисный FTP сервер ADAM2 с ip адресом 10.8.8.8,

кроме DSL-G604T, у него ip адрес 10.48.88.66, в линуксе достаточно просто поднять

сабинтерфейс eth0:1, от рута естественно:


[root@mcmcc root]# ifconfig eth0:1 10.8.8.7 up


Далее нужно подготовить запуск ftp клиента на ip 10.8.8.8, для чего набирать следущее


[igor@mcmcc igor]$ ftp 10.8.8.8 (для DSL-G604T - 10.48.88.66)


После этого включить модем и в течении первых 2х секунд нажать на выполнение команды

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

приглашение и нужно проделать все так, как описано в листинге ниже:


Connected to 10.8.8.8.

220 ADAM2 FTP Server ready.

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (10.8.8.8:igor): adam2

331 Password required for adam2.

Password: adam2

230 User adam2 successfully logged in.

Remote system type is UNIX.

ftp> debug

Debugging on (debug=1).

ftp> bin

---> TYPE I

200 Type set to I.

ftp> quote MEDIA FLSH

---> MEDIA FLSH

200 Media set to FLSH.

ftp> put fs.img "fs.img mtd0" (для кернел: put kernel.img "kernel.img mtd1")

local: fs.img remote: fs.img mtd0

---> PASV

227 Entering Passive Mode (10,8,8,8,162,0).

---> STOR fs.img mtd0

150 Opening BINARY mode data connection for file transfer.

226 Transfer complete.

1318920 bytes sent in 30.3 seconds (54 Kbytes/s)

ftp> quote REBOOT

---> REBOOT

221-Thank you for using the FTP service on ADAM2.

221 Goodbye.

ftp> quit

---> QUIT


Немного комментариев:

debug включен для наглядности, прежде чем дать команду quote MEDIA FLSH, обязательно

стелайте установку в BINARY моду, т.е. команду bin, теперь про таблицу MTD, т.е.

партиции на флеш диске:

mtd0: fs имидж (для простоты был перименован в fs.img, который затем был залит в устройство)

mtd1: kernel имидж

mtd2: сам сервисный ftp сервер ADAM2

mtd3: Environment + config.xml


Environment находится в том же месте, где и config.xml, т.е. в начале перед config.xml,

в работающем устройстве с загруженной ОС запись config.xml происходит не на прямую в mtd3,

а в устройство /dev/ticfg, которое делает пропуск начального блока в mtd3... Хотя ADAM2

тоже это делает, но строго не рекомендуется заливать config.xml таким способом, иначе может

попортится область environment, что повлечет за собой очень долгий процесс по восстановлению

этой области. Ни в коем случае не трогайте диск mtd2, в нем записан сам ADAM2, если его

затереть, то вам прямая дорога в сервис-центр на программатор!!!!



---- Сделали "Save all" или нажали "Reset" - накрылась область environment:(( ---


URL: http://www.dlink.ru/phorum/viewtopic.php?t=6548


Q. На комманде put fs.img "fs.img mtd0" у меня неизменно вылетает:

550: <blockname> environment variable not set.

put fs.img: server said: <blockname> environment variable not set.

Cannot open local file fs.img mtd0 for reading (errno = 2).

put fs.img mtd0: could not open file.

Что такое? Почему? Я уже отчаялся...:(:(:(


A.

Да все очень просто, накрылась область environment, восстановить можно только одним

способом через telnet на 21 порт того же адреса - 10.8.8.8 (для DSL-G604T - 10.48.88.66):

$ telnet 10.8.8.8 21

Trying 10.8.8.8...

Connected to 10.8.8.8

Escape character is '^]'.

220 ADAM2 FTP Server ready.

USER adam2 (набираем сами)

331 Password required for adam2.

PASS adam2 (набираем сами)

230 User adam2 successfully logged in.


Теперь немного о командах:

GETENV <key> - Получить информацию для key

Например так:

GETENV mtd0

Отклик дожен быть таким:

mtd0 0x900a0000,0x903f0000

Если его не будет, то значит так и есть, запорота

область environment....

SETENV <key>,<value> - Установить значение в key

UNSETENV <key> - Удалить key

Желательно убедиться, какие значения в environment отсутствуют, если не все, то запоминаем

какие именно, что бы их не набирать, вот полная таблица всех значений для 500T:


memsize 0x01000000

flashsize 0x00400000

modetty0 38400,n,8,1,hw

modetty1 38400,n,8,1,hw

bootserport tty0

cpufrequency 150000000

sysfrequency 125000000

bootloaderVersion 0.22.02

ProductID AR7DB

HWRevision Unknown

SerialNumber none

my_ipaddress 10.8.8.8

maca 00:0X:XX:XX:XX:D2

prompt Adam2_AR7DB

firstfreeaddress 0x9401d328

req_fullrate_freq 125000000

mtd0 0x900a0000,0x903f0000

mtd1 0x90010000,0x900a0000

mtd2 0x90000000,0x90010000

mtd3 0x903f0000,0x90400000

autoload 1

usb_vid 0x0

usb_pid 0x0

usb_man N/A

usb_prod N/A


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

на бумажном шильдике, который приклеен между разъемами ADSL и езернета. Если environment

полностью убит, то набирать нужно все, главное что бы каждый вводимый параметр отвечал:

SETENV command successful

Вот как вводятся команды:

SETENV mtd3,0x903f0000,0x90400000

SETENV memsize,0x01000000

SETENV flashsize,0x00400000

SETENV modetty0,38400,n,8,1,hw

.... (т.д.)

SETENV mtd0,0x900a0000,0x903f0000

SETENV mtd1,0x90010000,0x900a0000

SETENV mtd2,0x90000000,0x90010000

для mtd3 мы ввели выше параметры

.... (т.д.)

SETENV usb_prod,N/A

В конце всего этого даем команду:

REBOOT

И получаем ответ:

221-Thank you for using the FTP service on ADAM2.

221 Goodbye.

Connection closed by foreign host.


От автора:

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

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

не очень понятно, про что здесь написано, то советую самому этого не делать, лучше всего

отвести устройство в сервис...



---- Не сохраняются настройки в DSL-xxxT -----


URL: http://www.dlink.ru/phorum/viewtopic.php?p=42515


Q. По рекомендации наших кулибиных через telnet поправил системные значения всего, чего можно,

но устройство не хочет сохранять настройки, пишет в логе:

Cannot write MTD block - error open 5

что бы это могло быть? как от этого избавиться?


A. Такое иногда происходит после восстановления области environment, просто в каком-то

месте неправильно установленны параметры партиций для флеш диска. Действия следущие,

нужно загрузить уст-во и дать команду:

# ls -l /dev/mtdblock/

На исправном устройстве дожны отобразиться 4-е диска:

brw-rw-rw- 1 root 0 31, 0 Jan 1 1970 0

brw-rw-rw- 1 root 0 31, 1 Jan 1 1970 1

brw-rw-rw- 1 root 0 31, 2 Jan 1 1970 2

brw-rw-rw- 1 root 0 31, 3 Jan 1 1970 3

Если их меньше, то проделаем операцию, которую вы уже делали, т.е. описанную в теме

"Сделали "Save all" или нажали "Reset" - накрылась область environment:((", только

на этот раз нужно сделать только установку для mtd дисков, т.е.:

SETENV mtd0,0x900a0000,0x903f0000 (если ls показал, что есть диск 0, то эта установка не нужна)

SETENV mtd1,0x90010000,0x900a0000 (если ls показал, что есть диск 1, то эта установка не нужна)

SETENV mtd2,0x90000000,0x90010000 (если ls показал, что есть диск 2, то эта установка не нужна)

SETENV mtd3,0x903f0000,0x90400000 (в данной ситуации эта установка необходима!)

и после этого перезагрузимся...

REBOOT

От всех этих операций в области environment образуется "муссор", от него можно избавиться

следущим образом, нужно взять архивчик по ссылке:

http://mcmcc.bat.ru/dlinkt/restore_mtd3_50xT.rar

После этого, как развернете архив, там будет файлик mtd3_50xT, это образ mtd3 диска на флешке,

в нем нет config.xml и прописан дефолтовый MAC адрес, который надо будет заменить на свой

после восстановления. Теперь, как это делается, запускаем анонимный ftp сервер на своей

машине, кладем ему этот файлик и заходит на устройство по телнету, логин root, пароль ваш,

который вы вводите через веб. Как только попали на устройство, то проделать нужно следущее:


# cd /var/tmp

# wget ftp://192.168.1.2/pub/mtd3_50xT

# cat mtd3_50xT > /dev/mtdblock/3

# reboot


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

ADAM2, что бы поменять MAC адрес, описание есть выше. Нас интерисует только:

SETENV maca,00:0X:XX:XX:XX:XX (Только не XX )

REBOOT

Теперь можно залить дефолтовый конфиг от прошивки и настроить все заново...


Ссылки:

Много полезной информации было взято отсюда:

http://www.akk.org/~enrik/fbox/recovery.txt


=====

Copyright (C) 2005,2004 Mokrushin I.V. aka McMCC <mcmcc@mail.ru>



 
MyTetra Share v.0.59
Яндекс индекс цитирования