DD-WRT — различия между версиями
Kirill (обсуждение | вклад) (→Как активировать доступ по SSH?) |
Kirill (обсуждение | вклад) (→Прошивка) |
||
(не показано 15 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [http://dd-wrt.com/ DD-WRT] - это альтернативная прошивка для роутеров, основанная на Linux. | ||
+ | |||
+ | Нижеописанное проверялось на Asus WL-520GU и Asus WL-500W. | ||
+ | |||
+ | == Прошивка == | ||
+ | === Предварительная подготовка === | ||
+ | <ol> | ||
+ | <li>Скачать прошивку из [http://www.dd-wrt.com/site/support/router-database базы роутеров].</li> | ||
+ | <li>Убедиться, что на ПК есть tftp.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Процесс прошивки === | ||
+ | <ol> | ||
+ | <li> | ||
+ | Перевести роутер в режим прошивки. | ||
+ | <ol> | ||
+ | <li>Отключить питание.</li> | ||
+ | <li>Зажать кнопку сброса.</li> | ||
+ | <li>Подождать секунд 10.</li> | ||
+ | <li>Подключить питание.</li> | ||
+ | <li>Дождаться мигания индикатора питания.</li> | ||
+ | <li>Отпустить кнопку сброса.</li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li> | ||
+ | Установить подключение ПК к роутеру. | ||
+ | <ol> | ||
+ | <li>Подключить ПК проводом в один из LAN-портов роутера.</li> | ||
+ | <li>Настроить сетевое подключение в подсети 192.168.1.* с фиксированным IP, например, 192.168.1.2.</li> | ||
+ | <li> | ||
+ | Проверить связь с роутером: | ||
+ | <pre>ping 192.168.1.1</pre> | ||
+ | </li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li> | ||
+ | Загрузить файл прошивки на роутер. | ||
+ | <ol> | ||
+ | <li> | ||
+ | Подключиться к роутеру по tftp: | ||
+ | <pre>tftp 192.168.1.1</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Отправить файл прошивки на роутер: | ||
+ | <pre>binary | ||
+ | rexmt 1 | ||
+ | timeout 60 | ||
+ | put {путь к файлу прошивки}</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Дождаться завершения загрузки. | ||
+ | Должно появиться сообщение вида: | ||
+ | <pre>Sent * bytes in * seconds</pre> | ||
+ | </li> | ||
+ | Завершить сеанс tftp: | ||
+ | <pre>quit</pre> | ||
+ | </li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li>Отключить питание роутера и подключить снова.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Ссылки === | ||
+ | * [http://www.dd-wrt.com/wiki/index.php/TFTP_flash TFTP Flash - DD-WRT Wiki] | ||
+ | |||
+ | == Настройки сети == | ||
=== Как раздавать подключение к одной Wi-Fi сети через другую? === | === Как раздавать подключение к одной Wi-Fi сети через другую? === | ||
Внешняя сеть - это Wi-Fi сеть, к которой будет подключаться точка доступа. | Внешняя сеть - это Wi-Fi сеть, к которой будет подключаться точка доступа. | ||
Строка 20: | Строка 86: | ||
Для корректной работы проверить настройки '''WAN Connection Type''' и '''Network Address Server Settings (DHCP)''' в '''Setup → Basic Setup'''. | Для корректной работы проверить настройки '''WAN Connection Type''' и '''Network Address Server Settings (DHCP)''' в '''Setup → Basic Setup'''. | ||
+ | == Службы == | ||
=== Как активировать доступ по [[SSH]]? === | === Как активировать доступ по [[SSH]]? === | ||
<ol> | <ol> | ||
Строка 51: | Строка 118: | ||
</ol> | </ol> | ||
− | === | + | ==== Что делать, если не монтируются разделы ext2? ==== |
− | + | Это означает, что в прошивку не включен модуль ядра для работы ext2. | |
− | + | <ol> | |
− | + | <li> | |
− | + | Активировать JFFS: | |
− | + | <ol> | |
− | + | <li>Перейти в '''Administration → Management'''.</li> | |
− | + | <li>В разделе '''JFFS2 Support''' установить опцию '''JFFS2''' на '''Enable'''.</li> | |
− | + | <li>Нажать кнопку '''Apply Settings'''.</li> | |
− | + | </ol> | |
− | [http:// | + | </li> |
− | + | <li>Скачать нужный модуль: [http://goo.gl/aZHdy9 ext2.o].</li> | |
− | + | <li>Разместить скачанный файл в <tt>/jffs/lib/modules/2.4.37/</tt> на устройстве.</li> | |
− | + | <li> | |
− | + | Добавить команды загрузки модуля и монтирования при запуске устройства: | |
− | + | <ol> | |
− | + | <li>Перейти в '''Administration → Commands'''.</li> | |
− | + | <li> | |
− | + | В поле '''Commands''' ввести | |
− | [http:// | + | <pre>insmod /jffs/lib/modules/2.4.37/ext2.o |
− | + | mount /dev/discs/disc{номер накопителя}/part{номер раздела} {точка монтирования}</pre> | |
− | + | </li> | |
− | + | <li>Дополнить поле '''Commands''' текстом команд из раздела '''Startup''', если он существует.</li> | |
− | + | <li>Нажать кнопку '''Save Startup'''. Устройство перезагрузится.</li> | |
− | + | </ol> | |
− | [http://www. | + | </li> |
− | + | </ol> | |
− | + | Если прошивка не содержит модуля для работы с JFFS, то можно архив с нужными модулями с помощью dd [http://dd-wrt.com/wiki/index.php/Mounting_USB_drive_without_located_onboard_fs_modules#Preparing_USB_stick.2F_USB_HDD_as_modules_storage поместить в раздел USB-накопителя] и дописать скрипт инициализации так, чтобы он распаковывал этот архив и подключал необходимые модули. | |
− | + | ||
− | + | == Optware == | |
− | + | [http://www.dd-wrt.com/wiki/index.php/Optware,_the_Right_Way Optware] - это менеджер пакетов, позволяющий добавлять стороннее программное обеспечение на устройство. | |
− | + | Важная особенность заключается в возможности использования внешнего накопителя для размещения устанавливаемых пакетов. | |
− | + | Кроме того, добавляются службы: | |
+ | * '''Bash''' вместо '''shell''' в '''busybox''' - (LFS support) | ||
+ | * '''Automounting''', '''Unmounting''' и '''Hotmounting''' для накопителей - автоматическое подключение всех распознаваемых логических разделов и форматов файловых систем (включая NTFS для ядра K26) | ||
+ | * Сетевая печать через '''Watchprinter''' - печать на подключенном через USB принтере для всех во внутренней (или даже внешней) сети | ||
+ | * ... | ||
+ | === Установка === | ||
<ol> | <ol> | ||
<li> | <li> | ||
Строка 94: | Строка 166: | ||
<li>'''data''' - ext2/ext3 на все оставшееся пространство.</li> | <li>'''data''' - ext2/ext3 на все оставшееся пространство.</li> | ||
</ol> | </ol> | ||
+ | Важно иметь в виду, что некоторые прошивки поддерживают ext3, но не поддерживают ext2. | ||
</li> | </li> | ||
<li>Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.</li> | <li>Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.</li> | ||
− | <li>...</li> | + | <li> |
+ | Отключить JFFS, если нет необходимости в ней: | ||
+ | <ol> | ||
+ | <li>Перейти в '''Administration → Management'''.</li> | ||
+ | <li>В разделе '''JFFS2 Support''' установить опцию '''JFFS2''' на '''Disable'''.</li> | ||
+ | <li>Нажать кнопку '''Apply Settings'''.</li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li>Убедиться, что устройство подключено к интернету.</li> | ||
+ | <li> | ||
+ | Выполнить на устройстве: | ||
+ | <pre>wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware | ||
+ | sh /tmp/prep_optware</pre> | ||
+ | Начнется процесс установки на 10-20 минут. | ||
+ | </li> | ||
+ | <li>После окончания установки перезагрузить устройство.</li> | ||
</ol> | </ol> | ||
+ | |||
+ | == Работа со сканером == | ||
+ | === Как настроить подключение к сканеру по USB? === | ||
+ | Работа со сканером происходит через сервер [http://www.sane-project.org/ SANE]. | ||
+ | <ol> | ||
+ | <li>Настроить Optware.</li> | ||
+ | <li>Убедиться, что устройство подключено к интернету.</li> | ||
+ | <li> | ||
+ | Установить <tt>sane</tt> и зависимости | ||
+ | <pre>ipkg-opt install libtiff | ||
+ | ipkg-opt install libjpeg | ||
+ | ipkg-opt install libieee1284 | ||
+ | ipkg-opt install sane-backends</pre> | ||
+ | </li> | ||
+ | <li>Подключить сканер.</li> | ||
+ | <li> | ||
+ | Проверить подключение сканера: | ||
+ | <pre>sane-find-scanner</pre> | ||
+ | В выводе должна быть строка вида | ||
+ | <pre>found USB scanner (vendor=0x04e8 [Samsung], product=0x341b [SCX-4200 Series]) at libusb:001:004</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Проверить доступность сканера: | ||
+ | <pre>scanimage –L</pre> | ||
+ | Вывод должен иметь вид | ||
+ | <pre>device `xerox_mfp:libusb:001:004' is a SAMSUNG ORION multi-function peripheral</pre> | ||
+ | В случае, когда сканер не доступен: | ||
+ | <pre>No scanners were identified. If you were expecting something different, | ||
+ | check that the scanner is plugged in, turned on and detected by the | ||
+ | sane-find-scanner tool (if appropriate). Please read the documentation | ||
+ | which came with this software (README, FAQ, manpages).</pre> | ||
+ | Это можно попробовать исправить следующим образом. | ||
+ | <ol> | ||
+ | <li> | ||
+ | [http://www.sane-project.org/sane-mfgs.html Узнать] какой backend соответствует модели. | ||
+ | По соответствующей ссылке будет указание в каком файле хранятся параметры моделей. | ||
+ | </li> | ||
+ | <li> | ||
+ | В <tt>/opt/etc/sane.d/{файл параметров моделей}</tt> добавить строки (значения берутся из вывода команды <tt>sane-find-scanner</tt>): | ||
+ | <pre>usb 0x04e8 0x341b | ||
+ | usb libusb:001:004</pre> | ||
+ | </li> | ||
+ | </ol> | ||
+ | Если сканер все еще не доступен, то для <tt>xerox_mfp</tt> можно проделать следующее. | ||
+ | <ol> | ||
+ | <li>Скачать файл [http://goo.gl/dKSMy2 xerox_mfp_wl500.tar.bz2] и поместить на устройство.</li> | ||
+ | <li> | ||
+ | Выполнить на устройстве в папке со скачанным файлом: | ||
+ | <pre> | ||
+ | mkdir xerox_mfp_wl500 | ||
+ | mv xerox_mfp_wl500.tar.bz2 xerox_mfp_wl500 | ||
+ | cd xerox_mfp_wl500 | ||
+ | tar jxf xerox_mfp_wl500.tar.bz2 | ||
+ | ./install | ||
+ | cd .. | ||
+ | rm -rf xerox_mfp_wl500 </pre> | ||
+ | </li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li> | ||
+ | Протестировать состояние сканера: | ||
+ | <pre>scanimage –T</pre> | ||
+ | </li> | ||
+ | </ol> | ||
+ | |||
+ | === Как настроить доступ к сканеру по сети? === | ||
+ | <ol> | ||
+ | <li> | ||
+ | В файл <tt>/etc/sane.d/saned.conf</tt> добавить строки с описанием подсетей, из которых будет доступен сканер: | ||
+ | <pre>192.168.1.0/24 # разрешить доступ со всех IP вида 192.168.1.*</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Поменять содержимое файла <tt>/etc/xinetd.conf</tt> на: | ||
+ | <pre>service saned | ||
+ | { | ||
+ | socket_type = stream | ||
+ | server = /usr/sbin/saned | ||
+ | protocol = tcp | ||
+ | user = root | ||
+ | group = root | ||
+ | wait = no | ||
+ | disable = no | ||
+ | }</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Добавить <tt>xinetd</tt> в автозагрузку: | ||
+ | <ol> | ||
+ | <li>В Web-интерфейсе перейти к '''Administration → Commands'''.</li> | ||
+ | <li>Если есть раздел '''Startup''' нажать в нем кнопку '''Edit'''.</li> | ||
+ | <li> | ||
+ | В разделе '''Command Shell''' добавить к содержимому поля '''Commands''': | ||
+ | <pre>xinetd</pre> | ||
+ | </li> | ||
+ | <li>Нажать кнопку '''Save Startup'''.</li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li>Перезагрузить устройство.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Как получить доступ к этому сканеру? === | ||
+ | <ul> | ||
+ | <li>В [[Windows]]: воспользоваться приложением [http://sanetwain.ozuzo.net/#download SaneTwain].</li> | ||
+ | <li> | ||
+ | В [[Ubuntu]]: в файл <tt>/etc/sane.d/net.conf</tt> добавить строку с IP устройства: | ||
+ | <pre>192.168.1.1</pre> | ||
+ | </li> | ||
+ | </ul> | ||
+ | |||
+ | === Ссылки === | ||
+ | * [http://www.dd-wrt.com/phpBB2/viewtopic.php?p=632057 SANE - Scanner Access Now Easy] | ||
+ | * [http://wl500g.info/showthread.php?21162-HowTo-Sane-Scanner-Server-with-XSane-Frontend <nowiki>[HowTo]</nowiki> Sane Scanner-Server with XSane Frontend] | ||
+ | * [http://habrahabr.ru/post/127739/ Сканирование по сети – это просто] | ||
+ | |||
[[Категория:База знаний]] | [[Категория:База знаний]] |
Текущая версия на 23:20, 7 марта 2015
DD-WRT - это альтернативная прошивка для роутеров, основанная на Linux.
Нижеописанное проверялось на Asus WL-520GU и Asus WL-500W.
Прошивка[править]
Предварительная подготовка[править]
- Скачать прошивку из базы роутеров.
- Убедиться, что на ПК есть tftp.
Процесс прошивки[править]
-
Перевести роутер в режим прошивки.
- Отключить питание.
- Зажать кнопку сброса.
- Подождать секунд 10.
- Подключить питание.
- Дождаться мигания индикатора питания.
- Отпустить кнопку сброса.
-
Установить подключение ПК к роутеру.
- Подключить ПК проводом в один из LAN-портов роутера.
- Настроить сетевое подключение в подсети 192.168.1.* с фиксированным IP, например, 192.168.1.2.
-
Проверить связь с роутером:
ping 192.168.1.1
-
Загрузить файл прошивки на роутер.
-
Подключиться к роутеру по tftp:
tftp 192.168.1.1
-
Отправить файл прошивки на роутер:
binary rexmt 1 timeout 60 put {путь к файлу прошивки}
-
Дождаться завершения загрузки.
Должно появиться сообщение вида:
Sent * bytes in * seconds
Завершить сеанс tftp:
quit
-
Подключиться к роутеру по tftp:
Ссылки[править]
Настройки сети[править]
Как раздавать подключение к одной Wi-Fi сети через другую?[править]
Внешняя сеть - это Wi-Fi сеть, к которой будет подключаться точка доступа. Внутренняя - по которой будет раздаваться внешнее подключение.
- Перейти в Wireless → Basic Settings.
- В списке Wireless Mode выбрать Repeater.
- В поле Wireless Network Name (SSID) указать имя внешней Wi-Fi сети.
- Нажать кнопку Save.
- В разделе Virtual Interfaces нажать кнопку Add.
- В поле Wireless Network Name (SSID) добавленного раздела указать имя внутренней Wi-Fi сети.
- Нажать кнопку Save.
- Перейти в Wireless → Wireless Security.
- В разделе Physical Interface wl0 указать параметры безопасности, соответствующие существующей внешней сети.
- Нажать кнопку Save.
- В разделе Virtual Interfaces wl0.1 указать параметры безопасности внутренней сети.
- Нажать кнопку Apply Settings.
Для корректной работы проверить настройки WAN Connection Type и Network Address Server Settings (DHCP) в Setup → Basic Setup.
Службы[править]
Как активировать доступ по SSH?[править]
- Перейти в Services → Services.
- В разделе Secure Shell установить опцию SSHd на Enable.
- Нажать кнопку Apply Settings.
- Нажать кнопку Reboot Router.
Как активировать работу с USB-устройствами?[править]
Сборка DD-WRT должна включать модули для работы с USB-устройствами.
- Перейти в Services → USB.
- Установить опцию Core USB Support на Enable. Появятся дополнительные опции.
- Установить опцию USB 2.0 Support на Enable.
- Для работы с принтерами установить опцию USB Printer Support на Enable.
-
Для работы с накопителями установить опцию USB Storage Support на Enable. Появятся дополнительные опции.
- Для работы с файловой системой ext3 установить опцию ext2 / ext3 File System Support на Enable.
- Для работы с файловой системой FAT установить опцию FAT File System Support на Enable.
-
Для автоматического монтирования первого логического раздела накопителя установить опцию Automatic Drive Mount на Enable. Появятся дополнительные опции.
- В списке Disk Mount Point выбрать директорию для монтирования.
- Нажать кнопку Apply Settings. Устройство перезагрузится.
Что делать, если не монтируются разделы ext2?[править]
Это означает, что в прошивку не включен модуль ядра для работы ext2.
-
Активировать JFFS:
- Перейти в Administration → Management.
- В разделе JFFS2 Support установить опцию JFFS2 на Enable.
- Нажать кнопку Apply Settings.
- Скачать нужный модуль: ext2.o.
- Разместить скачанный файл в /jffs/lib/modules/2.4.37/ на устройстве.
-
Добавить команды загрузки модуля и монтирования при запуске устройства:
- Перейти в Administration → Commands.
-
В поле Commands ввести
insmod /jffs/lib/modules/2.4.37/ext2.o mount /dev/discs/disc{номер накопителя}/part{номер раздела} {точка монтирования}
- Дополнить поле Commands текстом команд из раздела Startup, если он существует.
- Нажать кнопку Save Startup. Устройство перезагрузится.
Если прошивка не содержит модуля для работы с JFFS, то можно архив с нужными модулями с помощью dd поместить в раздел USB-накопителя и дописать скрипт инициализации так, чтобы он распаковывал этот архив и подключал необходимые модули.
Optware[править]
Optware - это менеджер пакетов, позволяющий добавлять стороннее программное обеспечение на устройство. Важная особенность заключается в возможности использования внешнего накопителя для размещения устанавливаемых пакетов. Кроме того, добавляются службы:
- Bash вместо shell в busybox - (LFS support)
- Automounting, Unmounting и Hotmounting для накопителей - автоматическое подключение всех распознаваемых логических разделов и форматов файловых систем (включая NTFS для ядра K26)
- Сетевая печать через Watchprinter - печать на подключенном через USB принтере для всех во внутренней (или даже внешней) сети
- ...
Установка[править]
-
Подготовить USB-накопитель - нужно, чтобы он содержал 4 логических раздела:
- optware - ext2/ext3 от 512 МБ,
- swap - swap от 64 МБ,
- jffs - ext2/ext3 примерно 128 МБ,
- data - ext2/ext3 на все оставшееся пространство.
Важно иметь в виду, что некоторые прошивки поддерживают ext3, но не поддерживают ext2.
- Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.
-
Отключить JFFS, если нет необходимости в ней:
- Перейти в Administration → Management.
- В разделе JFFS2 Support установить опцию JFFS2 на Disable.
- Нажать кнопку Apply Settings.
- Убедиться, что устройство подключено к интернету.
-
Выполнить на устройстве:
wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware sh /tmp/prep_optware
Начнется процесс установки на 10-20 минут.
- После окончания установки перезагрузить устройство.
Работа со сканером[править]
Как настроить подключение к сканеру по USB?[править]
Работа со сканером происходит через сервер SANE.
- Настроить Optware.
- Убедиться, что устройство подключено к интернету.
-
Установить sane и зависимости
ipkg-opt install libtiff ipkg-opt install libjpeg ipkg-opt install libieee1284 ipkg-opt install sane-backends
- Подключить сканер.
-
Проверить подключение сканера:
sane-find-scanner
В выводе должна быть строка вида
found USB scanner (vendor=0x04e8 [Samsung], product=0x341b [SCX-4200 Series]) at libusb:001:004
-
Проверить доступность сканера:
scanimage –L
Вывод должен иметь вид
device `xerox_mfp:libusb:001:004' is a SAMSUNG ORION multi-function peripheral
В случае, когда сканер не доступен:
No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).
Это можно попробовать исправить следующим образом.
- Узнать какой backend соответствует модели. По соответствующей ссылке будет указание в каком файле хранятся параметры моделей.
-
В /opt/etc/sane.d/{файл параметров моделей} добавить строки (значения берутся из вывода команды sane-find-scanner):
usb 0x04e8 0x341b usb libusb:001:004
Если сканер все еще не доступен, то для xerox_mfp можно проделать следующее.
- Скачать файл xerox_mfp_wl500.tar.bz2 и поместить на устройство.
-
Выполнить на устройстве в папке со скачанным файлом:
mkdir xerox_mfp_wl500 mv xerox_mfp_wl500.tar.bz2 xerox_mfp_wl500 cd xerox_mfp_wl500 tar jxf xerox_mfp_wl500.tar.bz2 ./install cd .. rm -rf xerox_mfp_wl500
-
Протестировать состояние сканера:
scanimage –T
Как настроить доступ к сканеру по сети?[править]
-
В файл /etc/sane.d/saned.conf добавить строки с описанием подсетей, из которых будет доступен сканер:
192.168.1.0/24 # разрешить доступ со всех IP вида 192.168.1.*
-
Поменять содержимое файла /etc/xinetd.conf на:
service saned { socket_type = stream server = /usr/sbin/saned protocol = tcp user = root group = root wait = no disable = no }
-
Добавить xinetd в автозагрузку:
- В Web-интерфейсе перейти к Administration → Commands.
- Если есть раздел Startup нажать в нем кнопку Edit.
-
В разделе Command Shell добавить к содержимому поля Commands:
xinetd
- Нажать кнопку Save Startup.
- Перезагрузить устройство.
Как получить доступ к этому сканеру?[править]
- В Windows: воспользоваться приложением SaneTwain.
-
В Ubuntu: в файл /etc/sane.d/net.conf добавить строку с IP устройства:
192.168.1.1