OpenWrt

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск

Данная инструкция нужна для прошивки роутера Dir320 в конфиг:

  • OpenWrt backfire 10.03.1-rc5 2.6
  • беспроводной репитер(клиент), dhcp, не bridged
  • установка ser2net, mjpg_streamer; возможность подключения uvc-вебки, а также usb-флешки для установки на нее дополнительных пакетов
  • удаление firewall

Для дальнейшей работы необходимы

firmware.bin - прошивка OpenWrt backfire 10.03.1-rc5 2.6 install_firmware.bat - установщик прошивки из под Winwows tmp - папка с необходимыми для настройки файлами

Файл:Dir320 QuickSet.rar

Для Windows нужны программы Putty и WinSCP, в linux работа ведется из под консоли

Прошивка

1. Роутер соединить с компьютером посредством Ethernet-кабеля, настроить его IP-адрес на 192.168.0.1, поменять IP сетевой карты на - 192.168.0.10 2. Отключить питание роутера 3. Запустить install_firmware.bat 4. Следовать инструкциям программы 5. По завершинию настроить IP-адрес компьютера на 192.168.1.10

Настройка роутера

Установка пароля root

telnet root@192.168.1.1 
passwd root
_ПАРОЛЬ_
_ПАРОЛЬ_

После перезагрузки доступ через telnet будет закрыт, используем ssh


Установка программ

Конфиги в tmp настраиваем по вкусу и продолжаем:

scp root@192.168.1.1 скопировать файлы из tmp в папку /tmp

ssh root@192.168.1.1
chmod +x /tmp/custom-user-setup /tmp/opkg-link /tmp/usb_storage
opkg update
opkg remove firewall
opkg install kmod-usb2 kmod-usb-ohci kmod-usb-uhci kmod-usb-video kmod-video-core kmod-video-uvc mjpg-streamer
opkg install ser2net setserial coreutils coreutils-stty kmod-video-gspca-core kmod-usb-storage kmod-fs-ext3
mv /tmp/ser2net.conf /etc
mv /tmp/custom-user-setup /etc/init.d
/etc/init.d/custom-user-setup enable 
/etc/init.d/custom-user-setup start


Тест вебки

подключаем вебку

/etc/init.d/mjpg-streamer enable
/etc/init.d/mjpg-streamer start

Заходим на http://192.168.0.6:8080/?action=stream ИЛИ http://192.168.1.1:8080/?action=stream если видео тупит, то

opkg remove kmod-video-gspca-core
opkg install kmod-video-gspca-core
/etc/init.d/mjpg-streamer stop
/etc/init.d/mjpg-streamer start
reboot 

Настройки камеры лежат по адресу /etc/config/uvc-streamer

Настраиваем роутер на режим беспроводного репитера

Указываем параметры беспроводного соединения

1. В таблице ниже надо указать свои SSID и ключ шифрования; основной роутер должен быть в смешанном режиме WPA+WPA2

ssh root@192.168.1.1
uci set wireless.radio0.channel=6
uci delete wireless.radio0.hwmode
uci delete wireless.radio0.disabled
uci set wireless.radio0.macaddr=00:90:4c:c1:00:00
uci set wireless.@wifi-iface[0].network=wan
uci set wireless.@wifi-iface[0].mode=sta
uci set wireless.@wifi-iface[0].ssid=_SSID_
uci set wireless.@wifi-iface[0].encryption='psk-mixed/tkip+aes'
uci set wireless.@wifi-iface[0].key=_MY_KEY_
uci commit wireless
reboot 

2. Или с помощью WinSCP выполняем:

  1. scp root@192.168.1.1
  2. Изменяем файл wireless (SSID и ключ)
  3. Заменяем им /etc/config/wireless
  4. Перезагружаемся


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

ssh root@192.168.1.1
wifi up

Если будет ругаться на PHY — смотрим мак-адрес командой ниже и меняем соответствующую строку в пункте 1:

cat /sys/class/ieee80211/phy0/macaddress

Если подключился — запоминаем IP-адрес. Теперь можно отсоединить Ethernet-кабель от роутера и зайти на него

Расширяем память использованием USB-flash

1. Устанавливаем необходимые для дальнейшей работы пакеты

ssh root@192.168.1.1
opkg update
opkg install block-mount e2fsprogs block-extroot
/etc/init.d/fstab start
/etc/init.d/fstab enable

2. Разбиваем и форматируем нашу флешку следующим образом (как пример):

/dev/sda1 128Мб swap /dev/sda2 150Мб ext3 /dev/sda3 (free) ext3

sda1 далее мы примонтируем как раздел подкачки, sda2 как корень фс, sda3 как /home

3. Подключаем флешку к роутеру и выполняем:

mount -t ext3 /dev/sda2 /mnt
mount -o bind / /tmp/root
mkdir -p /tmp/root/*
cp /tmp/root/* /mnt -a
umount /mnt

4. Отредактируем файл /etc/config/fstab любым удобным для нас образом (например по scp). Пример:

config global automount
        option from_fstab 1
        option anon_mount 1

config global autoswap
        option from_fstab 1
        option anon_swap 0

config mount
        option target   /
        option device   /dev/sda2
        option fstype   ext3
        option options  rw,sync
        option enabled  1
        option enabled_fsck 1
        option is_rootfs 1

config mount
        option target   /home
        option device   /dev/sda3
        option fstype   ext3
        option options  rw,sync
        option enabled  1
        option enabled_fsck 1

config swap
        option device   /dev/sda1
        option enabled  1


5. Перезагрузимся

nvram commit
/etc/init.d/fstab restart
reboot

6. Проверка

ssh root@192.168.1.1
df -h
free

Зажигаем светодиоды

Для управления доступны всего 5 светодиодов, которые как известно вполне можно использовать как выводные порты. Светодиоды доступны по адресам:

  1. /proc/diag/led/blue
  2. /proc/diag/led/red
  3. /proc/diag/led/wlan
  4. /proc/diag/led/diag
  5. /proc/diag/led/usb

Управление осуществляется путем записи 0 или 1 по соответствующему адресу "echo 0|1 » /proc/diag/les/blue|red|wlan|diag|usb"

Работа с UART

Традиционно необходимо отключить отладочную консоль

nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null"
nvram commit

Далее устанавливаем программу для изменения параметров порта

opkg install coreutils-stty

Пробуем работать с портом

echo "Hello, world!" > /dev/ttyS0
cat /dev/ttyS0

См. также

Статьи о роутере D-Link 320

[Прошивка от Олега]

[OpenWRT]