Прошивка с tcpdump, netcat, pptp, tc, dyndns, ntp, vlan, ssh, crond, no-ip, ADSL2+ для D-Link DSL-G604T
*********** Только для версий ниже MC03 или официальных прошивок *****************
Порядок обновления:
1) Обновление данной прошивки производится через ADAM2 ftp сервис,
как это сделать описано ниже в секции Recovery HOWTO. Только нужно помнить,
что у данного устройства ip адрес - 10.48.88.66
2) Загружаем сразу 2а имиджа, fs имидж в mtd0 и кернел имидж в mtd1, после выходим
из сервиса, дав команду REBOOT,
ВНИМАНИЕ! Обновление данной прошивки через web интерфейс произвести невозможно, даже
не важно, какая прошивка стояла у вас до этого! Возврат на любые предыдущие версии
прошивок, так же не возможен через web. Следущие версии прошивок будут обновляться
через веб, как это было ранее....
***********************************************************************************
Порядок обновления через web на прошивку версии MC03.b2:
Осуществляем замену только ***fs*** образа через web. Кернел обновлять не нужно.
Если обновить fs таким образом не удасться, обновляемся через ADAM2!
==== NEW!!!! =====
Порядок обновления через GUI утилиту tiupgrade.exe под Windows/Wine Unix:
1) Запустить tiupgrade.exe.
2) Указать ip адрес вашего устройства и пароль.
3) Нажать "далее" и ждать завершения операции обновления.
4) Если произошла ошибка во время обновления, то повторите
всю операцию с включенным режимом "Corrupted-image mode".
ВНИМАНИЕ!!! tiupgrade.exe меняет ip адрес ADAM2, если, например, был 10.48.88.66,
то он станет одним из вашей подсетки, на конце будет 199, т.е. если у вас сеть
192.168.1.0, то ip станет 192.168.1.199...
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
f36b5f1d1403f970068fea26a4bff2a7 DSL-G604T_kernel_V1.00B02T02.RU.20051019.MC03
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604Т:
a432427abdecab96636ffb670e05355b DSL-G604T_fs_V1.00B02T02.RU.20051019.MC03_ADSL2+
Статус:
Релиз, версия MC03.
Что нового:
- Исправления в SSH, убраны сообщения связанные с невозможностью открытия файлов
wtmp и lastlog
- Заменен crond на dcron из busybox'а, теперь он работает немного иначе, хотя
синтаксис остался такой же, как и у стандартного cron'а, но с небольшим
изменением, вот как сейчас он выглядит относительно придедущего примера для crond:
yes
"*/2 * * * * echo 9,1 > /proc/led_mod/led" >> /var/spool/cron/crontabs/root
"*/3 * * * * echo 9,5 > /proc/led_mod/led" >> /var/spool/cron/crontabs/root
root > /var/spool/cron/crontabs/cron.update
Обратите внимание на строку root > /var/spool/cron/crontabs/cron.update,
она обязательна, если вы хотите, что бы ваши изменения вступили в силу, т.о., каждый
раз, как вы делаете изменения в заданиях для cron'а, добавляйте эту строчку!
- Увеличена таблица NAT'а в 4-е раза по умолчанию, если возникнут проблемы с нехваткой
памяти, то вы можете вернуть стандартный режим:
yes
------------ OLD -------------
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
f36b5f1d1403f970068fea26a4bff2a7 DSL-G604T_kernel_V1.00B02T02.RU.20051019.MC03.rc3
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604Т:
1997cb558be268c655c3e1b317729933 DSL-G604T_fs_V1.00B02T02.RU.20051019.MC03.rc3_ADSL2+
Статус:
Релиз кандидат 3, версия MC03.rc3.
Что нового:
- Добавлен доступ по SSH (dropbear-0.43), никаких настроек не требуется.
- Добавлена возможность смены порта для thttpd сервера, который используется
для настройки устройства через web интерфейс(по умолчанию порт 80):
8888
- Добавлен релоад dnsmasq для PPPoE/PPPoA/PPTP, необходим в случае, если
не были указаны ip адреса DNS серверов в настроках устройства. Основан
на запуске скрипта masqdns_restart, который был ранее введен в прошивку
и не описан. Он будет каждый раз запускаться после поднятия любого ppp
интерфейса.
- Добавлен cron, для активизации этой возможности нужно в config.xml указать
следущее:
yes
Настройка осуществляется через файл /var/etc/crontab путем добавления
строк для выполнения задач в любой из секций - start_init/start_ipt/external/
texternal/adsl_up_nasX и т.д., с помощью команды echo и знака присоединения ">>",
например в external(статус будет мигать обычным образом каждые 2-е минуты,
а через каждые 3-и минуты очень быстро в течении минуты:-)):
...
yes
"*/2 * * * * root echo 9,1 > /proc/led_mod/led" >> /var/etc/crontab
"*/3 * * * * root echo 9,5 > /proc/led_mod/led" >> /var/etc/crontab
...
Синтаксис работы с этим cron'ом такой же, как и с любым стандартным. На зомби
процесс внимание не обращать...
----------- OLD ---------
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
f36b5f1d1403f970068fea26a4bff2a7 DSL-G604T_kernel_V1.00B02T02.RU.20051019.MC03.rc2
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604Т:
ce4a0bf08aa806475b9467c20ab945f9 DSL-G604T_fs_V1.00B02T02.RU.20051019.MC03.rc2_ADSL2+
Статус:
Релиз кандидат 2, версия MC03.rc2.
Что нового:
- Пересобрано новое ядро, включены патчи для отключения мультикастинга
(патч от DarkMen'а) и пропуска коротких пакетов(патч от Dmytro O. Redchuk).
Отключение мультикастов необходимо для работы Стрим-ТВ, как пользоваться этой
возможностью описано тут:
http://forum.ixbt.com/topic.cgi?id=14:34671-60#1612
Про проблему пропуска коротких пакетов есть немного здесь:
http://www.mail-archive.com/smoke-room%40altlinux.ru/msg02490.html
- Пересобран busybox, теперь init процесс запускается в еденичном экземпляре,
оказалось, что флаг -fPIC терялся где-то по дороге, поэтому в памяти busybox
не откладывался один раз, а каждый раз загружался заново.
- Из busybox'а выброшены некоторые лишние и не нужные команды, добавлен vconfig
и udhcpc, который был немного подправлен, соответственно отдельный vconfig
был выкинут из прошивки, а udhcpd пока оставлен, но в прошивке V2.0 будет
тоже выкинут, так как вся функциональность перейдет dnsmasq'у, кроме DHCP
клиента, который теперь из busybox'а...
- Исправлен баг с кешированием ip у ddns клиента, с целью запрета посылки
запроса на dyndns сервер, если ip адрес роутера не изменился. Ссылка
на багрепорт от Лены из Киева:
http://forum.ixbt.com/topic.cgi?id=14:34671-63#1688
- Добавлена функциональность tc_nopriohost в jdg-qos(патч от Лены из Киева):
http://forum.ixbt.com/topic.cgi?id=14:34671-66#1778
- Добавлена возможность индикации подключения для PPPoE и PPPoA, для ее
активизации необходимо в config.xml указать следущее:
...
yes
...
- Добавлены новые опции external_stop и texternal_stop для config.xml, работают
аналогично опциям external и texternal, которые выполняют команды и запускают
приложения на этапе создания PPP интерфейсов, только с обратной целью, что бы
выполнять команды и запускать приложения на этапе опускания этих PPP интерфейсов.
- Для пользователей прямого подключения без PPPoX, добавлен демон, который следит
за поднятием и опусканием интерфейсов nasX, что бы обеспечить аналогичную
возможность как для опций external, texternal, external_stop и texternal_stop.
Для активизации этой возможности нужно в config.xml указать следущее:
...
yes
...
Теперь у вас появятся новые возможности для выполнения команд и приложений через
config.xml, а именно, новые опции - adsl_up_nasX и adsl_down_nasX, где Х номер
nas интерфейса, все тоже самое как с опциями external, texternal, external_stop и
texternal_stop:
....
....
...
-I FORWARD -j ACCEPT
...
...
-D FORWARD -j ACCEPT
...
- Добавлена поддержка NO-IP сервиса, для настройки и включения этой возможности
нужно в config.xml указать следущее (пример для cobra.no-ip.org):
...
yes /* Включаем сервис NO-IP */
mylogin@mail.ru /* указываем свой email в качестве логина(обязательно!) */
908sdfs /* указываем свой пароль */
cobra /* указывем имя хоста */
no-ip.org /* указываем имя домена, который был выбран из списка
доступных на NO-IP во время регистрации */
cobra /* Если вы создали несколько имен с разными доменами
на один ip, то вы должны завести группу, если нет,
то этот параметр можно не указывать */
....
- Данная прошивка будет в 2-х вариантах, для ADSL2+ и ADSL1/2 c DSP1, т.к.
прошивка с ADSL2+ не со всеми DSLAM нормально работает.
------- OLD ---------
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
a806409a5464811152084d610b9b681b DSL-G604T_kernel_V1.00B02T02.RU.20050726.MC03.rc1
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604Т:
a2b0e982d9bcd3935dad5c754266db9a DSL-G604T_fs_V1.00B02T02.RU.20050608.MC03.rc1_ADSL2+
Статус:
Релиз кандидат 1, версия MC03.rc1.
Что нового:
- Исправлен баг с прямой записью на флеш диск, теперь можно прошивать имиджи
прошивок в mtd разделы с помощью команд cat и dd.
- Встроена проверка на заблокированный ADAM2 с 8Мб, если такой имеется,
то размер памяти автоматически увеличивается с 8Мб до 16Мб. Больше нет
необходимости перепрошивать ADAM2.
- Добавлена поддержка Intel совместимой флеш памяти.
- Некоторые внутренние изменения, добавлена динамическая библиотека XML парсера
libxode, пересобраны утилиты, которые ранее были статически слинкованы с
ней, на динамическое ее использование...
- Создана возможность сохранения всех неофициальных настроек, через штатную команду
из веб интерфейса "Save All", больше настройки не удаляются, однако необходимо
строго придерживаться правилу, прописывать все настройки между последним
и , как это предлагалось на самом раннем этапе развития
этой прошивки.
- Возвращен PPPoE Relay с небольшими доработками, который перебрасывает pppoe сессии
из локальной сети к провайдерскому PPPoE серверу, для его активизации достаточно
добавить в секции setenv следущее:
...
yes
...
Запуск и поиск интерфейсов nasX PPPoE Relay осуществляет автоматически и расчитан
на 100 сессий. Работает во всех режимах, как для PPPoX, так и для статик...
- Полностью заменен DNS proxy - dproxy, на dnsmasq. В стандартном варианте использования
dnsmasq дополнительных настроек не требуется. Так же, dnsmasq, полностью доработан
для совместной работы с udhcpd, что позволяет использовать устройство как полноценный
мини DNS сервер для устройств класса SOHO в небольших локальных сетях. Для дополнительных
настроек DNS сервера, например MX записи, вам потребуется редактирование config.xml.
Для этого созданы специальные секции - dnsmasq_optX, где Х от 0 до 256. Их необходимо
прописывать в секции setenv:
....
mx-host=maildomain.com,servermachine.com,50
txt-record=_http._tcp.example.com,name=value,paper=A4
....
ВНИМАНИЕ! Если вы не планируете использовать встроенный DHCP сервер в dnsmasq, то ни в коем
случае не прописывайте параметры связанные с dhcp настройками. Описание dnsmasq находится
в директории dnsmasq. Все прописываемые параметры в dnsmasq_optX соответствуют параметрам
для dnsmasq.conf.example.
- Возможность использования встроенного DHCP сервера в dnsmasq. Для этого вам необходимо
запретить использование штатного DHCP сервера - udhcpd, в закладке Setup->DHCP Configuration
установить флажек "Disable DHCP Server" и нажать на Apply, затем сохранить все установки в
закладке Tools->System Commands->Save All, дождаться завершения процесса и нажать кнопку
Back, после всего этого скачать config.xml и добавить в него секцию dnsmasq_dhcp с параметром
yes в секцию setenv:
...
yes
...
Обратно загрузить конфиг и после рестарта устройства, вы сможете использовать встроенный
DHCP сервер в dnsmasq, причем, все настройки сделаные для штатного DHCP сервера udhcpd,
автоматически станут настройками для dnsmasq. Если вы хотите добавить свои параметры
для этого DHCP сервера, то воспользуйтесь секциями dnsmasq_optX. Не следует заполнять
в dnsmasq_optX следущие параметры dnsmasq:
domain= (берется автоматически из штатных настроек)
dhcp-range= (берется автоматически из штатных настроек)
interface= (привязан к br0)
а так же для существующих статических адресов и ранее настроенных привязок ip к mac в
udhcpd через веб интерфейс:
dhcp-host=, однако для новых записей, ранее не существующих, наоборот, даже очень нужно:)...
...
yes
dhcp-host=11:22:33:44:55:66,192.168.1.60
...
- Убран tcpdump, как занимающий лишнее место на флеш диске, и практически редко нужный...
--- OLD ---
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
263203a692bc13815a3f8aa472ea3949 DSL-G604T_kernel_V1.00B02T02.RU.20050608.MC03.b2
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604T:
a44ffb09c429bad1bc7abad07fc0a049 DSL-G604T_fs_V1.00B02T02.RU.20050608.MC03.b2_ADSL2+
Статус:
Beta, версия MC03.b2. (fix version)
- Подправлено меню IP Account в web интерфейсе.
- Исправлена страница логина, теперь "курсорчик" помещается в поле ввода пароля.
------- OLD ---------
Прошивка кернел с поддержкой MPPE, QoS, VLAN, ATM for ADSL2+ и т.п. для G604Т:
263203a692bc13815a3f8aa472ea3949 DSL-G604T_kernel_V1.00B02T02.RU.20050608.MC03.b1
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.02.06.00 ADSL2+ для G604T:
58fc7e72244807d3d86b772908a63699 DSL-G604T_fs_V1.00B02T02.RU.20050608.MC03.b1_ADSL2+
Статус:
Beta, версия MC03.b1.
Что нового:
- Исправления в безопастности, устранена "дыра" которая позволяла скачивать config.xml
неавторизированным пользователям. (http://www.security.nnov.ru/Idocument664.html)
- Добавлена проверка на авторизацию для кнопки сброса ipaccount'а, больше нет
возможности неавторизированным пользователям осуществлять сброс статистики ipaccount'а.
- Использована новая версия DSP firmware для работы с ADSL2/+ от Netgear DG834.
- Переделано ядро для работы с новым модулем tiatm, новое ядро собрано без
modversion, как это требует модуль tiatm, и на всякий случай, с помощью Montavista
toolchain.
- В модуле tiwlan удалена привязка таблицы символов к modversion.
- В связи с изменением в ATM части ядра, пересобраны libatm и все то, что использует
эту бибилиотеку.
- Подправлен cm_logic для работы с новым модулем, для этого был написан врапер функции
setoptsock() и помещен в libatm.
- Замененны модули pppoe, pppoa и демон dproxy.
--------- OLD -------
Порядок обновления через web на прошивку версии RC1.MC01:
1) В начале пишем кернельный образ ***kernel*** в устройство обычным образом, т.е.
через web. Перегружаемся...
2) После перезагрузки пишем ***fs*** образ и перегружаемся..
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для G604T
096d7d454a8299d9285ce2a8401dd9de DSL-G604T_kernel_V1.00B02T02.RU.20041207.MC02
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA, VLAN и т.п. для G604T
c0ed9bc0d82fde84efac60b3ba5ba860 DSL-G604T_kernel_V1.00B02T02.RU.20041207.MC02+VLAN
Прошивка fs на базе прошивки 20041207 с DSP firmware 1.01.00.00 для G604T:
9cc442b12fbf04b695fbf1a9fa663764 DSL-G604T_fs_V1.00B02T02.RU.20041207.MC02_dsp1010000
Прошивка fs на базе прошивки 20041207 с DSP firmware 3.00.08.00 для G604T:
31a9a9a8a491ed4a8005b342aa474d82 DSL-G604T_fs_V1.00B02T02.RU.20041207.MC02_dsp3000800
Статус:
Релиз, версия MC02.
Что нового:
- Ядро и модули пересобраны новым toolchain для mipsel архитектуры, после почти недельного
тестирования без перезагрузок и выключений сделан вывод о более оптимальном использовании
памяти ядром и другие позитивные моменты. Далее все будет собираться новым toolchain...
- Собрано ядро с поддержкой VLAN и выложено отдельно для экспериментов, так же в прошивку
добавлена утилита vconfig. Не рекомендуется устанавливать это ядро без надобности(!).
- Исправления в некоторых модулях netfilter'а (ipt_MIRROR, ip_nat_rtsp, ip_conntrack_rtsp).
- Добавлен скрипт переброса портов ZYV'а - portfwd, который необходимо запускать после ipmac,
если ipmac используется. Команда использования выглядит так:
# portfwd (internal-ip) (external-port) (internal-port)
Я немного доработал скрипт portfwd ZYV'а, теперь можно добавлять сетевой интерфейс 4-м параметром
# portfwd (internal-ip) (external-port) (internal-port) (ifdev)
если не указывать этот параметр, то скрипт возьмет сетевой интерфейс ppp0 по умолчанию.
В этом скрипте также изменена процедура добавления правила в FORWARD через -I и с привязкой
места перед первым DROP.
- Исправления в ядре, устранен баг с TX overruns, которые возникали на nasX
интерфейсе, убрана поддержка tmpfs из-за не надобности, добавленна поддержка ESFQ
для QoS, подправлен код lzma декомпрессора ядра, сделаны оптимизации для запуска
init, убран драйвер IMQ в модуль.
- Добавлены новые модули для QoS - WRR, практически все модули для iptables, сам iptables
пересобран с поддержкой всех этих модулей(MARK, CONNMARK, etc..).
- Пересобран tc с поддержкой WRR и ESFQ.
- Добавлен скрипт новой реализации QoS с использованием IMQ, ESFQ, WRR - jdg-qos. Описание
и сам скрипт находятся по этому адресу - http://www.digriz.org.uk/jdg-qos-script .
В кратце:
- более точная приоритезация трафика как входящего, так и исходящего
- балансировка и деление трафика между пользователями локальной сети, по умолчанию на 8
пользователей
- простота использования и более полная функциональность, чем у wshaper'а
Новый QoS используется так же как и wshaper, однако требует ввода ip адреса сети с маской,
по умолчанию установлено 192.168.1.0/24, но вы можете это изменить, если у вас такая сеть,
не нужно менять скорости и не более 8-ми человек, то достаточно в секции stenv указать
yes, но если вам необходимо сделать какие-то изменения, то это будет
выглядить так:
.
.
.
.
.
.
yes
100 # (default auto) Download Speed (in kbit)
80 # (default auto) Upload Speed (in kbit)
br0 # (default br0) LAN facing interface
6881 4662 # (default 6881 4662) low priority traffic
1 # (default 1)if NATing then 1 else 0
192.168.1.0/24 # (default 192.168.1.0/24) LAN address
1 # (default 1) netfilter p2p matching support
0 # (default 0) 1 if upstream gw traffic
0 # (default 0) value in kbit for guarentee
8 # (default 8) maximum number of LAN clients
Так же есть возможность запуска из командной строки или другой секции xml конфига:
# jdg-qos ppp1
# jdg-qos status ppp1 (Просмотр статистики)
P.S. В качестве QoS необходимо использовать только wshaper или только jdg-qos, совместно
они использоваться не будут, если они оба будут прописаны в конфиге, то работать будет
только wshaper!
- Добавлены команды в busybox - seq и watch.
- Добавлен слегка хакнутый cm_cli - cm_cli_tty, к существующему, который выводит информацию на
tty, а не на серийную консоль, как это делает штатный cm_cli, а так же сняты ограничения на
использования command...
- Добавления от AgreeII:
- число байт в ipaccount выводится в формате ###.###.###
- время последнего upload/download вместо секунд выводится в DDd HHh MMm SSs
- на странице логина "курсорчик" помещается в поле ввода пароля
------- OLD ------
Статус:
Релиз кандидат 1, версия MC01.
Что нового:
- Устранена проблема со сбросом ipaccount статистики в режиме PPP/PPTP связанная с реконнектом.
- В ядро добавлен драйвер IMQ (http://www.linuximq.net), для этих же целей была добавлена
утилита ip в busybox(ip, iplink, iproute, iptunnel) и пересобран iptables.
- Добавлен модуль ip_gre для создания туннелей, который по необходимости нужно подгрузить
через insmod в любой из секций config.xml преднозначенных для выполнения команд, например:
.
ip_gre
- Добавлен скрипт облегчающий подключение к ISP Infoline через PPTP(Спасибо vylekzhanin & ap)
- pptp_infoline, который следует использовать в секции start_init config.xml. Для
подключения к ISP Infoline необходимо сделать следущее:
- Сделать все установки роутера в режиме Static
- добавить в конфиг config.xml, в секцию start_init, запуск скрипта pptp_infoline:
.
.
.
.
10.10.10.1 mylogin mypassword
.
Примечание: Если вы хотите запускать приложения после установленного соединения с
PPTP сервером, вам необходимо использовать секцию texternal, она полностью аналогична
секции exterlnal для режимов PPPoE/PPPoA, все остальные ниже описанные параметры
будут действовать и для режима PPTP. Так же для режима PPTP введена индикация подключения,
если соединение установлено, то индикация Status перестает мигать и горит постоянно, если
соединение разрывается, то индикация Status возвращается в режим мигания. Для проброса
портов за NAT используйте секции textenal или start_ipt и команду iptables.
- Добавлен скрипт облегчающий установку привязки IP к MAC адресу для доступа к устройству
(Спасибо ZYV) ipmac, который следует использовать в секции external или texternal для
PPP/PPTP. Возможен вариант использования в секции start_ipt. Вариант использования:
.
.
.
.
192.168.0.51 00:xx:xx:53:BE:7D
192.168.0.52 00:xx:xx:53:BE:7E
....
Статус:
Close Beta 3, версия MC00.
Что нового:
- Добавлена возможность загрузки iptables правил сразу же после загрузки iptables
модулей, секция start_ipt, например:
.
.
.
.
.
.
-A INPUT -j DROP
.
- Получение IP Account в текстовом виде с дальнейшим сбросом счетчика, для этих
целей можено использовать wget и другие подобного типа программы:
wget http://192.168.1.1/cgi-bin/ipaccount_txt
- Новое ядро, которое должно обеспечить максимальную защиту от порчи env области
при "Save All", такая вероятность всеравно сохраняется, но ее возникновение
стало гораздо ниже, чем было. Теперь ядра будут выпускаться под конкретные
устройства, для 300T, для 500T и для 504T(оно же для G604T)...
Статус:
Close Beta 2, версия MC00.
Что нового:
- На главной веб странице, закладка Home, будет добавляться информация о версии прошивки.
- IP Acсount, встроена в web возможность просмотра состояния трафика по IP адресам сети,
данная опция находится в закладке Status. Для ее активизации потребуется редактирование
config.xml, путем включения параметра count_net в секции setenv, необходимо в этом
параметре указать IP и маску сети:
.
.
.
.
.
.
192.168.1.0/24
- Заменен сервер телнета utelnetd на встроенный в busybox, теперь появилась возможность
создавать длинные команды и их редактировать, с utelnetd редактирование этих команд
производилось в слепую, т.к. он постоянно смещал текст, возможно это решит еще одну
проблему с Enter у windows клиентов...
- Возможность запуска системы в полуаварийном режиме с битым env, правда для этого
всеравно придеться восстанавливать env через ADAM2, но зато гарантированно не пропадут
разделы mtd дисков, в полуаварийном режиме "Status" будет мигать раз в 10 быстрее,
что и будет символизировать о неполадках в env с mtd дисками. Как выяснилось, это
основная причина по которой невозможно сохранить настройки и восстановить из
бекапа образ mtd3 диска. В следущей(MC02), после этой, прошивки будут интегрированы
механизмы для упрощенного восстановления env области и работы с бекапом mtd3 диска,
пока этот вопрос еще не проработан до конца.
------- OLD ------
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для G604Т:
dc12991a653aa4732aea777a10e03467 DSL-G604T_kernel_V1.00B02T02.RU.20041207.MC00
Прошивка fs на базе прошивки 20041224 с DSP firmware 1.01.00.00 для G604T:
e53ebb82e963564a474df43bbc953153 DSL-G604T_fs_V1.00B02T02.RU.20041207.MC00_dsp1010000
Прошивка fs на базе прошивки 20041224 с DSP firmware 3.00.08.00 для G604T:
ed783e3a832695c5507886a99f749206 DSL-G604T_fs_V1.00B02T02.RU.20041207.MC00_dsp3000800
ВНИМАНИЕ: Эта прошивка базируется на всех наработках для устройств серии 50xT, поэтому
все описаное ниже действует и на G604T.
Статус:
Beta 1, версия MC00.
Что нового:
- Множество доработок и обновлений в ядре:
В lzma декомпрессоре для squashfs были заменены vmalloc()&vfree() на
kmalloc()&kfree(), что позволило оптимизировать скорость работы lzma декомпрессии
и дало возможность работать ядру на устройствах 300Т.
Полностью заменен netfilter на более свежую версию (patch-o-matic-20031219) и
сделано несколько бакпортов из ядер 2.4.2x для его работы.
- Заменена версия iptables 1.2.6a на 1.2.8
- Протестирован и работает PPTP VPN passthrough. Раньше нельзя было создать более
одного соединения через NAT на PPTP сервер, нужные модули из старого netfilter
никакого эффекта не давали, поэтому пришлось портировать новую версию.
Напоминаю, для активизации PPTP VPN passthrough необходимо в секции setenv config.xml
прописать параметр pptp_nat:
.
.
.
.
.
.
yes
- Добавлен большой список netfilter модулей работающих через NAT:
Quake III Arena protocol support - insmod ip_conntrack_quake3; insmod ip_nat_quake3
RTSP protocol support - insmod ip_conntrack_rtsp; insmod ip_conntrack_rtsp
MMS(Microsoft Windows Media Services) protocol support - insmod ip_conntrack_mms;
insmod ip_nat_mms
CuSeeMe protocol support - insmod ip_nat_cuseeme
ARP support & etc.
------- OLD ------
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для 500Т:
6e372ddd61a1ff730df059189666a43d DSL-500T_kernel_V1.00B02T02.RU.20041224.MC04
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для 504Т:
1f62eaa2dfcb36ef50e98bdc89182786 DSL-504T_kernel_V1.00B02T02.RU.20041224.MC04
Прошивка fs на базе прошивки 20041224 с DSP firmware 1.01.00.00 для 50xT:
4c9ccf38047caf6ef34e64dd54b1584b DSL-50xT_fs_V1.00B02T02.RU.20041224.MC04_dsp1010000
Прошивка fs на базе прошивки 20041224 с DSP firmware 3.00.08.00 для 50xT:
3af6953d03df276268249b6eff744075 DSL-50xT_fs_V1.00B02T02.RU.20041224.MC04_dsp3000800
Статус:
Релиз кандидат 2, версия MC04.
Что нового:
- Устранена проблема с большой нагрузкой на CPU от thttpd, которая возникала из-за
разности установки времени системой и менеджером управления, в качестве временной
меры было предложено использовать синхронизацию времени из инета по NTP. Теперь
проводить синхронизацию времени не обязательно.
- Установлена новая версия busybox из CVS.
--- OLD ----
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для 500Т:
6e372ddd61a1ff730df059189666a43d DSL-500T_kernel_V1.00B02T02.RU.20041224.MC03
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs-2.1 и т.п. для 504Т:
1f62eaa2dfcb36ef50e98bdc89182786 DSL-504T_kernel_V1.00B02T02.RU.20041224.MC03
Прошивка fs на базе прошивки 20041224 с DSP firmware 1.01.00.00 для 50xT:
a923ab69bf1443bd42105ae9628de6a3 DSL-50xT_fs_V1.00B02T02.RU.20041224.MC03_dsp1010000
Прошивка fs на базе прошивки 20041224 с DSP firmware 3.00.08.00 для 50xT:
ad0f19ff04d4b9962f483d51dd8e97b2 DSL-50xT_fs_V1.00B02T02.RU.20041224.MC03_dsp3000800
Что нового:
- Переход на новую версию squashfs-2.1, теперь стало возможным создавать более компактные
прошивки, а также исчез баг с памятью в работе squashfs, который был в squashfs-1.x,
и из-за которого пришлось exepak'нуть ряд бинариков, теперь в этом нет необходимости.
- Вернул патч busybox'овскому init.
- Данная прошивка содержит 2а fs имиджа:
*_dsp1010000 - fs имидж с DSP firmware 1.01.00.00, используется в последних прошивках
*_dsp3000800 - fs имидж с DSP firmware 3.00.08.00, использовался в старых прошивках
Если имеются проблемы с коннектом к DSLAM вашего провайдера, попробуйте поочередно
эти fs имиджи и оставте тот, который стабильно вяжется и держит соединение с ним...
--------
ОЧЕНЬ ВАЖНО!!! Прошивайте кернел имидж только под свое устройство, ни в коем
случае не путайте их, в противном случае вас ждет раздел "Recovery" в самом
низу данного текста! Теперь прошивка будет идти сразу на 2-а устройства - 500Т
и 504Т, и различаться будут кернел имиджами...
Прошивка fs на базе прошивки 20041224 с DSP firmware от 20040830 D-Link
dbb7f085d12e2438766e768aef587c8f DSL-500T_fs_V1.00B02T02.RU.20041224.MC01
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs и т.п.:
f1d4c30898683fba494518a4923f1e2d DSL-504T_kernel_V1.00B02T02.RU.20041224.MC01
Что сделано и нового:
1. Полностью завершил работу над ядром для устройств DSL-504T со встроенным
свитчем на 4-е порта. Теперь ядро собрано и работает:), а MIPS'евский
дизассемблер просто лапочка...
2. Для 504Т на 100% подходят fs имиджи от 500T, поэтому отдельно для 504Т
fs имиджи выпускаться не будут, т.к. нет смысла и проще будет создавать
прошивки для 2х устройст одновременно. К тому же, 504Т мне дали на время
и в дальнейшем не будет возможности проверить работоспособность fs имиджа.
3. В fs имидже следущие изменения:
- busybox собран со встроенным netcat в следствии чего была удалена отдельная
версия nc.
- Вернул родной init busybox'у, возможно из-за патченного init падал роутер
проработав не больше 50 часов, хотя может причина была не в этом.
- Устранил ограничение на ввод пароля в веб менеджере, в родной прошивке его длину
почему-то урезали до 8-ми символов...
ВНИМАНИЕ! Внимательно читайте описание, особенно те, кто в первые будет ставить прошивку!
----- ---
Прошивка fs на базе прошивки 20041224 с DSP firmware от 20040830 D-Link
cc88ed80ca6cb1996f81a636e047a11f DSL-500T_fs_V1.00B02T02.RU.20041224.MC00
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs и т.п.:
e640bc8771db9484c1b54ac06bc404a2 DSL-500T_kernel_V1.00B02T02.RU.20041224.MC00
Что сделано и нового:
1. В busybox встроена дополнительная комманда - more
2. Добавлены утилиты tcpdump и netcat
3. Пофиксен баг с uptime для web (D-Link).
4. Добавлены модули для PPTP/GRE работающего за NAT (для тестирования), для их
активизации необходимо в секции setenv config.xml прописать параметр pptp_nat:
.
.
.
.
.
.
yes
5. Доработан скрипт wondershaper - wshaper. Появилась возможность установки
скоростей через setenv config.xml, если их не установить, то они беруться
автоматом от модема. Введены новые опции для приоритетов через setenv.
Список всех новых опций:
speeds:
tc_downlink (в Kbit)
tc_uplink (в Kbit)
high priority:
tc_hipriohostsrc
tc_hipriohostdst
tc_hiprioportsrc
tc_hiprioportdst
low priority:
tc_nopriohostsrc
tc_nopriohostdst
tc_noprioportsrc
tc_noprioportdst
В директории script выложен сам wshaper, что бы вы могли детально его изучить.
Перечисление хостов и портов осуществляется через пробел, например:
.
.
.
.
.
.
yes
100
80
111 22 8080
6. Некоторые программы пришлось пожать exepak'ером, т.к. возникли проблемы
с размером оперативной памяти...
----- OLD -----
Прошивка fs на базе прошивки 20041410 с DSP firmware от 20040830 D-Link
в формате LZMA squashfs:
e1dea00bfd71e717e839c49ca28777fb DSL-500T_fs_V1.00B02T02.RU.20041116.MC.02
Прошивка кернел с поддержкой PTY, MPPE, CBQ, HTB, LZMA squashfs и т.п.:
e640bc8771db9484c1b54ac06bc404a2 DSL-500T_kernel_V1.00B02T02.RU.20041116.MC.02
Что сделано и нового:
1. Полностью пересобраны uClibc с поддержкой libm, что позволит портировать софт
с типами float и double, используется возможность кернельного FPU эмулятора
для MIPS архитектуры. При сборке софта ни в коем случае нельзя использовать
ключ -msoft-float для gcc!
2. Портирована новая версия busybox v.1.00, с дополнительными встроенными
коммандами такими как awk, sed, uptime, ftpget, ftpput, xargs, killall и т.д.
Весь список комманд можно посмотреть в режиме телнета. Шел ash(sh) собран
с возможностями производить математические операции, с помошью комманды let
или в двойных круглых скобках, типа $((23*54/12)).
3. Пересобрано ядро системы с возможностями QoS (packet scheduler CBQ, HTB, SFQ,
ATM и т.д.). Данная возможность находится в режиме тестирования...
4. После замены штаных uClibc и busybox на новые с дополнительными возможностями,
стало возможным портировать программу TC (traffic control) для управления QoS.
Работа QoS находится в режиме тестирования! Немного информации по TC можно
получить тут (раздел "5. Управление трафиком."):
http://www.opennet.ru/base/net/adv_route_qos.txt.html
или тут:
http://lartc.org/
5. В прошивку встроенна реализация wondershaper 1.1a(HTB), что это такое и как
оно работает, можно узнать тут:
http://lartc.org/wondershaper/
Скрипт полностью автоматический и работает только в режиме PPP, для активизации
wondershaper достаточно в секции config.xml добавить следущее:
.
.
.
.
.
.
yes
Такое же имя, wshaper, носит скрипт wondershaper, он немного доработан от оригинала,
берет скорости из /proc/avalanche/avsar_modem_stats и в качестве первого аргумента
воспринимает имя сетевого интерфейса. Так же есть возможность посмотреть статистику или
удалить правила tc в режиме телнета:
# wshaper status ppp0
# wshaper stop ppp0
P.S. Если у кого-то есть свои замечания и дополнения по wondershaper, то оригинал
скрипта wshaper используемого в прошивке находится в директории script этого архива.
6. Для более продвинутых и знающих tc - можно все правила записать в секции
config.xml, однако эти правила сработают тогда, когда подымется PPP
интерфейс, возможен случай, когда не используется PPP, для этих целей был введен
новый узел в config.xml, который срабатывает аналогично external, но только на
завершающем этапе загрузки системы (init - rcS), т.о. в качестве сетевого
интерфейса можно будет указать ethX, nasX, brX.... Имя этого узла - start_init:
.
.
.
.
filter add dev eth0 protocol ip parent 10: prio 1 u32 match ip dport 22 0xffff flowid 10:1
.
filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2
.
.
P.S. Напоминаю, fs и кернел имиджи теперь полностью используют LZMA компрессию, если
у вас стоит штатная прошивка от D-Link, то порядок действий для данной прошивки такой,
в начале заливается кернел имидж, затем fs. В случае обратных действий, т.е. возврат
на родную прошивку, в начале заливается fs имидж, затем кернел. Все это необходимо
соблюдать, если вы прошиваете прошивки через web интерфейс, для прошивки через сервисный
ftp ADAM2 порядок не важен, важны только места mtd партиций. В самом конце README, я
добавил инструкцию как пользоваться этим сервисным ftp....
----- OLD--------
5b050ed6c02bf59d688edf8d7a4e3eb5 DSL-500T_fs_V1.00B02T02.RU.20041116.20041410.MC.01
fe638543d396e7a24f62831e9f8abe0d DSL-500T_kernel_V1.00B02T02.RU.20041116.MC.01
Изменения:
Переход на LZMA компрессию, более компактные размеры fs имиджа...
Прошивка fs на базе прошивки 20041410 с DSP firmware от 20040830 D-Link:
md5sum a6dfbd33ae4f5d9fa91a8d34cf070f1e DSL-500T_fs_V1.00B02T02.RU.20041116.20041410.MC.00
Прошивка кернел с поддержкой PTY и MPPE (рекомендуемая):
md5sum f4c6b9773805aec58570732ec0deb192 DSL-500T_kernel_V1.00B02T02.RU.20041116.MC.00
ВАЖНО: Если вы сделаете сохранение настроек из веб менеджера управления, то все
дополнительные настройки приведенные ниже - удаляются, поэтому их придется вводить
заново! В будущем эта проблема будет решена....
Что нового:
- Добавлен новый кернел имидж, основные отличия от штатного ядра D-Link:
- Встроена поддержка MPPE шифрации
- Встроена поддержка PTY устройств
В начале меняем прошивку кернел, затем прошивку fs...
- Добавлен клиент PPTP (pptp), а так же PPPD собранный с поддержкой PTY, MPPE и MS-CHAP-V2,
он выложен под видом tpppd, для того, что бы это работало, необходимо прошить новый(!) кернел.
Что бы протестировать PPTP соединение нужно из телнета запустить команду pptpc со следущими
ключами:
pptpc [pppd options до 8 если нужно]
(Встроенные опции для pppd - persist maxfail 20 lcp-echo-failure 10 lcp-echo-interval 60)
Пример подключения по PPTP VPN из дома к вашему офису с использованием MPPE шифрации,
естественно, если сервер поддерживает эту шифрацию, для автостарта пропишем все в XML
конфиг:
.
.
.
.
.
.
.
.
.
.
.
.
-u usrname:password -h myname.homelinux.org -w -r -q
-u ntp1.demos.net clock.uregina.ca ntp1.fau.de ntp.cesnet.cz
100.30.100.30 mcmcc passwDfgh noipdefault mppe-stateful require-mppe
MSD-3
192.168.30.0
255.255.254.0
192.168.40.0
Пояснения:
Обратите внимание на новые параметры в setenv - vpnnet[x] и vpnnetmask[x], сетки 192.168.30.0
с маской 255.255.254.0 и 192.168.40.0 с маской 255.255.255.0 находятся, допустим, в вашем офисе,
что бы до них достучаться необходимо прописать для них маршруты, т.е. поднять роутинг для этих
сеток, поэтому были введены эти параметры. Если не указывать vpnnetmask[x], то маска сети в
таком случае будет 255.255.255.0. Можно поднять таким образом 16 маршрутов ( от 0 до 15 )....
Интегрированный MPPE поддерживает шифрацию на 48bit и 128bit!
/*
Для подключения с помощью PPTP к вашему провайдеру требуется наличие сетевого интерфейса nasХ,
его наличие необходимо проверить с помощью ifconfig, если оно поднято и не содержит ip, то
необходимо перегрузить этот интерфейс с нужным ip, который выдал вам провайдер:
ifconfig nasХ down
ifconfig nasХ up /* можно еще указать маску сети - netmask */
За не имением такого способа подключения к провайдеру, все высказанное находится в стадии
тестирования и в будущем возможна автоматизация этого процесса после завершения тестирования.
*/
- Значительно уменьшено значение в ip_conntrack_tcp_timeout_close_wait, до 60 секунд.
- Увеличен размер таблицы активных соединений ip_conntrack_max, было 1024, стало 2048. Это
должно помочь при работе в p2p сетях(edonkey & etc). Ввиду малого кол-ва памяти - 16Мб,
рекомендуемый размер - 1024, поэтому надо учесть, что может возникнуть ситуация нехватки
памяти, не советую создавать большое кол-во активных соединений(!)...
- Установка timezone, что бы ваше устройство показывало время в соответствии с вашей зоной,
для этого добавлен новый узел setenv, а в нем t_zone, в котором вы должны указать свою
зону относительно UTC, для московского времени это выглядит как MSD-4(с 31 октября MSD-3),
см. пример:
.
.
.
.
.
.
.
.
.
.
.
.
/* Наш ранее добавленный узел для ntpdate и ddns */
.
.
.
/* Новый узел для уставок environment variable, в дальнейшем будет использоваться */
MSD-4 /* Установка для московского времени,
которое на 4-е часа больше, чем UTC.
Поэтому берем зону MSD и вычитаем 4(или 3). */
Если в консоли набрать команду date, то время должно отобразиться в соответствии с вашей зоной.
Например так: Tue Oct 19 14:06:01 MSD 2004
Данная опция работает только в telnet'е, на web менеджер управления она не влияет, он выдает
время только в UTC, исправлено ли это в последник прошивках, не проверял, но точно известно,
что в них заработал свой ntp клиент...
- (!)Только для специалистов: Переписан xmlstarter, теперь можно создавать свои собственные
узлы в XML конфиге и вызывать их через аргументы, например:
.
.
-u ntp1.demos.net
.
.
Вызываем как ./xmlstarter my_uzel, т.о. все, что находится в узле my_uzel будет выполнено.
Также возникла необходимось в уставке environment variable при загрузке системы, например
установка timezone
.
.
MSD-3
.
.
Вызываем как ./xmlstarter my_uzel timezone, на практике это выглядит следущим образом,
в стартовый скрипт /etc/init.d/rcS вносим небольшое изменение:
# Set timezone
if [ -f /var/tmp/tincfg.xml ]
then
GTZ=`xmlstarter my_uzel timezone`
if [ ! -z "$GTZ" ]
then
export TZ=$GTZ
fi
fi
# End
Таким образом мы можем устанавливать любые переменные при загрузке системы указывая
xmlstarter'у 2-а аргумента. Новая версия xmlstarter'а находится в директории src.
Апдейт:
1. В начале загрузим XML конфиг из устройства, это делается с помощью web интерфейса из браузера,
как обычно, логинимся и идем в закладку "Tools", выбираем "Update Gateway", в этом меню
есть раздел "Configuration - Backup & Restore", жмем на кнопку "Back Up", браузер предложит
вам сохранить config.xml, сохраняем его в нужное нам место.
2. Полученный файл нужно отредактировать, будьте очень аккуратны, не допускайте ошибок и делайте
то, что опишу я. Вначале немного об структуре этого XML конфига:
.
.
.
.
.
.
.
.
.
.
.
.
Видим, что основной узел config состоит из 3х узлов, таких как entities, modules и
dependencies, моя задумка заключается в том, что нужно добавить четвертый узел external.
Его структура выглядит так:
.
.
.
-u usrname:password -h myname.homelinux.org -w -r -q
-u ntp1.demos.net clock.uregina.ca ntp1.fau.de ntp.cesnet.cz
Узлы в external носят имена названия запускаемых программ, а внутри их необходимые
опции для этих программ. Теперь зная как все выглядит, допишем нужные узлы в этой
форме в наш config.xml. Если нужно запускать iptables, то его тоже можно туда
таким образом прописать. Кто как это будет делать, его личное дело, можно в специальных
редакторах, а можно в любом текстовом редакторе, но нужно учесть, что в config.xml
удалены разметки ввида перевода строки, табуляций и все выглядит как одна длинная строка,
а спецредакторы могут в самом верху вставить строчку идентификатора, ее обязательно
нужно будет удалить!
3. Все делаем как в пункте 1, до момента загрузки конфига, теперь полученный после редактирования
конфиг нужно вернуть обратно, для этого в "Select a Configuration file" указываем на наш
файл и жмем на кнопку Restore, после чего, если нет ошибок в вашем конфиге, он загрузится
и устройство пойдет на перезагрузку.
4. Теперь можно залить новую прошивку в устройство, как это вы делаете обычно...
ddns - dyndns-клиент на основе dyndnsupdate-0.6.14
Options are:
-a, --address Ip address (Required or -r or -i).
-b, --backmx Set backup mx ON, default is OFF.
-d, --debug Show communication with server.
-f, --force Force update when ipaddress is not changed.
-h, --host ,[host] Host/hostnames (Required).
-i, --interface Network device to grab ip address from
(Required or -a or -r).
-l, --syslog Log all messages to syslog. (Отключена совсем)
-m, --mx Hostname of your mail exchange.
-o, --offline Set host offline.
-q, --quiet Don't print any status/error messages.
-r, --resolv Resolv your ip address automaticly
(Required or -a or -i).
-s, --system[dyndns:statdns:custom]
Use only one of dyndns, statdns or custom
(Without the -s/--sytem default is "dyndns").
-u, --user : User ID and Password (Required).
-w, --wildcard Set your domain for wildcard aliases ON,
defalut is OFF.
--help displays this help.
--version displays version information.
--credits displays credits.
ntpdate - ntp-клиент, который берет время из интернета и устанавливает его в систему,
в данном устройстве время в UTC (Относительно московского времени на 4-е часа меньше)
usage: ntpdate [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-r rate]
[-t timeo] [-U username] server ...
COMMAND LINE OPTIONS
-a key Enable the authentication function and specify the key
identifier to be used for authentication as the argument key
ntpdate . The keys and key identifiers must match in both the
client and server key files. The default is to disable the
authentication function.
-B Force the time to always be slewed using the adjtime() system
call, even if the measured offset is greater than +-128 ms. The
default is to step the time using settimeofday() if the offset
is greater than +-128 ms. Note that, if the offset is much
greater than +-128 ms in this case, that it can take a long
time (hours) to slew the clock to the correct value. During
this time. the host should not be used to synchronize clients.
-b Force the time to be stepped using the settimeofday() system
call, rather than slewed (default) using the adjtime() system
call. This option should be used when called from a startup
file at boot time.
-d Enable the debugging mode, in which ntpdate will go through
all the steps, but not adjust the local clock. Information use-
ful for general debugging will also be printed.
-e authdelay Specify the processing delay to perform an authenti-
cation function as the value authdelay , in seconds and frac-
tion (see ntpd for details). This number is usually small
enough to be negligible for most purposes, though specifying a
value may improve timekeeping on very slow CPU's.
-k keyfile Specify the path for the authentication key file as the
string keyfile . The default is /etc/ntp.keys . This file
should be in the format described in ntpd .
-o version Specify the NTP version for outgoint packets as the
integer version , which can be 1 or 2. The default is 3. This
allows ntpdate to be used with older NTP versions.
-p samples Specify the number of samples to be acquired from each
server as the integer samples , with values from 1 to 8 inclu-
sive. The default is 4.
-q Query only - don't set the clock.
-s Divert logging output from the standard output (default) to the
system syslog facility. This is designed primarily for conve-
nience of cron scripts.
-t timeout Specify the maximum time waiting for a server response
as the value timeout , in seconds and fraction. The value is is
rounded to a multiple of 0.2 seconds. The default is 1 second,
a value suitable for polling across a LAN.
-u Direct ntpdate to use an unprivileged port or outgoing pack-
ets. This is most useful when behind a firewall that blocks
incoming traffic to privileged ports, and you want to synchro-
nise with hosts beyond the firewall. Note that the
-U user_name ntpdate process drops root privileges and changes
user ID to user_name and group ID to the primary group of
server_user.
-d option always uses unprivileged ports.
- v Be verbose. This option will cause ntpdate 's version identi-
fication string to be logged.
Copyright (C) 2005,2004 McMCC
Recovery HOWTO:
--------- Прошивка не встала -------
URL: http://www.dlink.ru/phorum/viewtopic.php?t=6143
Bо всех модемах от D-Link имеется сервисный FTP
сервер ADAM2 с ip адресом 10.8.8.8(для DSL-G604T - 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
После этого включил модем с нажатым ресетом (Можно не нажимать,
главное успеть сделать 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"
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, иначе попортится область
environment, в dlink'ах для записи config.xml происходит
не на прямую в mtd3, а в устройство /dev/ticfg, которое
делает пропуск начального блока в mtd3...
(с) McMCC, 2004
--------------
P.S.
Мне это приходилось часто делать, когда разбирался с ядром, правда
не приходилось нажимать на RESET, т.к. устройство само в таком
случае активизировала работу сервисного ftp. Кернел имидж заливается
только на mtd1 и не на какое-либо другое устройство!!!
ADAM2 являеться неким подобием BIOSа, имеет встроенный ftp сервер,
консоль и может работать c BOOTP...
Много полезной информации взято отсюда:
http://www.akk.org/~enrik/fbox/recovery.txt
---- Накрылась область environment ---
http://www.dlink.ru/phorum/viewtopic.php?t=6548
Q. На комманде put fs.img "fs.img mtd0" у меня неизменно вылетает:
550: environment variable not set.
put fs.img: server said: 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
Например так:
GETENV mtd0
Отклик дожен быть таким:
mtd0 0x900a0000,0x903f0000
Если его не будет, то значит так и есть, запорота
область environment....
SETENV , - Установить значение в key
UNSETENV - Удалить 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.
После перезагрузки все должно заработать, я тут
недавно такое проделывал одному знакомому, который
тоже что-то не так сделал и у него устройство перестало
бутиться. Однако, если вам не очень понятно, про что
здесь написано, то советую самому этого не делать,
лучше всего отвести устройство в сервис...
===========================
Mokruchin I.V. aka McMCC
mcmcc@mail.ru
===========================