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

Материал из K.Wiki
Перейти к: навигация, поиск
(Как организовать основную файловую систему на USB-накопителе?)
(Прошивка)
 
(не показано 12 промежуточных версии этого же участника)
Строка 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>
  
=== Как организовать основную файловую систему на USB-накопителе? ===
+
==== Что делать, если не монтируются разделы ext2? ====
Принцип известен как [http://www.dd-wrt.com/wiki/index.php/Optware,_the_Right_Way optware].
+
Это означает, что в прошивку не включен модуль ядра для работы ext2.
Помимо того, что в качестве основной файловой системы будут использованы логические разделы USB-накопителя,
+
<ol>
будут установлены службы:
+
<li>
 +
Активировать JFFS:
 +
<ol>
 +
<li>Перейти в '''Administration → Management'''.</li>
 +
<li>В разделе '''JFFS2 Support''' установить опцию '''JFFS2''' на '''Enable'''.</li>
 +
<li>Нажать кнопку '''Apply Settings'''.</li>
 +
</ol>
 +
</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''' ввести
 +
<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>
 +
</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)
 
* '''Bash''' вместо '''shell''' в '''busybox''' - (LFS support)
 
* '''Automounting''', '''Unmounting''' и '''Hotmounting''' для накопителей - автоматическое подключение всех распознаваемых логических разделов и форматов файловых систем (включая NTFS для ядра K26)
 
* '''Automounting''', '''Unmounting''' и '''Hotmounting''' для накопителей - автоматическое подключение всех распознаваемых логических разделов и форматов файловых систем (включая NTFS для ядра K26)
Строка 60: Строка 156:
 
* ...
 
* ...
  
 +
=== Установка ===
 
<ol>
 
<ol>
 
<li>
 
<li>
Строка 73: Строка 170:
 
<li>Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.</li>
 
<li>Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.</li>
 
<li>
 
<li>
Отключить JFFS2:
+
Отключить JFFS, если нет необходимости в ней:
 
<ol>
 
<ol>
 
<li>Перейти в '''Administration → Management'''.</li>
 
<li>Перейти в '''Administration → Management'''.</li>
Строка 80: Строка 177:
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>...</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.

Прошивка[править]

Предварительная подготовка[править]

  1. Скачать прошивку из базы роутеров.
  2. Убедиться, что на ПК есть tftp.

Процесс прошивки[править]

  1. Перевести роутер в режим прошивки.
    1. Отключить питание.
    2. Зажать кнопку сброса.
    3. Подождать секунд 10.
    4. Подключить питание.
    5. Дождаться мигания индикатора питания.
    6. Отпустить кнопку сброса.
  2. Установить подключение ПК к роутеру.
    1. Подключить ПК проводом в один из LAN-портов роутера.
    2. Настроить сетевое подключение в подсети 192.168.1.* с фиксированным IP, например, 192.168.1.2.
    3. Проверить связь с роутером:
      ping 192.168.1.1
  3. Загрузить файл прошивки на роутер.
    1. Подключиться к роутеру по tftp:
      tftp 192.168.1.1
    2. Отправить файл прошивки на роутер:
      binary
      rexmt 1
      timeout 60
      put {путь к файлу прошивки}
    3. Дождаться завершения загрузки. Должно появиться сообщение вида:
      Sent * bytes in * seconds
    4. Завершить сеанс tftp:

      quit
  4. Отключить питание роутера и подключить снова.

Ссылки[править]

Настройки сети[править]

Как раздавать подключение к одной Wi-Fi сети через другую?[править]

Внешняя сеть - это Wi-Fi сеть, к которой будет подключаться точка доступа. Внутренняя - по которой будет раздаваться внешнее подключение.

  1. Перейти в Wireless → Basic Settings.
  2. В списке Wireless Mode выбрать Repeater.
  3. В поле Wireless Network Name (SSID) указать имя внешней Wi-Fi сети.
  4. Нажать кнопку Save.
  5. В разделе Virtual Interfaces нажать кнопку Add.
  6. В поле Wireless Network Name (SSID) добавленного раздела указать имя внутренней Wi-Fi сети.
  7. Нажать кнопку Save.
  8. Перейти в Wireless → Wireless Security.
  9. В разделе Physical Interface wl0 указать параметры безопасности, соответствующие существующей внешней сети.
  10. Нажать кнопку Save.
  11. В разделе Virtual Interfaces wl0.1 указать параметры безопасности внутренней сети.
  12. Нажать кнопку Apply Settings.

Для корректной работы проверить настройки WAN Connection Type и Network Address Server Settings (DHCP) в Setup → Basic Setup.

Службы[править]

Как активировать доступ по SSH?[править]

  1. Перейти в Services → Services.
  2. В разделе Secure Shell установить опцию SSHd на Enable.
  3. Нажать кнопку Apply Settings.
  4. Нажать кнопку Reboot Router.

Как активировать работу с USB-устройствами?[править]

Сборка DD-WRT должна включать модули для работы с USB-устройствами.

  1. Перейти в Services → USB.
  2. Установить опцию Core USB Support на Enable. Появятся дополнительные опции.
  3. Установить опцию USB 2.0 Support на Enable.
  4. Для работы с принтерами установить опцию USB Printer Support на Enable.
  5. Для работы с накопителями установить опцию USB Storage Support на Enable. Появятся дополнительные опции.
    1. Для работы с файловой системой ext3 установить опцию ext2 / ext3 File System Support на Enable.
    2. Для работы с файловой системой FAT установить опцию FAT File System Support на Enable.
    3. Для автоматического монтирования первого логического раздела накопителя установить опцию Automatic Drive Mount на Enable. Появятся дополнительные опции.
      1. В списке Disk Mount Point выбрать директорию для монтирования.
  6. Нажать кнопку Apply Settings. Устройство перезагрузится.

Что делать, если не монтируются разделы ext2?[править]

Это означает, что в прошивку не включен модуль ядра для работы ext2.

  1. Активировать JFFS:
    1. Перейти в Administration → Management.
    2. В разделе JFFS2 Support установить опцию JFFS2 на Enable.
    3. Нажать кнопку Apply Settings.
  2. Скачать нужный модуль: ext2.o.
  3. Разместить скачанный файл в /jffs/lib/modules/2.4.37/ на устройстве.
  4. Добавить команды загрузки модуля и монтирования при запуске устройства:
    1. Перейти в Administration → Commands.
    2. В поле Commands ввести
      insmod /jffs/lib/modules/2.4.37/ext2.o
      mount /dev/discs/disc{номер накопителя}/part{номер раздела} {точка монтирования}
    3. Дополнить поле Commands текстом команд из раздела Startup, если он существует.
    4. Нажать кнопку Save Startup. Устройство перезагрузится.

Если прошивка не содержит модуля для работы с JFFS, то можно архив с нужными модулями с помощью dd поместить в раздел USB-накопителя и дописать скрипт инициализации так, чтобы он распаковывал этот архив и подключал необходимые модули.

Optware[править]

Optware - это менеджер пакетов, позволяющий добавлять стороннее программное обеспечение на устройство. Важная особенность заключается в возможности использования внешнего накопителя для размещения устанавливаемых пакетов. Кроме того, добавляются службы:

  • Bash вместо shell в busybox - (LFS support)
  • Automounting, Unmounting и Hotmounting для накопителей - автоматическое подключение всех распознаваемых логических разделов и форматов файловых систем (включая NTFS для ядра K26)
  • Сетевая печать через Watchprinter - печать на подключенном через USB принтере для всех во внутренней (или даже внешней) сети
  • ...

Установка[править]

  1. Подготовить USB-накопитель - нужно, чтобы он содержал 4 логических раздела:
    1. optware - ext2/ext3 от 512 МБ,
    2. swap - swap от 64 МБ,
    3. jffs - ext2/ext3 примерно 128 МБ,
    4. data - ext2/ext3 на все оставшееся пространство.

    Важно иметь в виду, что некоторые прошивки поддерживают ext3, но не поддерживают ext2.

  2. Активировать работу с USB-устройствами и автоматическое монтирование первого раздела через WEB-интерфейс.
  3. Отключить JFFS, если нет необходимости в ней:
    1. Перейти в Administration → Management.
    2. В разделе JFFS2 Support установить опцию JFFS2 на Disable.
    3. Нажать кнопку Apply Settings.
  4. Убедиться, что устройство подключено к интернету.
  5. Выполнить на устройстве:
    wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware 
    sh /tmp/prep_optware

    Начнется процесс установки на 10-20 минут.

  6. После окончания установки перезагрузить устройство.

Работа со сканером[править]

Как настроить подключение к сканеру по USB?[править]

Работа со сканером происходит через сервер SANE.

  1. Настроить Optware.
  2. Убедиться, что устройство подключено к интернету.
  3. Установить sane и зависимости
    ipkg-opt install libtiff 
    ipkg-opt install libjpeg 
    ipkg-opt install libieee1284
    ipkg-opt install sane-backends
  4. Подключить сканер.
  5. Проверить подключение сканера:
    sane-find-scanner

    В выводе должна быть строка вида

    found USB scanner (vendor=0x04e8 [Samsung], product=0x341b [SCX-4200 Series]) at libusb:001:004
  6. Проверить доступность сканера:
    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).

    Это можно попробовать исправить следующим образом.

    1. Узнать какой backend соответствует модели. По соответствующей ссылке будет указание в каком файле хранятся параметры моделей.
    2. В /opt/etc/sane.d/{файл параметров моделей} добавить строки (значения берутся из вывода команды sane-find-scanner):
      usb 0x04e8 0x341b
      usb libusb:001:004

    Если сканер все еще не доступен, то для xerox_mfp можно проделать следующее.

    1. Скачать файл xerox_mfp_wl500.tar.bz2 и поместить на устройство.
    2. Выполнить на устройстве в папке со скачанным файлом:
      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 
  7. Протестировать состояние сканера:
    scanimage –T

Как настроить доступ к сканеру по сети?[править]

  1. В файл /etc/sane.d/saned.conf добавить строки с описанием подсетей, из которых будет доступен сканер:
    192.168.1.0/24 # разрешить доступ со всех IP вида 192.168.1.*
  2. Поменять содержимое файла /etc/xinetd.conf на:
    service saned
    {
    socket_type = stream
    server = /usr/sbin/saned
    protocol = tcp
    user = root
    group = root
    wait = no
    disable = no
    }
  3. Добавить xinetd в автозагрузку:
    1. В Web-интерфейсе перейти к Administration → Commands.
    2. Если есть раздел Startup нажать в нем кнопку Edit.
    3. В разделе Command Shell добавить к содержимому поля Commands:
      xinetd
    4. Нажать кнопку Save Startup.
  4. Перезагрузить устройство.

Как получить доступ к этому сканеру?[править]

  • В Windows: воспользоваться приложением SaneTwain.
  • В Ubuntu: в файл /etc/sane.d/net.conf добавить строку с IP устройства:
    192.168.1.1

Ссылки[править]