Общий доступ к принтеру

From DD-WRT Wiki

Jump to: navigation, search


DD-WRT обеспечивает совместное использование принтеров, что упрощает установку принтеров непосредственно в маршрутизатор без отдельного компьютера. В маршрутизаторе должна быть установлена поддержка USB USB support (usb_storage, sd_mod и т.д. могут быть пропущены, если нет необходимости во внешнем хранилище).

Часть информации ниже устарела. Я сделал руководство, как включить USB-печать на Asus WL-520gU. Это должно также относиться к другим маршрутизаторам с USB. http://wl520gu.googlepages.com/

Следующее должно быть сделано через Telnet или SSH:

Contents


[edit] Драйвер принтера

ПРИМЕЧАНИЕ. Прежде чем выполнять следующие шаги, необходимо сначала включить поддержку файловой системы JFFS через веб-интерфейс.

 Перейдите в раздел "Administration → Management". Выберите 'Enable' для "JFFS2" в разделе "JFFS2 Support" и выберите 'Enable' для "Clean JFFS2". Нажмите кнопку "Apply Settings".
 

Установите драйвер принтера:

 ipkg -force-depends install kmod-usb-printer

Отредактируйте файл /jffs/etc/config/usb.startup и добавьте

 insmod /jffs/lib/modules/2.4.30/printer.o

Подключите принтер к маршрутизатору и перезагрузите маршрутизатор

Посмотрите, были ли найдены какие-либо принтеры:

 dmesg | grep usb

Должно появиться что-то вроде этого (у меня есть 2 подключенных принтера)

 <6>printer.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04F9 pid 0x000D
 <6>printer.c: usblp1: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x108C

usblp0 означает, что найденный принтер доступен по адресу /dev/usb/lp0 и т.д.

Примечание. Ссылка 'USB Support' выше относится к установке нескольких модулей. На моем WRT350N мне пришлось установить эти дополнительные модули (usb-uhci.o и usb-ohci.o), чтобы мой маршрутизатор обнаружил, что мой принтер подключен.

Комментарии от wmd1942:

Я обнаружил, что команда "insmod /jffs/lib/modules/2.4.30/printer.o" не нужна, если у вас включены параметры Core USB Support, USB 2.0 Support и USB Printer Support в разделе 'Services' веб-интерфейса маршрутизатора.


[edit] Настройка рабочей станции

CUPS Web Interface

  • Убедитесь, что служба CUPS запущена и работает.
  • Откройте страницу http://localhost:631 в браузере, предполагая, что вы используете сервер CUPS локально.
  • Перейдите на вкладку 'Administration'.
  • Нажмите кнопку 'Add printer' в разделе 'Printers'.
  • Выберите 'AppSocket/HP JetDirect' и нажмите 'Continue'
  • Введите 'socket://HOSTNAME:9100', где HOSTNAME - это IP-адрес вашего маршрутизатора (обычно 192.168.1.1). 9100 для первого принтера, 9101 для второго и т.д. Нажмите 'Continue'.
  • Перейдите к мастеру настройки принтера, чтобы выбрать марку, модель и настройки, как для локального принтера. Как правило, файлы PPD предоставляются пакетами драйверов принтера и помещаются в каталог /usr/share/cups/model.

Ubuntu Linux

  • Перейдите в System → Administration → Printing.
  • Нажмите New Printer.
  • Выберите AppSocket/HP JetDirect.
  • Hostname: IP-адрес беспроводного принтера (обычно 192.168.1.1).
  • Port: 9100 для первого принтера, 9101 для второго принтера и т.д.
  • Нажмите Forward и перейдите к мастеру печати, чтобы выбрать марку, модель и настройки, как для локального принтера.

Windows XP

  • Найдите свой принтер в Панели управления → Устройства и принтеры и откройте страницу свойств принтера.
  • Выберите вкладку «Порты».
  • Нажмите «Добавить порт», выберите "Стандартный порт TCP/IP" и нажмите «Новый порт».
  • Введите IP-адрес вашего маршрутизатора (обычно 192.168.1.1) и нажмите Далее.
  • Установите тип устройства на пользовательский и нажмите настройки.
  • Убедитесь, что выбран RAW, укажите необходимый номер порта (обычно 9100, 9101 для второго принтера и т.д.) и нажмите OK.
  • Нажмите Далее, Готово и Закрыть.
  • Убедитесь, что только что созданный порт выбран для вашего принтера и нажмите OK.

Mac OS X 10.5 (Leopard)

  • Откройте System Preferences
  • Откройте Print & Fax
  • Нажмите кнопку + под списком установленных принтеров
  • Выберите кнопку 'IP' на панели инструментов
  • Выберите протокол: HP Jetdirect - Socket
  • Введите адрес и порт вашего маршрутизатора, например, 192.168.1.1:9100
  • Оставьте 'Queue' пустым
  • Установите имя для вашего принтера (любое, по желанию)
  • И дружелюбное расположение (любое, по желанию)
  • Использование печати: выберите 'Select a driver to use'
  • Появится список всех установленных драйверов принтера - выберите тот, который вам подходит (см. примечание ниже)
  • Добавьте свой принтер

Примечание (только для Mac): драйвер должен быть совместим с системой печати CUPS, которая является одной из двух систем печати, включенных в OS X. Некоторые принтеры, например серии Canon Pixma и Epson Inkjet, включают драйверы OSX, которые не используют CUPS. Вы можете найти совместимые драйверы принтера от Gutenprint (бесплатно) или PrintFab (платно). OS X Leopard, кажется, включает в себя определенные драйверы Gutenprint, но их качество может отличаться, и, возможно, стоит проверить их веб-сайт на наличие последних версий или попробовать PrintFab.

[edit] Печать из WAN

Если вы хотите иметь возможность печати со стороны интерфейса WAN вашего маршрутизатора, сделайте следующее:

В веб-интерфейсе перейдите в Administration → Commands и нажмите на поле "Command shell" и введите

 /usr/sbin/iptables -I INPUT 1 -p tcp --dport 9100:9102 -j logaccept

И нажмите кнопку Save Firewall.

Ваш маршрутизатор перезагрузится и теперь вы можете печатать со стороны глобальной сети.

ПРИМЕЧАНИЕ. Это не рекомендуется делать, если интерфейс WAN маршрутизатора доступен напрямую из Интернета, но полезно в частных подсетях компаний, колледжей и т.д.


[edit] Заметки для К26

В новом ядре 2.6 ядро ​​больше не создает файл устройства /dev/usb/lp0. Вы должны сделать это вручную один раз. Просто введите

mknod -m 660 /dev/usb/lp0 c 180 0

один раз и всё будет работать. Вероятно, это следует сделать до запуска сервера p910nd.

Примечание от другого пользователя: мне пришлось добавить эту команду в файл /jffs/etc/config/usb.startup.

[edit] Заметки для Windows

Даже если вы выполните описанные выше шаги в Windows XP для подключения ПК с Windows к маршрутизатору, у вас могут возникнуть некоторые проблемы с драйверами Windows. Если после выполнения указанных выше действий вы отправите тестовую страницу, и принтер издаст звуковой сигнал, чтобы указать, что он получил задание, но затем не распечатывает, вам потребуется заново выполнить настройки для принтера. Вы также можете просмотреть файлы журнала, в которых указано "print job sent" (задание на печать отправлено) и "job completed" (задание выполнено).

Перейдите в раздел "Устройства и принтеры" и щелкните правой кнопкой "Свойства" на настроенном принтере. На вкладке "Дополнительно" убедитесь, что драйверы установлены правильно.

Иногда Windows не может их правильно настроить, даже если вы указали необходимые настройки ранее.