Использование клиента TFTP роутера. (перевод вики-вэ-эр-тэ) Если вы хотите установить прошивку, используя TFTP, выполните следующие действия. 1. Подключите последовательный TTL-кабель для передачи команд CFE через последовательный программного обеспечения консоли, для загрузки микропрограммы с помощью TFTP. 2. Запустите сервер TFTP в вашем компьютере. 3. Скопируйте файл firmware.bin в директорию TFTP сервера. 4. Установите IP в вашем компьютере в 192.168.1.35 (или любой другой совместимый), и подключите сетевой кабель к маршрутизатору . 5. Включите маршрутизатор, нажмите любую клавишу в последовательной консоли, чтобы войти в CFE переводчика командной строки.
теперь выполните команду: f 192.168.1.35:firmware.bin Должно выглядеть так и случиться следующие:
CFE> f 192.168.1.35:firmware.bin Loading 192.168.1.35:firmware.bin . Finished loading 2686980 bytes
Flashing root file system and kernel at 0xbfc10000: .
p.s выключили роутер, подключили консольный кабель, нажали пробел на клавиатуре (не отпуская), включаете питание роутера. как только появиться после строчки * Press any key to stop auto run (1 seconds) * и следующие сообщение:
Auto run second count down: 1 CFE> CFE>
значит загрузчик готов принимать ваши команды. Отпускаете эникея(пробел на клавиатуре).
полный код от точки старта выглядит так:
DGND3700 Boot Code V1.0.8 CFE version 1.0.37-104.4 for BCM96368 (32bit,SP,BE) Build Date: Mon Feb 21 17:59:46 CST 2011 (finerain@moonlight) Copyright (C) 2000-2009 Broadcom Corporation.
Parallel flash device: name AM29LV320MT, id 0x2201 size 32768KB Total Flash size: 32768K with 256 sectors ethsw: found bcm53115! Chip ID: BCM6368B2, MIPS: 400MHz Main Thread: TP0 Total Memory: 134217728 bytes (128MB) Boot Address: 0xb8000000
Board IP address : 192.168.1.1:ffffff00 Host IP address : 192.168.1.2 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-11) : 96368MVWG Number of MAC Addresses (1-32) : 10 Base MAC Address : 20:4e:7f:c0:b5:4c PSI Size (1-64) KBytes : 24 Enable Backup PSI [0|1] : 0 System Log Size (0-256) KBytes : 0 Main Thread Number [0|1] : 0
* Press any key to stop auto run (1 seconds) * Auto run second count down: 1 CFE> CFE>
Получили управление CFE, переходите в начала поста и проделываете описанное выше. Или сразу к команде f 192.168.1.35:firmware.bin, если остальное готово и в нужном месте. Не забудьте прописать на компе указанный IP и подключить пачкорд к сетевой карте и роутеру ! (потому как к телу подбираетесь с двух «сторон» )
у меня лично когда-то это не удалось(вероятно ошибка), но был программатор, по лени не стал выяснять. но Вы попробуйте.. авось поможет.
Пошаговая прошивка OpenWRT на роутер TP-LINK TL-WR741ND из Windows
Роутеры лишаются своих родных прошивок по разным причинам. Желание добавить функционал, припаять USB порт или просто добавить стабильности в работу роутера.
В моём случае роутер на последней стабильной родной прошивке при 1-5 WiFi и 1-2 Ethernet потребителях подвисал 1-2 раза в неделю. Это не очень страшно, но и перезагружать его надоело. Хотелось стабильности. После долгих поисков и чтения отзывов выбор пал на OpenWRT. В статье уже представлена пошаговая инструкция без проб и ошибок, которые мне пришлось пройти.
Шаг 0
Надеюсь взявшись за прошивку роутера вы понимаете, что на одном из шагов вы можете лишиться доступа в интернет. Так, что настоятельно советую полностью прочитать статью, заранее скачать все нужные файлы и уже после этого приступить к прошивке.
Шаг 1
Шаг 2
Далее необходимо выбрать версию прошивки OpenWRT.
Следует использовать именно тот файл, который согласуется с версией железа вашей модели. Не пренебрегайте этим правилом! Возможны два варианта файловой системы для загрузки: JFFS2 и SquashFS. Судя по отзывам стоит остановить свой выбор на SquashFS-файлах. Слово factory в названии файла значит, что такой файл вы должны заливать на ваше устройство поверх заводской (родной) прошивки. файл со словом sysupgrade применим только для обновления OpenWRT, т.е. заливается после factory прошивки.
Качаем factory прошивку и шьём обычным способом (System Tools -> Firmware Upgrade).
Шаг 3 или всё пропало
После успешной прошивки мы получаем рабочий роутер с выключеным web-интерфейсом. Поэтому зайти в настройки через браузер уже не получиться. Дальнейшие действия таковы:
Открываем PuTTY, выбираем Telnet протокол, адрес 192.168.1.1 порт 23, жмём «Соединение».
Входим на роутер. Изначально вы под пользователем root без пароля. Набираем команду:
И два раза пишем новый пароль для пользователя root. Далее пишем:
Открываем WinSCP, выбираем SCP протокол, адрес 192.168.1.1 порт 22, User name: root, Password тот который задали раннее, жмём «Login».
На все смутные вопросы отвечаем да и видим окошко с файлами на вашем компьютере и на роутере. Далее берем вторую часть прошивки (та которая sysupgrade), переименовываем её в code.bin и забрасываем её на роутер в папку /tmp. Закрываем программу.
Открываем PuTTY, выбираем SSH протокол, адрес root@192.168.1.1 порт 22, жмём «Соединение». Набираем пароль который задали раннее для root. Входим в роутер и набираем команду для его прошивки:
Ждём пока роутер прошьётся и перезагрузится. Ориентируемся по лампочкам. Далее повторяем шаг:
Открываем PuTTY, выбираем Telnet протокол, адрес 192.168.1.1 порт 23, жмём «Соединение».
Входим на роутер. Изначально вы под пользователем root без пароля. Набираем команду:
И два раза пишем новый пароль для пользователя root.
Эти две команды включают и ставят в автозагрузку web-интерфейс роутера.
Выключаем роутер, включаем роутер.
По адресу 192.168.1.1 вам доступен web-интерфейс LuCI. Заходим под пользователем root и паролем, который задали раннее для root.
UPD. После долгой эксплуатации замечен единственный глюк. При изменении MAC адреса на WAN порте, он через 1-2 дня сбрасывается на заводской. В остальном роутер проявляет чудеса стабильности.
Сегодня мы узнаем, как с помощью утилиты telnet можно подключиться к роутеру D-Link и что это нам дает. Итак, что мы имеем:
Роутер. Моим подопытным будет роутер D-Link DSL-2640U. Это классический 4-х портовый модем, подключающийся к интернету с помощью технологии ADSL ( Asymmetric Digital Subscriber Line) через телефонный провод и раздающий его на все 4 порта + WiFi.
Компьютер под управлением операционной системы Windows 7 Pro
Итак. Опкрываем меню Пуск и вводим команду cmd. Можно так же воспользоваться командой Windows+R для вызова окна Выполнить и ввести команду cmd туда. Жмем Enter и перед нами всплывет окно командной строки.
Далее выполним команду telnet 192.168.1.1 23 , где 192.168.1.1 — это ip-адрес нашего модема, а 23 — порт telnet.
Внимание, перед тем, как заходить на модем через telnet, убедитесь, что в настройках модема разрешено подключение через telnet (при заводских настройках оно включено по умолчанию)
Если вы все сделали правильно, то telnet запросить логин и пароль. И не паникуйте, что при вводе пароля не появляются символы на экране. Это специальная фишка linux-систем как защита от кражей паролей
Если вы все сделали правильно, то перед вами появится следующая картина:
Что такое BusyBox вы можете почитать здесь. Если кратко, то это своеобразный интерпретатор команд для unix-подобных систем.
Итак, какие команды наиболее интересны:
Команда ls — — выводит список файлов или каталогов (для вывода корневых каталогов можно так же использовать echo */ )
cat — читает файл. (например, узнать версию встроенной операционной системы можно с помощью cat /proc/version , архитектуру — cat /proc/cpuinfo , память — cat /proc/mtd , )
pwd — узнать текущий каталог
ip — команда, раскрывающая все возможности работы с сетью
free — оперативная память на борту
Итак, попробуем посмотреть, что из каких файлов и папок состоит наша прошивка. Вводим команду ls -al и нажимаем Enter. И получиться у нас должно что-то типа такого:
Куча всего непонятного, правда? Не пугайтесь. Не так страшен черт, как его малюют. Давайте разбираться:
Первый столбец — это права доступа к файлу/папке (если кратко r — чтение, w — запись, x — исполнение, — — права отсутствуют, t — запрет на удаление пользователем), второй — это количество папок в в ветке, третий — размер файла, четвертый — название. Не так уж и страшно.
Теперь рассмотрим, что же представляет каждая из этих папок в ос Linux:
/var — Системные данные и конфигурационные файлы (в ос linux обычно является отдельной файловой системой)
/usr — Большинство стандартных программ и другие полезные компоненты (также часто в linux является отдельной файловой системой)
/tmp — Временные файлы, которые могут удаляться при перезагрузке
/sbin — Команды, необходимые для обеспечения минимальной работоспособности системы
/root — Домашний каталог суперпользователя
/proc — Информация о всех выполняющихся процессах
/opt — Программные пакеты необязательных приложения (которые пока не находят широкого применения)
/mnt — Временные точки монтирования
/lib, lib32, /lib64 — Библиотеки и вспомогательные файлы для стандартных программ
/etc — Важные файлы запуска и конфигурации системы
/dev — Файлы устройств: дисков, принтеров, псевдотерминалов и т.д.
/bin — команды операционной системы ядра
Если хотите узнать больше, введите в командной строке cat /proc/meminfo . Вы увидите следующее окошко:
Из всего этого нас больше всего интересует MemTotal и MemFree — всего и свободной памяти соответственно. Важной так же является информация в proc/mounts
На этом краткий обзор на сегодня закончу. В следующей статье
Через telnet мы можем так же посмотреть mac-адрес нашего устройства с помощью команды ip link:
Либо еще проще, через команду mfc mac get , например, для ревизий U/RA/U2A — можно проверить командой mfc hwrev get либо через mfc dump. Через telnet мы так же можем попробовать сменить mac-адрес модема, если верить вот этим инструкциям:
Но у меня для моего U/RA/U2A из этих инструкций ничего не сработало: они выполнились и даже mfc mac get показал правильный мак, но в веб-интерфейсе нули так и остались. Помогла команда
То, что вам нужно подставить вместо звезд, я думаю, вы догадаетесь без меня. Полный синтаксис команды будет такой: mfc init
Какие есть альтернативы в случае неудачи. Не отчаивайтесь. Можно попробовать восстановить mac-адреса с помощью кабеля или даже редактирования прошивки, слитой через программатор. Но такая работа требует больше усилий и навыков. Но в принципе эти способы могут пригодиться, если telnet вам откажет. Так же некоторые прошивки позволяют редактировать мак непосредственно в веб
Для более плотной работы с настройками модема введите команду resident_cli . Надо будет подтвердить логин и пароль еще раз. В окне терминала вы увидите снова общую информацию об устройстве и станет доступна консоль для настройки модема. Чтобы вернуться в окно BusyBox, выполните команду sh
Какие еще интересные команды? Для настройки фаервола есть команда iptables . Она открывает перед администратором огромные возможности (от которых честно говоря, можно захлебнуться. Так что я рекомендую настройки фаервола делать через обычный веб-интерфейс)
Перед тем, как прошивать, хорошо бы было снять копию текущей прошивки. Но это не так просто. В консоли D-Link нет готовой команды для бэкапа. Но есть другие не менее любопытные. Например, hexdump, а так же
dd — копирование файла с конвертированием и форматированием (с параметрами if, of, bs, skip, seek)
mkdir — создание каталога
Важно знать: все прошивки D-Link распространяются под лицензией GPL! А значит имеют открытый исходный код. Я не знаю, почему компания решила открыть все свои исходники своего ПО. На мой взгляд, это шаг назад, т.к. любой злоумышленник может модифицировать прошивку, залить туда троян либо другой вирус и заразить модемы. В связи с этим интернете, к сожалению, есть много описаний уязвимостей модемов D-Link с подробными рецептами, как ими пользоваться. Очевидно, это минус. Но нам это сейчас на руку. Конечно, нашей целью не является написание вирусов, а наоборот — расширение функционала.
Второй момент — это то, что исходники прошивки ни на каком ни php или asp, а на голом C++, под gcc заточенном. Не то, чтобы это было очень плохо, но это усложняет задачу. Лично для меня C++ — самый сложный стек, с которым мне приходилось сталкиваться. Я считаю, это язык для профессионалов. Но не все так плохо. Итак, впереди нас ждет веселое и увлекательное путешествие в реверс-инжиниринг исходного кода маршрутизаторов D-Link!
Все исходники на свои программы D-Link выкладывает здесь.