OpenWrt — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Работа с UART)
 
(не показано 17 промежуточных версий этого же участника)
Строка 5: Строка 5:
 
*удаление firewall
 
*удаление firewall
  
=Прошивки:=
+
=Для дальнейшей работы необходимы=
webif_ser2net_correct-mjpg-streamer.bin --предустановлена админка Webif^2+apps, ser2net и mjpg_streamer, причем mjpg_streamer не глючит (в последних версиях наблюдал странные глюки: когда светло и нет движения, камера работает прекрасно, но если потемнеет - то начинаются полосы, цветовая нестабильность). Моя текущая прошивка
 
minimum.bin --прошивка с минимумом всего, вроде даже админки нету, юсб; инструкция писалась под эту версию прошивки
 
  
=Программы:=
+
firmware.bin - прошивка OpenWrt backfire 10.03.1-rc5 2.6
Нужны проги Putty и WinSCP
+
install_firmware.bat - установщик прошивки из под Winwows
 +
tmp - папка с необходимыми для настройки файлами
  
 +
[[Файл:Dir320_QuickSet.rar]]
  
A. Роутер соединить с компьютером посредством Ethernet-кабеля, настроить его IP-адрес на 192.168.0.1, комп - 192.168.0.10
+
Для Windows нужны программы Putty и WinSCP, в linux работа ведется из под консоли
  
0. Переименовать
+
=Прошивка=
webif_ser2net_correct-mjpg-streamer.bin ИЛИ minimum.bin
 
в firmware.bin
 
  
1. Прошивка роутера. Запускаем install_firmware.bat
+
1. Роутер соединить с компьютером посредством Ethernet-кабеля, настроить его IP-адрес на 192.168.0.1, поменять IP сетевой карты на - 192.168.0.10
 +
2. Отключить питание роутера  
 +
3. Запустить install_firmware.bat
 +
4. Следовать инструкциям программы
 +
5. По завершинию настроить IP-адрес компьютера на 192.168.1.10
  
 +
=Настройка роутера=
  
Б. Настроить IP-адрес компьютера на 192.168.1.10
+
== Установка пароля root ==
  
2. telnet 192.168.1.1 --смена(создание) пароля root, прога - Putty
+
<pre>
passwd
+
telnet root@192.168.1.1  
 +
passwd root
 +
_ПАРОЛЬ_
 +
_ПАРОЛЬ_
 +
</pre>
  
3. ssh 192.168.1.1 ИЛИ scp 192.168.1.1 --с помощью Putty ИЛИ WinSCP
+
После перезагрузки доступ через telnet будет закрыт, используем ssh
  
{{настраиваем роутер на режим беспроводного репитера|=<nowiki></nowiki>
+
  
[; надо указать свои SSID и ключ шифрования; основной роутер должен быть в смешанном режиме WPA+WPA2]
+
== Установка программ ==
 +
Конфиги в tmp настраиваем по вкусу и продолжаем:
  
 +
scp root@192.168.1.1
 +
скопировать файлы из tmp в папку /tmp
 +
 +
<pre>
 +
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
 +
</pre>
 +
 +
 +
==Тест вебки==
 +
подключаем вебку
 +
<pre>
 +
/etc/init.d/mjpg-streamer enable
 +
/etc/init.d/mjpg-streamer start
 +
</pre>
 +
 +
Заходим на  http://192.168.0.6:8080/?action=stream ИЛИ http://192.168.1.1:8080/?action=stream
 +
если видео тупит, то
 +
<pre>
 +
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
 +
</pre>
 +
 +
Настройки камеры лежат по адресу /etc/config/uvc-streamer
 +
 +
= Настраиваем роутер на режим беспроводного репитера =
 +
 +
== Указываем параметры беспроводного соединения ==
 +
 +
1. В таблице ниже надо указать свои SSID и ключ шифрования; основной роутер должен быть в смешанном режиме WPA+WPA2
 +
<pre>
 +
ssh root@192.168.1.1
 
uci set wireless.radio0.channel=6
 
uci set wireless.radio0.channel=6
 
uci delete wireless.radio0.hwmode
 
uci delete wireless.radio0.hwmode
 
uci delete wireless.radio0.disabled
 
uci delete wireless.radio0.disabled
uci set wireless.radio0.macaddr=00:90:4c:c1:00:a2
+
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].network=wan
 
uci set wireless.@wifi-iface[0].mode=sta
 
uci set wireless.@wifi-iface[0].mode=sta
Строка 43: Строка 94:
 
uci set wireless.@wifi-iface[0].key=_MY_KEY_
 
uci set wireless.@wifi-iface[0].key=_MY_KEY_
 
uci commit wireless
 
uci commit wireless
reboot
+
reboot </pre>
  
ИЛИ
+
2. Или с помощью WinSCP выполняем:
 +
# scp root@192.168.1.1
 +
# Изменяем файл wireless (SSID и ключ)
 +
# Заменяем им /etc/config/wireless
 +
# Перезагружаемся
  
изменить файл wireless (SSID и ключ) и заменить им /etc/config/wireless
 
и перезагрузиться
 
  
 +
== Пробуем соединиться с главным wifi-роутером, у которого есть интернет ==
 +
<pre>
 +
ssh root@192.168.1.1
 +
wifi up</pre>
 +
Если будет ругаться на PHY — смотрим мак-адрес командой ниже и меняем соответствующую строку в пункте 1:
 +
<pre>cat /sys/class/ieee80211/phy0/macaddress</pre>
 +
Если подключился — запоминаем IP-адрес.
 +
Теперь можно отсоединить Ethernet-кабель от роутера и зайти на него
  
 +
=Расширяем память использованием USB-flash=
  
 +
1. Устанавливаем необходимые для дальнейшей работы пакеты
 +
<pre>
 +
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
 +
</pre>
  
3. ssh 192.168.1.1
+
2. Разбиваем и форматируем нашу флешку следующим образом (как пример):
 
 
Можно попробовать соединиться с главным wifi-роутером, у которого есть инет:
 
wifi up
 
//Если будет ругаться на PHY - смотрим мак-адрес командой ниже и меняем соответствующую строку в пункте 3:
 
//    cat /sys/class/ieee80211/phy0/macaddress
 
//Если подключился - запоминаем IP-адрес
 
  
}}
+
/dev/sda1 128Мб  swap
 +
/dev/sda2 150Мб  ext3 
 +
/dev/sda3 (free) ext3
  
В. Теперь можно отсоединить Ethernet-кабель от роутера и зайти на него
+
sda1 далее мы примонтируем как раздел подкачки, sda2 как корень фс, sda3 как /home
  
4. ssh <IP-адрес>, scp <IP-адрес>
+
3. Подключаем флешку к роутеру и выполняем:
 +
<pre>
 +
mount -t ext3 /dev/sda2 /mnt
 +
mount -o bind / /tmp/root
 +
mkdir -p /tmp/root/*
 +
cp /tmp/root/* /mnt -a
 +
umount /mnt
 +
</pre>
  
ДАЛЕЕ ИДЕТ установка и настройка автозагрузки, веб-камеры, юсб-флешки, дополнительных прог.  
+
4. Отредактируем файл /etc/config/fstab любым удобным для нас образом (например по scp).
Конфиги в tmp настраиваем по вкусу и продолжаем:
+
Пример:
 +
<pre>
 +
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
  
SCP:
+
config mount
скопировать файлы из tmp в папку /tmp
+
        option target  /home
 
+
        option device  /dev/sda3
SSH:
+
        option fstype  ext3
chmod +x /tmp/custom-user-setup /tmp/opkg-link /tmp/usb_storage
+
        option options  rw,sync
 
+
        option enabled  1
opkg update
+
        option enabled_fsck 1
opkg remove firewall
 
opkg install kmod-usb2 kmod-usb-ohci kmod-usb-uhci kmod-usb-video kmod-video-core kmod-video-uvc mjpg-streamer ser2net setserial coreutils coreutils-stty kmod-video-gspca-core
 
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
 
  
 +
config swap
 +
        option device  /dev/sda1
 +
        option enabled  1
 +
</pre>
  
  
 +
5. Перезагрузимся
  
/////////тест вебки///////////////////////
+
<pre>
подключаем вебку
+
nvram commit
/etc/init.d/mjpg-streamer enable
+
/etc/init.d/fstab restart
/etc/init.d/mjpg-streamer start
+
reboot
 +
</pre>
  
заходим на  http://192.168.0.6:8080/?action=stream ИЛИ http://192.168.1.1:8080/?action=stream
+
6. Проверка
если видео тупит, то
+
<pre>
opkg remove kmod-video-gspca-core
+
ssh root@192.168.1.1
opkg install kmod-video-gspca-core
+
df -h
проверяем
+
free
/etc/init.d/mjpg-streamer stop
+
</pre>
/etc/init.d/mjpg-streamer start
 
??reboot  ///////////////////////////////////////////////////////
 
/////////конец: тест вебки///////////////////////
 
  
////// ЕСЛИ НУЖНА ФЛЕШКА с вебсервером //////////////////////////
+
= Зажигаем светодиоды =
снова копируем файлы из tmp в /tmp, если перезагружались, делаем исполняемыми, а также делаем opkg update
+
Для управления доступны всего 5 светодиодов, которые как известно вполне можно использовать как выводные порты.
 +
Светодиоды доступны по адресам:
 +
#    /proc/diag/led/blue
 +
#    /proc/diag/led/red
 +
#    /proc/diag/led/wlan
 +
#    /proc/diag/led/diag
 +
#    /proc/diag/led/usb
  
opkg install kmod-usb-storage kmod-fs-ext3
+
Управление осуществляется путем записи 0 или 1 по соответствующему адресу
 +
"echo 0|1 » /proc/diag/les/blue|red|wlan|diag|usb"
  
///mke2fs -j /dev/sda1
+
=Работа с UART=
///opkg remove e2fsprogs libext2fs libuuid libblkid
+
Традиционно необходимо отключить отладочную консоль
 +
<pre>
 +
nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null"
 +
nvram commit
 +
</pre>
 +
Далее устанавливаем программу для изменения параметров порта
 +
<pre>
 +
opkg install coreutils-stty
 +
</pre>
  
mkdir /opt
+
Пробуем работать с портом
mount -t ext3 /dev/sda1 /opt
+
<pre>echo "Hello, world!" > /dev/ttyS0
mv /tmp/opkg-link /bin
+
cat /dev/ttyS0</pre>
mv /tmp/usb_storage /etc/init.d
 
ln -s /etc/init.d/usb_storage /etc/rc.d/S45usb_storage
 
echo dest usb /opt >> /etc/opkg.conf
 
  
установка приложений:
+
= См. также =
opkg -dest usb install mc
+
{{DIR-320}}
после установки приложений монтируем все, что есть на карточке:
 
opkg-link mount /opt
 

Текущая версия на 18:12, 15 сентября 2011

Данная инструкция нужна для прошивки роутера 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]