DIR-320 — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Шаг 4. Ставим софт для сборки прошивок)
(Шаг 5. Проверяем, что всё компилируется)
Строка 112: Строка 112:
  
 
=Шаг 5. Проверяем, что всё компилируется=
 
=Шаг 5. Проверяем, что всё компилируется=
 +
Создадим файл hello.c с тестовой программкой:
 +
<pre>
 +
#include <stdio.h>
 +
{
 +
printf("Hello world!\n");
 +
}
 +
</pre>
 +
 
Я это сделал так:
 
Я это сделал так:
 
<pre>
 
<pre>
Строка 119: Строка 127:
 
echo "}" >> hello.c
 
echo "}" >> hello.c
 
cat hello.c
 
cat hello.c
 +
</pre>
 +
 +
Теперь соберем её и запустим:
 +
<pre>
 +
gcc hello.c -o hello
 +
./hello
 
</pre>
 
</pre>

Версия 19:19, 27 февраля 2011

На этой странице по шагам будет описано как сделать из обычного роутера D-Link DIR-320 необычный :)

Шаг 1. Заливаем прошивку от Олега

1. Скачиваем и сохраняем прошивку: Новейшая прошивка от энтузиастов на базе прошивки от Олега 1.9.2.7-rtn http://narod.ru/disk/549608001/WL500gpv2-1.9.2.7-rtn-r2393M.trx.html (на ядре 2.6.22 Обсуждение прошивки http://wl500g.info/showthread.php?t=17136). После прошивки роутер будет представляться WL-500gPV2. Вырезаны samba, ftp, и много чего еще ради поддержки UVC вебкамер.

2. Для Windows Vista, Windows 7 включаем клиент tftp: Пуск->Панель управления->Программы->Включение или отключение компонентов Windows-> Ставим галочку рядом с пунктом "Клиент TFTP"->ОК. Для Linux устанавливаем клиент tftp штатными средствами дистрибутива, например для семейства Ubuntu командой в терминале: sudo apt-get install tftp

3. Создаем файл flashing.cmd в любом текстовом редакторе и сохраняем этот файл в папку c:\bin, в эту же папку кладем прошивку, переименованную в firmware.bin. Содержимое файла flashing.cmd:

@Echo Off
:BEGIN
ping -n 1 -w 1 192.168.0.1
If errorlevel 1 Goto BEGIN
If errorlevel 0 Goto FLASH
Goto END

:FLASH
Echo *** Start Flashing ****
tftp -i 192.168.0.1 put c:\bin\firmware.bin

:END

4. Устанавливаем адрес сетевой карты компьютера 192.168.0.2, маска 255.255.255.0, шлюз и DNS прописывать не надо. Подключаем к сетевой карте компьютера сетевой кабель, а второй конец сетевого кабеля вставляем в любой порт LAN роутера, питание роутера не включаем. 5. Запускаем командную строку ПУСК->Выполнить-> cmd, и выполнем команду перехода к папке C\:bin

C:\>cd c:\bin

6. Нажимаем и удерживаем кнопку Reset нажатой ну например спичкой, включаем питание роутера, загорятся все индикаторы и как только они погаснут индикаторы, кроме индикатора того порта LAN, к которому подключен кабель, кнопку Reset отпускаем и сразу же выполняем в ранее запущенной командной строке предварительно набранную команду

C:\bin>flashing.cmd

7. Наблюдаем процесс прошивки

Обмен пакетами с 192.168.0.1 по 32 байт:

Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.1: Пакетов: отправлено = 1, получено = 0, потеряно = 1 (100% потерь), <<< SKIP >>> <<< SKIP >>> <<< SKIP >>> <<< SKIP >>> Обмен пакетами с 192.168.0.1 по 32 байт:

Ответ от 192.168.0.1: число байт=32 время=4мс TTL=100

Статистика Ping для 192.168.0.1: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь), Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек

      • Start Flashing ****

Успешная передача: 3592480 байт за 11 сs, 281134 байт/с C:\bin>

8. После того, как загорится индикатор статуса (~1-2 мин) производим сброс настроек роутера по умолчанию. Для этого нажимаем и удерживаем кнопку Reset нажатой, пока не замигает индикатор статуса. Отпускаем Reset. Роутер перезагрузится. Адрес роутера по умолчанию сменился теперь на 192.168.1.1. После этого необходимо изменить IP адрес сетевой карты компьютера(по кабелю или WiFi) на получение адреса автоматически по DHCP.


P.S. Если Вам потребовалось восстановить оригинальную прошивку роутера D-Link DIR-320, то делаем следующее:

  • 1. Включаем питание роутера с зажатой кнопкой "Reset". Через 15 секунд отпускаем "Reset".
  • 2. Выставляем на компьютере вручную IP адрес 192.168.0.2, маска 255.255.255.0
  • 3. Заходим браузером по адресу 192.168.0.1 и попадаем в консоль аварийного восстановления.
  • 4. Скачиваем официальную прошивку и прошиваем ее через данную консоль.
  • 5. По окончанию прошивки выключаем роутер, ждем 30 секунд и включаем роутер.
  • 6. На компе выставляем авто-получение IP адреса, чистим кеш браузера, и заходим браузером по адресу 192.168.0.1
  • 7. Видим оригинальную прошивку. Все

Шаг 2. Подключаем флешку и монтируем в /opt

1. Подключаемся к роутеру через telnet командой вида "telnet 192.168.1.1";

2. Вставляем флешку;

3. Смотрим, как её определил роутер, командой "fdisk -l", у меня определил как "/dev/sda";

3. Форматируем флешку в "ext3" командой "mke2fs -j /dev/sda";

4. Создаём раздел командой "fdisk /dev/sda", нажимаем "w" и <enter>, чтобы сохранить изменения;

5. Монтируем флешку в /opt командой "mount /dev/sda /opt";

Шаг 3. Обновляемся

 #меняем репозиторий

echo -e "src optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable\ndest root /" > /etc/ipkg.conf

ipkg.sh update

ipkg.sh install uclibc-opt

ipkg.sh install ipkg-opt

ipkg update

 #обновляем все ранее установленные пакеты из нового репозитория

/usr/bin/awk '/^Package:/{system("ipkg install -force-reinstall -force-defaults " $2)}' /opt/lib/ipkg/status

Шаг 4. Ставим софт для сборки прошивок

ipkg install buildroot

Шаг 5. Проверяем, что всё компилируется

Создадим файл hello.c с тестовой программкой:

#include <stdio.h>
{
printf("Hello world!\n");
}

Я это сделал так:

echo "#include <stdio.h>" > hello.c
echo "{" >> hello.c
echo "printf(\"Hello world!\\n\");" >> hello.c
echo "}" >> hello.c
cat hello.c

Теперь соберем её и запустим:

gcc hello.c -o hello
./hello