Принт-сервер p910nd OpenWRT на примере Samsung SCX-3400
- Подробности
- Категория: Внешние устройства
- Опубликовано: 04 января 2018
- Просмотров: 34817
До недавних пор нам хватало обычного 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'
Вторая строка гласит, что устройство определил он верно usb/lp0. Третья строка с параметром port=’0’ устанавливает на какой порт нашего роутера нужно будет отсылать команду на печать. IP адрес моего роутера 192.168.0.1, если параметр port установлен в 0 то доступен принт-сервер будет по адресу http://192.168.1.1:9100. Если установите в 1, то по адресу http://192.168.1.1:9101 и так далее.
4й параметр bidirectional указывает на то, что принтер может обмениваться информацией с инициатором печати, а 5й параметр enabled собственно и включает всю нашу сборную солянку в работу. Таким образом, нам надо было только изменить последний параметр, а сделать это можно следующей командой:
uci set p910nd.@p910nd[0].enabled=1
и подтвердить изменение в конфигах
uci commit
после чего запустить наш принт-сервер:
/etc/init.d/p910nd start
Ну и добавить его в автозагрузку:
/etc/init.d/p910nd enable
Дальше открываем любой браузер, в адресной строке вводим 192.168.1.1:9100 и наблюдаем как Samsung SCX – 3400 моргает нам зеленым глазком состояния. Перегружаем роутер чтобы закрепить результат:
reboot
Настройки межсетевого экрана 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'
Внести изменения в конфиги
uci commit
Перезагрузить конфиги в фаерволл
/etc/init.d/firewall reload
/etc/init.d/firewall restart
Настройка Принт-сервера при помощи веб-интерфейса LuCI
После установки необходимых пакетов, указанных в начале статьи, у нас появится пункт меню Сервисы – p910nd сервер печати. Открываем его и переходим к настройке:
Если бывает, что вас принт-сервер не отвечает после одной печати, можно отключить двунаправленный режим, бывает спасает от забитого порта. Ну и конечно, можно выбрать интерфейс с какого можно будет отправлять вам на печать документы, у меня например он не определен - документы на печать прилетают и из локальной сети, так же от устройств подключенных к Wi-Fi сети. Но для этого нужно открыть порт принтера в межсетевом экране OpenWRT.
Настройки межсетевого экрана OpenWRT в LuCI для корректной работы Принт-сервера p910nd
Переходим в меню Сеть -> Межсетевой экран, вкладка Правила траффика и создаем правило:
Таким вот макаром отроем порт 9100 принтера всем из любой сети, кто захочет им воспользоваться. Незабываем сохраняться и применять правила межсетевого экрана.
Настройка сетевого принтера в Windows 10
Заходим в панель управления - > Оборудование и звук - > Устройства и принтеры - > Добавление принтера. Windows поищет-поищет но не найдет, после чего нужно нажать пункт "Необходимый принтер отсутствует в списке". Далее в списке выбрать "Добавить принтер по его TCP/IP-адресу или имени узла". Тип устройства - Устройство TCP/IP. Имя или IP-адрес - здесь указываем адрес нашего роутера в сети. у меня это 192.168.0.104. Имя порта он пишет автоматически не нужно его править. Затем начинается новый поиск порта нашего принтера. Опять выйдет сообщение что устройство не найдено. Далее ждем далее ничего не меняя, в следующем окне находим производителя и модель своего принтера или устанавливаем дрова с диска, далее использовать уже установленный драйвер, потом задаете имя принтера какое вашей душе угодно и пробуете печать пробной страницы.
Комментарии
uci set firewall.PrintServer=rule
- при этом будет создана секция firewall.PrintServer с типом rule (вместо безликой firewall.@rule[n]). Ну а делее - "по тексту":
uci set firewall.PrintServer.name='PrintServer'
uci set firewall.PrintServer.src='*'
uci set firewall.PrintServer.dest_port='9100'
...
Цитирую /etc/hotplug.d/usb/20-printer:
Не знаю почему но у этого oldwiki.archive.openwrt.org/doc/howto/p910nd.server туториала отсутствует установка конфига дэмона p910nd
Не сработало. На буржуйских форумах находил, что у многих такая проблема. И вроде как связано с новыми версиями ПО. Решения к сожалению не нашел. :-(
P.S. И, кстати, kmod-usb-core - базовая поддержка USB, как такового; kmod-usb-ohci/kmod-usb-uhci - поддержка контроллеров USB 1.x; kmod-usb2/kmod-usb-dwc2 - поддержка контроллеров USB 2.0.
eximage.ru/image.php?di=UTCA
eximage.ru/image.php?di=HGX1
ls -l /dev/ttyUSB*
2. Если имя изменилось, то в сервисе нужно указать новое. В противном случае перезапустите сервис:
/etc/init.d/p910nd restart
Все настроил, все работает, печать идет. Но через некоторое время, всегда по разному, перестает работать пока не передернешь провод USB или не перезагрузишь роутер
Мы гордимся тем, что помогаем компаниям развиваться
и достигать успеха на рынке.
Наше агентство состоит из команды опытных и талантливых маркетологов, которые обладают
глубокими знаниями и пониманием современных маркетинговых тенденций.
Мы постоянно следим за изменениями в индустрии и адаптируем наши
стратегии, чтобы наши клиенты всегда оставались впереди конкурентов.
Что мы можем предложить вам
как профессиональный маркетолог?
Вот некоторые из наших услуг:
1. Разработка маркетинговых стратегий:
Мы поможем вам определить
вашу целевую аудиторию, разработать уникальное предложение и создать эффективный план действий для достижения ваших целей.
2. Исследование рынка: Мы проведем
глубокий анализ вашего рынка, изучим конкурентов и определим потенциальные возможности для вашего бренда.
3. Разработка брендинга:
Мы поможем вам создать сильный и узнаваемый бренд, который будет отражать ценности и уникальность вашей компании.
4. Создание маркетинговых кампаний: Мы разработаем и реализуем эффективные маркетинговые кампании,
которые помогут вам привлечь новых клиентов и удержать
существующих.
5. Онлайн-маркетинг: Мы предлагаем широкий спектр
услуг в области онлайн-маркетинга, включая SEO-оптимизацию,
контент-nemkovich design studio| немкович маркетинг студио| немкович дизайн студио| немкович студио| немкович маркетинг| немкович дизайн| nemkovich design| nemkovich studio| продвижение сайтов nemkovich marketing studio| nemkovich marketing}, социальные медиа и т.д.
6. Аналитика и отчетность: Мы предоставляем детальные
отчеты о результативности ваших маркетинговых кампаний, чтобы вы могли оценить их эффективность и внести необходимые корректировки.
сео продвижение nemkovich
marketing стремимся к долгосрочным партнерским отношениям с нашими клиентами и всегда готовы адаптироваться к их
потребностям. Мы понимаем, что каждая компания уникальна, и поэтому наши решения
всегда индивидуальны и ориентированы на достижение ваших
конкретных целей.
Если вы ищете профессионального маркетолога,
который поможет вам развить ваш
бренд и достичь успеха на рынке, обратитесь к
нам. Мы готовы помочь вам воплотить ваши маркетинговые идеи в реальность.