OpenWrt
Данная инструкция нужна для прошивки роутера 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 - папка с необходимыми для настройки файлами
Для 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 выполняем:
- scp root@192.168.1.1
- Изменяем файл wireless (SSID и ключ)
- Заменяем им /etc/config/wireless
- Перезагружаемся
Пробуем соединиться с главным 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 светодиодов, которые как известно вполне можно использовать как выводные порты. Светодиоды доступны по адресам:
- /proc/diag/led/blue
- /proc/diag/led/red
- /proc/diag/led/wlan
- /proc/diag/led/diag
- /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]