Настройка Принт-сервера на примере TL-WR842ND и HP LJ 1020 с использованием p910nd

Версия прошивки OpenWrt: OpenWrt Attitude Adjustment 12.09-rc1 / LuCI 0.11 Branch (0.11+svn9425)

Устанавливаем необходимые для работы принт-сервера пакеты и редактор nano, для комфортного редактирования файлов конфигурации

opkg update
opkg install kmod-usb-printer usbutils p910nd nano

Многие принтеры от Hewlett Packard для печати требуют особый набор команд (прошивку), которые необходимо загружать до начала печати. Всем известный Олег, выложил некоторые прошивки на своем сайте. Посмотреть названия файлов можно по ссылке http://oleg.wl500g.info/hplj Нам нужен драйвер от HP 1020 - выбираем sihp1020.dl (А для МФУ hp M1005, например нужен sihp1005.dl) Переходим в каталог, где будем хранить прошивку и загружаем ее

cd /usr/lib/
wget http://oleg.wl500g.info/hplj/sihp1020.dl

Для того чтобы загрузка прошивки происходила автоматически, при каждом подключении принтера создадим файл

nano /etc/hotplug.d/usb/20-printer

В который добавим следующую информацию

#!/bin/sh
FIRMWARE="/usr/lib/sihp1020.dl"
DEVICE=/dev/usb/lp0
LOGFILE=/var/log/printer
if [ "$PRODUCT" = "3f0/2b17/100" -a "$ACTION" = "add" ]
then
      for i in $(seq 30); do
              if [ -c $DEVICE ]; then
                      echo "$(date) : Sending firmware to printer." > $LOGFILE
                      cat $FIRMWARE > $DEVICE
                      echo "$(date) : done." >> $LOGFILE
                      exit
              fi
              sleep 1
      done
fi

Обратите внимание на запись 3f0/2b17 - это VID и PID принтера HP LJ 1020 (Первые нули удаляются 03f0). У другой модели, они будут другие. Узнать можно например из панели управления в Windows ну или подключив принтер к роутеру и набрав команду:

lsusb -v | grep ID

Откуда и получите эти данные:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 03f0:3b17 Hewlett-Packard LaserJet M1005 MFP

Следующие две команды найдены на польском форуме, истинное значение мне пока не ясно. У меня пару раз без них не работало :-)

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

Открываем файл конфигурации p910nd

nano /etc/config/p910nd

где меняем один параметр - вместо /dev/lp0 пишем /dev/usb/lp0

config p910nd
      option device        /dev/usb/lp0
      option port          0   
      option bidirectional 1
      option enabled       1

Открываем в файрволе доступ к принтеру из сети по порту 9100, для этого редактирум файл конфигурации файрвола

nano /etc/config/firewall

В самый конец дописываем следующие строки

# Allow printer                            
config rule                                
      option src lan                     
      option proto tcp                   
      option dest_port 9100              
      option target ACCEPT

Настройка почти закончена… Осталось только включить демона принт-сервера в автозагрузку и перезагрузить роутер

/etc/init.d/p910nd enable
reboot

Back to top

ru/doc/howto/print-server-p910nd.txt · Last modified: 2013/02/22 11:18 by behtold