This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
software:openwrt:printserver [2022/02/04 18:34] – removed - external edit (Unknown date) 127.0.0.1 | software:openwrt:printserver [2022/02/05 04:24] – root | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Введение ====== | ||
+ | Эта инструкция по созданию сервера печати на базе OpenWRT.\\ | ||
+ | Имеющиеся в продаже готовые решения примитивны и неоправданно дорого стоят.\\ | ||
+ | Из всех имеющихся на рынке готовых решений только Zyxel Keenetic на старой прошивке версии 1 (возможно на новых тоже) может автоматически загружать прошивку в принтер, | ||
+ | |||
+ | ===== Features ===== | ||
+ | * Возможность получить и установить свежую прошивку | ||
+ | * Широкий выбор аппаратной платформы | ||
+ | * Поддержка IPv6, DHCPv6 и тп | ||
+ | * Поддержка USB хабов | ||
+ | * Поддержка WiFi (встроенного или через дополнительный PCI/USB адаптера) | ||
+ | * Возможность одновременной работы с несколькими принтерами | ||
+ | * Автоматическая загрузка прошивки в принтер при включении сервера печати или принтера | ||
+ | |||
+ | |||
+ | |||
+ | ====== Установка ====== | ||
+ | Лучше посмотреть инструкции по установки для выбранного устройства на сайте openwrt.\\ | ||
+ | На [[http:// | ||
+ | - скачать [[https:// | ||
+ | - с помощью dd залить его на MicroSD флешку | ||
+ | - вставить флешку в [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ====== Настройка ====== | ||
+ | Заходим в веб интерфейс, | ||
+ | |||
+ | |||
+ | |||
+ | ===== Включение DHCP клиента ===== | ||
+ | |||
+ | Переключаем для работы в качестве DHCP клиента, | ||
+ | |||
+ | - Переходим в [[http:// | ||
+ | - **Edit** для **LAN** | ||
+ | - Вкладка **General Settings**, **Protocol**: | ||
+ | - Переходим в вебгуй на новом адресе чтобы примерились настройки, | ||
+ | |||
+ | |||
+ | |||
+ | ===== Фиксация MAC адреса ===== | ||
+ | |||
+ | Для NanoPi NEO требуется зафиксировать mac адрес, чтобы он не генерировал новый после каждой перезагрузки. | ||
+ | |||
+ | - Переходим в [[http:// | ||
+ | - **Edit** для **LAN** | ||
+ | - Вкладка **Advanced Settings**, **Override MAC address**: вводим примерно тоже самое что там отображается и **Save**, **Save & Apply** | ||
+ | |||
+ | |||
+ | |||
+ | ===== Устанавливаем необходимые компоненты ===== | ||
+ | - Переходим в [[http:// | ||
+ | - **Update lists...** (интернет должен быть уже настроен), | ||
+ | - В появившемся окне: **Dismiss** | ||
+ | - Устанавливаем: | ||
+ | |||
+ | Либо через SSH вводим | ||
+ | < | ||
+ | opkg install p910nd luci-app-p910nd kmod-usb-printer kmod-lp</ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Скрипт 10-prnt-helper ===== | ||
+ | |||
+ | |||
+ | ==== Функционал ==== | ||
+ | При подключении принтера [[http:// | ||
+ | - создаёт symlink / | ||
+ | - загружает прошивку с именем ${DEV_VID}-${DEV_PID}.dl из /etc/fw в принтер | ||
+ | - выводит информацию о своих действиях в [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Установка ==== | ||
+ | - Подключаемся по ssh: < | ||
+ | - Создаём папку: < | ||
+ | - Скачиваем скрипт: | ||
+ | - Устанавливаем права: < | ||
+ | - Устанавливаем владельца: | ||
+ | |||
+ | |||
+ | |||
+ | ==== Установка прошивок ==== | ||
+ | - Переходим в [[http:// | ||
+ | Sat Jan 16 00:26:07 2021 user.notice prnt-helper: | ||
+ | - Создаём папку: < | ||
+ | - Скачиваем прошивку для HP 1018: < | ||
+ | |||
+ | **DF32CGE** - Уникальный серийный номер принтера.\\ | ||
+ | **03f0-4117.dl** - VID-PID для HP 1018.\\ | ||
+ | **20051028_hp1018.dl** - прошивка к которой уже добавлены нужные заголовки.\\ | ||
+ | Подробнее про прошивки и где/ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Автозапуск ==== | ||
+ | На случай если принтер и принт сервер были обесточены а потом включены одновременно требуется чтобы при загрузке 10-prnt-helper запускался из стартовых скриптов, | ||
+ | |||
+ | - Переходим в [[http:// | ||
+ | - перед "exit 0" добавляем:< | ||
+ | for _UMDIR in `find / | ||
+ | _LPDIR_PATH=`find " | ||
+ | [ -z " | ||
+ | _LPNAME=`basename " | ||
+ | [ ! -c "/ | ||
+ | _DEVPATH=`echo " | ||
+ | echo "Force hotplug for: DEVNAME=usb/ | ||
+ | ACTION=add DEVNAME=" | ||
+ | done</ | ||
+ | - **Save** | ||
+ | |||
+ | |||
+ | |||
+ | ==== Персистентность ==== | ||
+ | Чтобы скрипт и файлы прошивок сохранялись в бэкапах конфигурации а так же при обновлении нужно проделать следующее: | ||
+ | - Переходим в [[http:// | ||
+ | - Добавляем текст: < | ||
+ | / | ||
+ | - **Save** | ||
+ | |||
+ | |||
+ | |||
+ | ===== p910nd ===== | ||
+ | - Переходим в [[http:// | ||
+ | - Включаем **enable** | ||
+ | - В поле **Device** вместо **/ | ||
+ | - Остальное на своё усмотрение | ||
+ | - **Save & Apply** | ||
+ | |||
+ | |||
+ | |||
+ | ====== Обновление ====== | ||
+ | - Через WebUI загрузить ext4 образ (для NanoPi NEO) | ||
+ | - Заново установить компоненты | ||
+ | - Перезагрузить | ||
+ | |||
+ | |||
+ | |||
+ | ====== Заключение ====== | ||
+ | Не рассмотрена настройка фаервола, | ||
+ | Расширенные функции, | ||
+ | \\ | ||
+ | Ретроспективно, | ||
+ | - Сервер печати TL-PS110U + [[software: | ||
+ | - FreeBSD 9 на Equeleus 8132, самописный демон dprint и скрипт под devd для загрузки прошивки (почти не использовалось) | ||
+ | - Zyxel Keenetic Giga - проработал долго, пока роутер не вышел из строя, после него использовался опять первый вариант | ||
+ | \\ | ||
+ | Основная причина создания этого решения - необходимость автоматической загрузки прошивки в принтер, | ||
+ | Возможности заменить плату на аналогичную с флешкой под прошивку и сетью - теоретически есть, но времени на реализацию уйдёт больше при не гарантированном результате.\\ | ||
+ | \\ | ||
+ | В планах на будущее: | ||
+ | * Добавить автоматическое обнаружение | ||
+ | * Установить NanoPi NEO в металлический корпус | ||
+ | * Подключить к NanoPi NEO сканер и настроить кнопки на нём для сканирования на сервер и копирования | ||
+ | ====== Источники ====== | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | [[http:// | ||
+ | [[software: | ||
+ | [[hardware: | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | {{tag> |