Soho manager networking usb server настройка принтер сервер

Обновлено: 18.05.2024

Всё началось с того, что у нас в офисе во время грозы погорела куча сетевого оборудования, в том числе сдох принт-сервер D-Link DPR-1061, к которому у нас были подключены два usb-принтера: МФУ (А3 формата) Xerox WorkCentre 5020 и рулонный плоттер HP designjet 111 Roll. Произошло всё в моё отсутствие, пока я был в отпуске. Ну и заказали без разбору новый "принт-сервер". Эдакую коробочку "AGESTAR LB4-G", которая, как оказалось, мало того, что всего с одним USB-портом, так и вообще даже не принт сервер собственно. а, так называемый, USB-сервер или сетевой USB-адаптер, весьма глючный и неудобный в эксплуатации, в общем редкостная хрень, которую можно использовать разве что в качестве USB-удлинителя, если у Вас дома принтер и компьютер стоят в разных комнатах.
Тут я и вспомнил про свою старую-добрую коробочку TP-Link TL-MR3020, пылящуюся без дела на полке (с уже установленной OpenWrt). К слову сказать, если бы начальство не пожадничало, и вместо роутера TP-LINK TL-WR841N купило, скажем, модель TL-WR1043ND (с USB разъёмом), то можно было бы вообще использовать его же и в качестве принт-сервера.

Настройка сервера
Итак, для использования роутера в качестве принт-сервера, установим на него пакет p910nd - это маленький демон, не имеющий своей очереди печати, а направляющий задачи непосредственно на принтеры. Система печати клиентского компьютера подключается к нему по TCP порту 910n, где n=0,1,2. для принтеров lp0, lp1, lp2. соответственно.

Устанавливаем необходимые пакеты:

Подключаем наши принтеры через USB-хаб и проверяем, что они определились системой:

Посмотреть текущую конфигурацию p910nd можно с помощью команды:

Для настройки конфигурации принт-сервера открываем файл /etc/config/p910nd и приводим его примерно к такому содержанию:

Здесь мы настроили две секции: для принтеров lp0 и lp1 соответственно. Запускаем демона p910nd и добавляем его в автозапуск:

Для управления настройками демона из панели управления luci устанавливаем соответствующий пакет:

После чего в Luci станут доступны настройки конфигурации p910nd на вкладке: Services > p910nd - Printer Server.

Настройка фаервола
В фаерволе разрешаем входящие соединения на TCP порты 9100, 9101. Для этого в файл /etc/config/firewall добавляем строки:

Настройка правил udev
Всё вышеописанное хорошо работает, однако есть один нюанс: если подключить принтеры в другой последовательности, система определяет их уже под другими именами (lp0, lp1 и т.д.). Отсюда возникают неудобства: приходится включать принтеры строго в определённом порядке, чтобы они соответственно определились системой. Чтобы избавиться от этих неудобств, нужно как-то зафиксировать определённые имена устройств за каждым принтером. В моём случае, на версии прошивки 15.05 Chaos Calmer, используется менеджер процессов procd (в качестве замены hotplug2) - я пока не нашёл внятного описания его возможностей, в том числе, может ли он управлять именами устройств. Достаточно простым решением стало - установка пакета udev и настройка его правил.

Создаём файл с нашими правилами для udev:

Для того, чтобы узнать подробные параметры подключенных принтеров, воспользуемся командой udevadm info для принтеров lp0 и lp1 соответственно:

Где значения SUBSYSTEMS, DRIVERS и ATTRS взяты из результатов вывода udevadm info для каждого принтера. В данном примере у нас для каждого принтера будет создаваться символическая ссылка с соответствующим фиксированным именем. Таким образом, в конфиге p910nd мы можем указывать не пути к файлам устройств, а к ссылкам на них.
Поэтому, приводим файл /etc/config/p910nd к следующему виду:

Протестируем наши правила для udev. Для этого, сначала найдём путь к файлу устройства соответствующего принтера в директории /sys:

и затем выполним команду:

Среди многочисленного вывода команды видим строку:

Значит всё в порядке, ссылка на файл устройства принтера создалась. Можем в этом убедиться:

То же самое можно проделать для второго принтера.

Теперь создадим init-скрипт для udev:

И приведём его к следующему виду:

Запускаем udevd и добавляем его в автозапуск:

На этом с настройкой принт-сервера всё. Теперь нам всё равно, под каким именем определится принтер - lp0, lp1, или другим. Символические ссылки, созданные udev в любом случае будут указывать на нужное устройство.

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC

Приветствую.

После покупки роутера FT-AIR-DUO-G пытаюсь подключить к нему принтер Xerox Phaser 3117 проводом через USB.

Через вэбинтерфейс включен принт сервер. В винде 10 настройки принтера сделаны.

В роутере подключение вроде есть но при печати ошибка. Вот логи. Подключить реально?

Jul 1 12:23:48 kernel: ESW: Link Status Changed - Port4 Link Down
Jul 1 12:23:49 kernel: ESW: Link Status Changed - Port4 Link Up
Jul 1 12:32:59 kernel: usb 1-1: new full-speed USB device number 4 using xhci-hcd
Jul 1 12:32:59 kernel: usb 1-1: New USB device found, idVendor=04e8, idProduct=325b
Jul 1 12:32:59 kernel: usb 1-1: Product: Xerox Phaser 3117
Jul 1 12:32:59 kernel: usb 1-1: Manufacturer: Xerox Corporation
Jul 1 12:32:59 kernel: usb 1-1: SerialNumber: L93973585.
Jul 1 12:32:59 kernel: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04E8 pid 0x325B
Jul 1 12:32:59 usbctrl(11031): TYPE=7/1/2 INTERFACE=7/1/2
Jul 1 12:32:59 usbctrl(11031): add 04e8:325b may be printer

После покупки роутера FT-AIR-DUO-G пытаюсь подключить к нему принтер Xerox Phaser 3117 проводом через USB.

Через вэбинтерфейс включен принт сервер. В винде 10 настройки принтера сделаны.

В роутере подключение вроде есть но при печати ошибка. Вот логи. Подключить реально?

Jul 1 12:23:48 kernel: ESW: Link Status Changed - Port4 Link Down
Jul 1 12:23:49 kernel: ESW: Link Status Changed - Port4 Link Up
Jul 1 12:32:59 kernel: usb 1-1: new full-speed USB device number 4 using xhci-hcd
Jul 1 12:32:59 kernel: usb 1-1: New USB device found, idVendor=04e8, idProduct=325b
Jul 1 12:32:59 kernel: usb 1-1: Product: Xerox Phaser 3117
Jul 1 12:32:59 kernel: usb 1-1: Manufacturer: Xerox Corporation
Jul 1 12:32:59 kernel: usb 1-1: SerialNumber: L93973585.
Jul 1 12:32:59 kernel: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04E8 pid 0x325B
Jul 1 12:32:59 usbctrl(11031): TYPE=7/1/2 INTERFACE=7/1/2
Jul 1 12:32:59 usbctrl(11031): add 04e8:325b may be printer

Последний раз редактировалось 01/07/2020, 15:27 : sfstudio
  1. лог не полный
  2. ошибка какая на винде?
  3. как настроено на винде?
  4. зайти на роутер по ssh и показать вывод ps | grep p910 можете? Иначе придётся доступ давать мне.
  1. лог не полный
  2. ошибка какая на винде?
  3. как настроено на винде?
  4. зайти на роутер по ssh и показать вывод ps | grep p910 можете? Иначе придётся доступ давать мне.

Принтер увиделся и подхватился драйвером. Дальше кусок лога который вы привели кончился. Полный лог увидеть можно? Ну с этого момента и до конца?

Есть же уже тема по принтеру? Зачем ещё одну создали? Ай ладно.

Причём тут багрепорты тоже пока не ясно. Я пока не вижу именно ошибки на стороне роутера.

Последний раз редактировалось 01/07/2020, 13:32 : sfstudio

P.S. Судя по нагугленному настроен должен быть в RAW режиме, ну когда винду настраиваете.

Последний раз редактировалось 01/07/2020, 13:25 : sfstudio

А лога дальше почти нет. 2 строчки было про подключение 2,4.

Настроено как в примере темы на 4пда. Настроен в RAW.

по п.п. 4 как зайти на роутер по ssh и показать вывод ps?

P.S. что тема размещена не в том разделе уже после увидел

Не поленился дотащил свой самсунг до роутера (ксерокса нет увы, но суть та же).

Т.е. подхватился и слушает.

Настроил с W10 и запустил печать. В логе сразу вижу

Т.е. с ПК с адресом 192.168.254.200 подключились к p910nd .

Результат - страница распечатана.

У вас в логе вообще подключения видно ПК? Если нет, то однозначно смотрим настройки винды в т.ч. её фаервол.

Проверить запустился ли сервер на роутере можно подключившись по ssh например так:

Т.е. грубо говоря не вижу проблем от слова совсем.

Не поленился дотащил свой самсунг до роутера (ксерокса нет увы, но суть та же).

Т.е. подхватился и слушает.

Настроил с W10 и запустил печать. В логе сразу вижу

Т.е. с ПК с адресом 192.168.254.200 подключились к p910nd .

Результат - страница распечатана.

У вас в логе вообще подключения видно ПК? Если нет, то однозначно смотрим настройки винды в т.ч. её фаервол.

Проверить запустился ли сервер на роутере можно подключившись по ssh например так:

Т.е. грубо говоря не вижу проблем от слова совсем.

Последний раз редактировалось 01/07/2020, 14:15 : sfstudio

По ssh можно подключиться из под винды используя putty.

Вот насчёт лога. Делаем проще. Перезагружаете устройство. Курите минуты 3-4 что бы всё точно заинитилось, затем пробуете печатать, после чего копируете вообще всё что есть в разделе syslog. Я сам определюсь что там к чему. Потому что лог факт не полный. Оно не может там остановиться если всё как вы говорите.

Т.е. в логе я даже запуска p910nd не вижу, хотя если устройство увидилось то следом он стартует по коду безусловно абсолютно. Т.е. ну всяко должны быть записи. Поэтому лучше полный лог приложить используя Code Insert из панельки редактора (выглядит как <. >) чем резать на куски.

Пока у меня ровно одно предположения - винду где-то заклинило. Адрес роутера верно указан? Порт 9100? Точно? В фаерволе винда или какой антивирусник не блочит?

Если записей о попытках подключения нет то можно дальше не копать. Надо разбираться, т.к. это означает что винда даже не попыталась обратиться к серверу печати на роутере.

По ssh можно подключиться из под винды используя putty.

Вот насчёт лога. Делаем проще. Перезагружаете устройство. Курите минуты 3-4 что бы всё точно заинитилось, затем пробуете печатать, после чего копируете вообще всё что есть в разделе syslog. Я сам определюсь что там к чему. Потому что лог факт не полный. Оно не может там остановиться если всё как вы говорите.

Т.е. в логе я даже запуска p910nd не вижу, хотя если устройство увидилось то следом он стартует по коду безусловно абсолютно. Т.е. ну всяко должны быть записи. Поэтому лучше полный лог приложить используя Code Insert из панельки редактора (выглядит как <. >) чем резать на куски.

Пока у меня ровно одно предположения - винду где-то заклинило. Адрес роутера верно указан? Порт 9100? Точно? В фаерволе винда или какой антивирусник не блочит?

Если записей о попытках подключения нет то можно дальше не копать. Надо разбираться, т.к. это означает что винда даже не попыталась обратиться к серверу печати на роутере.

Последний раз редактировалось 01/07/2020, 14:13 : sfstudio

Jul 1 14:19:38 dropbear[12512]: Exit before auth from <5.228.158.211:33401>: Exited normally
Jul 1 14:19:58 kernel: usb 1-1: new full-speed USB device number 5 using xhci-hcd
Jul 1 14:19:58 kernel: usb 1-1: New USB device found, idVendor=04e8, idProduct=325b
Jul 1 14:19:58 kernel: usb 1-1: Product: Xerox Phaser 3117
Jul 1 14:19:58 kernel: usb 1-1: Manufacturer: Xerox Corporation
Jul 1 14:19:58 kernel: usb 1-1: SerialNumber: L93973585.
Jul 1 14:19:58 kernel: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04E8 pid 0x325B
Jul 1 14:19:58 usbctrl(12517): TYPE=7/1/2 INTERFACE=7/1/2
Jul 1 14:19:58 usbctrl(12517): add 04e8:325b may be printer
Jul 1 14:19:58 prnctrl: Create devs node. for printer
Jul 1 14:19:58 prnctrl: Not found firmware for printer
Jul 1 14:19:58 prnctrl: Start p910nd daemon on port 9100
Jul 1 14:19:58 p9100d[12558]: Connection from ::ffff:192.168.1.236 port 63480 accepted

ну вот что сейчас из логов

Jul 1 14:19:38 dropbear[12512]: Exit before auth from <5.228.158.211:33401>: Exited normally
Jul 1 14:19:58 kernel: usb 1-1: new full-speed USB device number 5 using xhci-hcd
Jul 1 14:19:58 kernel: usb 1-1: New USB device found, idVendor=04e8, idProduct=325b
Jul 1 14:19:58 kernel: usb 1-1: Product: Xerox Phaser 3117
Jul 1 14:19:58 kernel: usb 1-1: Manufacturer: Xerox Corporation
Jul 1 14:19:58 kernel: usb 1-1: SerialNumber: L93973585.
Jul 1 14:19:58 kernel: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04E8 pid 0x325B
Jul 1 14:19:58 usbctrl(12517): TYPE=7/1/2 INTERFACE=7/1/2
Jul 1 14:19:58 usbctrl(12517): add 04e8:325b may be printer
Jul 1 14:19:58 prnctrl: Create devs node. for printer
Jul 1 14:19:58 prnctrl: Not found firmware for printer
Jul 1 14:19:58 prnctrl: Start p910nd daemon on port 9100
Jul 1 14:19:58 p9100d[12558]: Connection from ::ffff:192.168.1.236 port 63480 accepted

ну вот что сейчас из логов

Последний раз редактировалось 01/07/2020, 14:22 : Chips

млин, чудо чудное ))) распечатал лист

млин, чудо чудное ))) распечатал лист

Сессия печати выглядит вот так:

Для некоторых принтеров, в т.ч. моего самсунга, в настройках порта принтера в свойствах должен быть отключен двусторонний обмен данными, на роутере тоже нужно bidrectional выключить в настройках сервера после чего перезагрузить устройство (а иногда и принтер).

В общем на своей стороне я всё проверил. Не вижу проблемы вообще. Смотрите настройки винды.

Сессия печати выглядит вот так:

Для некоторых принтеров, в т.ч. моего самсунга, в настройках порта принтера в свойствах должен быть отключен двусторонний обмен данными, на роутере тоже нужно bidrectional выключить в настройках сервера после чего перезагрузить устройство (а иногда и принтер).

В общем на своей стороне я всё проверил. Не вижу проблемы вообще. Смотрите настройки винды.

млин, чудо чудное ))) распечатал лист

Грю же блин не должно быть проблем. Выпендривается винда просто чёт видать. Включенный двусторонний обмен данными на устройствах оных не поддерживаемых тоже может к разнообразным глюкам приводить. Типа хочу печатаю, хочу нет.

млин, чудо чудное ))) распечатал лист

Грю же блин не должно быть проблем. Выпендривается винда просто чёт видать. Включенный двусторонний обмен данными на устройствах оных не поддерживаемых тоже может к разнообразным глюкам приводить. Типа хочу печатаю, хочу нет.

Последний раз редактировалось 01/07/2020, 14:33 : sfstudio

Ну вот осталось закрепить результат и отписаться на 4pda раз там уже народ палкой потыкали. Грю с проблемами не надо на всякие спортлото типа хоботов и 4pda писать. Сразу сюда и всё. Там только флудиразм разводить.

Ну вот осталось закрепить результат и отписаться на 4pda раз там уже народ палкой потыкали. Грю с проблемами не надо на всякие спортлото типа хоботов и 4pda писать. Сразу сюда и всё. Там только флудиразм разводить.

Спасибо за быстрый отзыв по проблеме )). Но я пока не буду закрывать эту тему. Посмотрю как себя поведут настройки и потом отпишусь.

Спасибо за быстрый отзыв по проблеме )). Но я пока не буду закрывать эту тему. Посмотрю как себя поведут настройки и потом отпишусь.

Ну никто и не закрывает. Пусть повесит месяцок.

Хотя грю там настолько логика тупо линейная, что если принтер совместим то проблемам взяться не откуда. Если не совместим, то ничего и не сделаешь при всём желании.

Какие-то тараканы тут, ну оооооочень сомнительно, что могут откуда-то взяться.

Ну никто и не закрывает. Пусть повесит месяцок.

Хотя грю там настолько логика тупо линейная, что если принтер совместим то проблемам взяться не откуда. Если не совместим, то ничего и не сделаешь при всём желании.

Какие-то тараканы тут, ну оооооочень сомнительно, что могут откуда-то взяться.

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

Ключевое слово двухсторонний. В копилке личного опыта незабываемые впечатления от взбесившегося принтера, который был подключён к некоему домашнему маршрутизатору в режиме двухстороннего обмена. Он без остановки плевался бумагой с единственной строкой на каждой странице до тех пор, пока не был обесточен.

Решением стало отключение двухстороннего обмена в настройках принтера MS Windows.

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

Ключевое слово двухсторонний. В копилке личного опыта незабываемые впечатления от взбесившегося принтера, который был подключён к некоему домашнему маршрутизатору в режиме двухстороннего обмена. Он без остановки плевался бумагой с единственной строкой на каждой странице до тех пор, пока не был обесточен.

Решением стало отключение двухстороннего обмена в настройках принтера MS Windows.

Ну собсно ожидаемо. Потому крутилка у нас и вытащена. Но отключить с одной стороны мало.

Ну собсно ожидаемо. Потому крутилка у нас и вытащена. Но отключить с одной стороны мало.

у меня на Canon MF 4350 печать заработала, а скан нет.

у меня на Canon MF 4350 печать заработала, а скан нет.

Сканирование работать и не будет. Что бы запустить сканирование нужно sane как минимум тащить за собой. Скорее всего понадобиться ещё и драйвер которого под Linux MIPS может и не быть. И не кислые пляски с бубном.

Это ж сервер печати, а не сервер сканирования. Увы. С МФУ в части скана пролёт 100%

Сканирование работать и не будет. Что бы запустить сканирование нужно sane как минимум тащить за собой. Скорее всего понадобиться ещё и драйвер которого под Linux MIPS может и не быть. И не кислые пляски с бубном.

Это ж сервер печати, а не сервер сканирования. Увы. С МФУ в части скана пролёт 100%

Жаль. На предыдущем роутере(TP-Link) работало, хотел проапгрейдиться.

Жаль. На предыдущем роутере(TP-Link) работало, хотел проапгрейдиться.

Жаль. На предыдущем роутере(TP-Link) работало, хотел проапгрейдиться.

Со штатным софтом? Да не верю. Или может одна модель какая хитрая из них куда купили проприретарный сервер TWAIN. Можно конечно заюзать костыли с USBIP но работает оно чаще всего через одно место и не позволяет нормально использовать ни печать ни скан с >1 ПК. Включать такое в штатный софт боже упаси.

В общем нет тут нормального решения. Видите подобные костыли - пройдите лучше мимо и запланируйте апгрейд до сетевого МФУ. Вам всё равно придётся это сделать учитывая тягу МС убивать поддержку совместимости по дровам в новых версиях винды, а вендоров забивать на выпуск новых дров.

Так что если уж такие задачи возникают как сканирование по сети то и железо нужно брать самодостаточное для этого. С принтерами, если они аппаратные, чуть проще. Но МФУ ой.

P.S. Никто не мешает старый роутер юзать как сервер скана/печать. Можно его даже по wifi к основной сети подключить что бы появилась отвязать МФУ от проводов кроме питания и куда-то передвинуть. Тоже вполне себе вариант.

Жаль. На предыдущем роутере(TP-Link) работало, хотел проапгрейдиться.

Со штатным софтом? Да не верю. Или может одна модель какая хитрая из них куда купили проприретарный сервер TWAIN. Можно конечно заюзать костыли с USBIP но работает оно чаще всего через одно место и не позволяет нормально использовать ни печать ни скан с >1 ПК. Включать такое в штатный софт боже упаси.

В общем нет тут нормального решения. Видите подобные костыли - пройдите лучше мимо и запланируйте апгрейд до сетевого МФУ. Вам всё равно придётся это сделать учитывая тягу МС убивать поддержку совместимости по дровам в новых версиях винды, а вендоров забивать на выпуск новых дров.

Так что если уж такие задачи возникают как сканирование по сети то и железо нужно брать самодостаточное для этого. С принтерами, если они аппаратные, чуть проще. Но МФУ ой.

P.S. Никто не мешает старый роутер юзать как сервер скана/печать. Можно его даже по wifi к основной сети подключить что бы появилась отвязать МФУ от проводов кроме питания и куда-то передвинуть. Тоже вполне себе вариант.

Последний раз редактировалось 02/07/2020, 10:16 : sfstudio

Роутер TP-Link TL-WR4300. Печать и скан через утилиту от тплинка USB_Printer_Controller_Utility_Windows . Апгрейд пока решил сделать покупкой AP с поддержкой 802.11 ac,

Роутер TP-Link TL-WR4300. Печать и скан через утилиту от тплинка USB_Printer_Controller_Utility_Windows . Апгрейд пока решил сделать покупкой AP с поддержкой 802.11 ac,

4300 цена на который 6к.р. была ещё недавно преподносился как топовый девайс. Включить в 6к.р. 500р каждому пользователю (не зависимо надо оно ему или не надо), что бы окупить закуп проприретарной реализации аля USBIP (а другого тут не будет иначе будет нужен драйвер сканера на роутере который точно под MIPS никто не выпускал) заточенной под МФУ вот вообще не проблема.

Вопрос только в том, нафиг бы я вот лично платил за то что нужно неведомому Васе Пупкину которому нужно сканер.

Наши решения не обременены такими маркетинговыми чудесами. Отсюда и ценник в т.ч. Хотя никто не мешает закупить кучу проприретари, нужной 0,0001% пользователей, а окупить за счёт остальных. ;)

Да и насколько я видел как работает большинство подобных костылей на основе USBIP, ну очень повезёт если в конкретном случае не будет проблем. Причём в т.ч. проблем на уровне винды которая запросто может начать радовать бсодами от такого безобразия как вкорячивание левых обработчиков прям в стэк USB.

В общем мало того что априрори криво, так ещё и заставить платить за это всех подряд, при реальной необходимости у едениц.

4300 цена на который 6к.р. была ещё недавно преподносился как топовый девайс. Включить в 6к.р. 500р каждому пользователю (не зависимо надо оно ему или не надо), что бы окупить закуп проприретарной реализации аля USBIP (а другого тут не будет иначе будет нужен драйвер сканера на роутере который точно под MIPS никто не выпускал) заточенной под МФУ вот вообще не проблема.

Вопрос только в том, нафиг бы я вот лично платил за то что нужно неведомому Васе Пупкину которому нужно сканер.

Наши решения не обременены такими маркетинговыми чудесами. Отсюда и ценник в т.ч. Хотя никто не мешает закупить кучу проприретари, нужной 0,0001% пользователей, а окупить за счёт остальных. ;)

Да и насколько я видел как работает большинство подобных костылей на основе USBIP, ну очень повезёт если в конкретном случае не будет проблем. Причём в т.ч. проблем на уровне винды которая запросто может начать радовать бсодами от такого безобразия как вкорячивание левых обработчиков прям в стэк USB.

В общем мало того что априрори криво, так ещё и заставить платить за это всех подряд, при реальной необходимости у едениц.

Предположим, что вы хотите в вашей домашней/офисной сети настроить сервер печати Linux, но у вас в наличии есть только принтеры USB (поскольку они значительно дешевле, чем принтеры, у которых есть встроенный разъем Ethernet или беспроводное соединение). Кроме того, а что, если одно из этих устройств является многофункциональным устройством, то вы также захотите использовать в сети встроенный в устройство сканер? В этой статье будет расказано, как установить и использовать в сети многофункциональное устройство USB (струйный принтер и сканер Epson CX3900), лазерный принтер USB (Samsung ML-1640), и в качестве дополнительного бонуса - принтер PDF, причем все на сервере GNU / Linux Debian 7.2 [Wheezy].

Даже при том, что эти принтеры несколько устарели (я купил многофункциональное устройство Epson в 2007 году, а лазерный принтер - в 2009 году), я надеюсь, что то, что я узнал в процессе их установки, также можно применить к более новым моделям тех же самых или других изготовителей: некоторые драйверы доступны в виде бинарных пакетов .deb, тогда как другие можно установить непосредственно из репозиториев. В конце концов, это те основные принципы, которые представляют собой интерес.

Исходная ситуация

Чтобы настроить сетевой принтер и сканер, мы будем использовать пакет CUPS, который в Linux / UNIX / OSX является системой печати с открытым исходным кодом.

Установите на сервере Linux следующие пакеты: cups и cups-pdf :

Если возникнут проблемы: В зависимости от состояния вашей системы (эта ситуация может скорее всего случиться после неудачной ручной установки пакета или наличия неразрешенных зависимостей), система управления пакетами может перед установкой пакетов cups и cups-pdf попросить вас для того, чтобы разрешить текущие зависимости, удалить множество других пакетов. Если возникнет такая ситуация, у вас есть два варианта ее решения:

1) Установите пакеты с помощью другой системы управления пакетами, например, apt-get . Обратите внимание, что это не совсем целесообразно, поскольку текущая проблема решена не будет.

2) Выполните следующую команду: aptitude update && aptitude upgrade. Это позволит устранить эту проблему и одновременно обновить пакеты до их самых последних версий.

Конфигурирование пакета CUPS

Для того, чтобы иметь возможность получить доступ к веб-интерфейсу пакета CUPS , нам нужно, по крайней мере, чуть-чуть отредактировать файл cupsd.conf (файл конфигурации сервера для пакета CUPS). Однако прежде, чем к этому приступить, давайте сделаем резервную копию файла cupsd.conf :

и отредактируем исходный файл (указаны только те разделы, которые относятся к нашей задаче):

Теперь для того, чтобы применить изменения, давайте перезапустим CUPS:

Для того, чтобы позволить другому пользователю (отличающегося от пользователя root) изменять настройки принтера, мы должны следующим образом добавить его в группу lp (гарантирующей доступ к самому принтера и позволяющей пользователю управлять заданиями на печать) и в группу lpadmin (использование собственных настроек печати). Если в вашей текущей настройки сети это не нужно или не желательно, то опустите этот шаг.


Конфигурирование сетевого принтера через веб-интерфейс CUPS


2. Перейдите на вкладку Administration (Администрирование) и нажмите на Add printer (Добавить принтер):


3. Выберите ваш принтер; в данном случае - EPSON Stylus CX3900 @ debian (Inkjet Inkjet Printer), и нажмите на Continue (Продолжить):


4. Настало время выбрать название принтера и указать, хотим ли мы открыть к нему доступ с других рабочих мест:


5. Установите драйвер - Выберите изготовителя принтера и нажмите на Continue (Продолжить).





7. Обратите внимание, что этот предварительно скомпилированный файл .deb должен так или иначе быть перенаправлен на сервер принтера (например, с помощью sftp или scp) с машины, которую мы использовали, для его загрузки (конечно, это было бы сделать намного легче, если бы у нас вместо кнопки загрузки Download была прямая ссылка на файл):


8. После того, как мы разместили файл .deb на нашем сервере, мы его должны установить:

Если возникнут проблемы: Если не установлен пакет lsb (стандартная базовая система, от которой могут быть зависимы приложения сторонних разработчиков, написанные для Linux), то установить драйвер не удастся:


Мы установим пакет lsb и затем снова попытаемся установить драйвер принтера:


Конфигурирование сетевого сканера

Далее, давайте запустим сервис saned , отредактировав для этого файл /etc/default/saned:

Конфигурирование второго сетевого принтера

С помощью пакета CUPS можно настроить несколько сетевых принтеров. Давайте с помощью CUPS настроить дополнительный принтер: Samsung ML-1640, который является лазерным принтером USB.

В пакете splix содержатся драйверы для монохромных (ML-15xx, ML-16xx, ML-17xx и ML-2xxx) и цветных (CLP-5xx, CLP-6xx) принтеров фирмы Samsung. Кроме того, в подробной информации о пакете (доступной с помощью команды aptitude show splix) указывается, что с этим драйвером могут работать некоторые модели, представляющие собой ребрендинг моделей Samsung, например, Xerox Phaser 6100.

Затем с помощью пакета CUPS мы установим сам принтер так, как объяснялось ранее:


Установка принтера PDF

Далее, давайте настроим на сервере печати принтер PDF с тем, чтобы вы могли с клиентских компьютеров конвертировать документы в формат PDF.

Поскольку мы уже установили пакет cups-pdf , принтер PDF был установлен автоматически, что можно проверить с помощью веб-интерфейса:


Когда выбирается принтер PDF, документы будут записываться в специально указанный каталог (по умолчанию в

/ PDF) и их можно будет дополнительно обрабатывать командой пост-обработки.

В следующей статье мы настроим настольного клиентский компьютер с Ubuntu для доступа по сети к этим принтерам.

Ниже указана топология обычной сети, которая берется в качестве примера в настоящем разделе.


IP -адрес принт-сервера по умолчанию: 192,168.0.10. Перед настройкой, подготовьте IP -адрес маршрутизатора. Обычно , это IP- адрес шлюза вашего компьютера

В настоящем разделе IP -адрес маршрутизатора: 192.168.1.1. Если IP -адрес вашего маршрутизатора 192.168.0. x (где х – от 1 до 254), то сразу перейдите к шагу 4.


Шаг 1 Соедините ваш компьютер с принт-сервером напрямую через Ethernet кабель. На компьютере (на котором установлена ОС Ubuntu ) нажмите иконку Сетевые подключения и войдите в Редактировать подключения.


Выберите ваш сетевой адаптер и нажмите Edit (Редактировать).

Шаг 2 Войдите в настройку IPv 4, Способ должен быть указан: Вручную, введите IP -адрес. Вы можете указать адрес как на иллюстрации ниже.

Шаг 4 Соедините принтер с принт-сервером, а принт-сервер с LAN портом вашего маршрутизатора. Соединимте компьютер с вашим маршрутизатором с помощью кабеля или по беспроводной связи.

Вернитесь на страницу Edit Connections (Редактировать соединение), смените настройки IPv 4 на Automatic ( DHCP ) (Автоматически ( DHCP )).

Шаг 5 С левой стороны окна нажмите All Applications (Все приложения). Затем выберите Printing (Печать).


В новом окне нажмите Add (Добавить) для добавления принтера.


Ø Узел: 192,168.1.10 ( IP -адрес принт-сервера)

Ø Очередь : lp1


Шаг 7 Выберите драйвер принтера .


Шаг 8 Укажите информацию о новом принтере и нажмите Apply (Применить).


Теперь установка успешно завершена. Распечатайте тестовую страницу. Если у вас возникли проблемы, свяжитесь со службой поддержки: support @ tp - link . com

Принт-сервер p910nd OpenWRT на примере Samsung SCX-3400

Принт-сервер p910nd OpenWRT на примере Samsung SCX-3400

До недавних пор нам хватало обычного USB подключенного принтера Samsung SCX 3400 для всех наших нужд. Но с ростом количества компьютеров, ноутбуков и даже смартфонов, которые им пользуются, было принято решение сделать из обычного USB принтера беспроводной, а на помощь нам как раз подоcпела одна из моих любимых коробочек TP-Link MR3020 с OpenWRT на борту. Тем самым отпала необходимость держать свой ноутбук, к которому был подключен принтер ранее, постоянно включенным, дабы другие участники сети имели к нему доступ. Ну и, конечно, освободил USB порт на ноутбуке для других задач.

Устанавливаем необходимые пакеты

opkg update
opkg install kmod-usb-printer

Пакет kmod-usb-printer собственно обеспечивает нам поддержку самого USB принтера в OpenWRT.

opkg install p910nd

А пакет p910nd представляет собой небольшой демон сервера печати, который копирует любую информацию, которая поступает через указанный порт на принтер, работая в фоновом режиме.

Если будите настраивать все используя веб-интерфейс LuCI, то нужно еще установить:

opkg install luci-app-p910nd

Ну а если еще ваша душа желает, чтобы все было в настройках по-русски:

opkg install luci-i18n-p910nd-ru

Если ваш OpenWRT роутер жалуется, что у вас не хватает дисковой памяти, то можете ее расширить имея под рукой флешку и немного времени.

Настройка Принт-сервера при помощи UCI

Настроить все можно из под встроенной командной оболочки BusyBox – Ash Shell. Актуально для тех, кто борется за размер прошивки и уже давно вырезал LuCI и настраивает все при помощи команд UCI. Сначала заходим по сетевому протоколу SSH на наш роутер при помощи, например, программы PuTTY. Вводим IP роутера, протокол SSH и жмем соединиться. Вводим логин root, пароль и получаем доступ к оболочке. Для начала втыкаем наш принтер в USB порт роутера и смотрим, определился ли он:

dmesg | grep printer

Если все хорошо, в ответ получаем что-нибудь типа этого:

usblp 1-1:1.1: usblp0: USB Bidirectional printer dev 4 if 1 alt proto 2 vid 0x04E8 pid 0x344F

Таким образом OpenWRT видит наш USB принтер и назначило ему устройство usblp0. Далее

uci show p910nd

Получим список конфигов нашего демона принт-сервера, что-то типа такого:

p910nd.@p910nd[0]=p910nd
p910nd.@p910nd[0].device='/dev/usb/lp0'
p910nd.@p910nd[0].port='0'
p910nd.@p910nd[0].bidirectional='1'
p910nd.@p910nd[0].enabled='0'

4й параметр bidirectional указывает на то, что принтер может обмениваться информацией с инициатором печати, а 5й параметр enabled собственно и включает всю нашу сборную солянку в работу. Таким образом, нам надо было только изменить последний параметр, а сделать это можно следующей командой:

uci set p910nd.@p910nd[0].enabled=1

и подтвердить изменение в конфигах

после чего запустить наш принт-сервер:

Ну и добавить его в автозагрузку:

Дальше открываем любой браузер, в адресной строке вводим 192.168.1.1:9100 и наблюдаем как Samsung SCX – 3400 моргает нам зеленым глазком состояния. Перегружаем роутер чтобы закрепить результат:

Настройки межсетевого экрана OpenWRT в uCI для корректной работы Принт-сервера p910nd

uci add firewall rule

uci show firewall

Смотрим порядковый номер правила, которое только что создалось:

У меня допустим это 10. Далее задаем собственно само правило, начнем с названия:

uci set firewall.@rule[10].name='PrintServer'

Потом указываем зз каких интерфейсов чтобы был доступен принтер, * - из любых, lan - только локальная сеть, wwan - только wifi и т.д.

uci set firewall.@rule[10].src='*'

Какой порт открыть для доступа

uci set firewall.@rule[10].dest_port='9100'

uci set firewall.@rule[10].target='ACCEPT'

Внести изменения в конфиги

Перезагрузить конфиги в фаерволл

Настройка Принт-сервера при помощи веб-интерфейса LuCI

После установки необходимых пакетов, указанных в начале статьи, у нас появится пункт меню Сервисы – p910nd сервер печати. Открываем его и переходим к настройке:


Если бывает, что вас принт-сервер не отвечает после одной печати, можно отключить двунаправленный режим, бывает спасает от забитого порта. Ну и конечно, можно выбрать интерфейс с какого можно будет отправлять вам на печать документы, у меня например он не определен - документы на печать прилетают и из локальной сети, так же от устройств подключенных к Wi-Fi сети. Но для этого нужно открыть порт принтера в межсетевом экране OpenWRT.

Настройки межсетевого экрана OpenWRT в LuCI для корректной работы Принт-сервера p910nd

Переходим в меню Сеть -> Межсетевой экран, вкладка Правила траффика и создаем правило:


Таким вот макаром отроем порт 9100 принтера всем из любой сети, кто захочет им воспользоваться. Незабываем сохраняться и применять правила межсетевого экрана.

Настройка сетевого принтера в Windows 10

Читайте также: