воскресенье, 19 июня 2011 г.

WL500G настройка роутера как принт-сервера для HP LaserJet P1005

Для того чтобы настроить печать через роутер WL500g нужно проделать несколько простых действий.


Для начала нужно выставить флаг "Enable RAW printing" в web-интерфейсе роутера.



После сохранения настроек и перезагрузки роутера можно проверить стал ли доступен порт 9100

:$ sudo nmap -sS 192.168.1.1

Host is up (0.0062s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
9100/tcp open  jetdirect

Nmap done: 1 IP address (1 host up) scanned in 0.59 seconds

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

Но для принтеров HP может понадобится небольшая магия. Нужно будет приконектится к роутеру по ssh или спомощью telnet и выполнить следующие команды.

mkdir /usr/local/sbin
cd /usr/local/sbin

wget http://oleg.wl500g.info/hplj/usb_printerid
wget http://oleg.wl500g.info/hplj/sihpP1005.dl
chmod +x usb_printerid

./usb_printerid /dev/usb/lp0 | grep -q FWVER || cat sihpP1005.dl > /dev/usb/lp0

echo "#!/bin/sh" > hotplug.sh
echo "/usr/local/sbin/usb_printerid /dev/usb/lp0 | grep -q FWVER || cat /usr/local/sbin/sihpP1005.dl > /dev/usb/lp0" >> hotplug.sh

echo "#!/bin/sh" >> post-boot
echo "if [ -w /dev/usb/lp0 ]" >> post-boot
echo "cat /usr/local/sbin/sihpP1005.dl > /dev/usb/lp0" >> post-boot
echo "fi" >> post-boot

echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug

echo "#!/bin/sh" >> pre-boot
echo "/bin/echo /usr/local/sbin/hotplug.sh >> /proc/sys/kernel/hotplug" >> pre-boot

chmod +x /usr/local/sbin/hotplug.sh /usr/local/sbin/post-boot /usr/local/sbin/pre-boot
flashfs save && flashfs commit && flashfs enable && reboot

Для установки другого принтера серии загляните на http://oleg.wl500g.info/hplj/ Там перечислены все поддерживаемые модели.

1 комментарий:

  1. Небольшая неточность в скрипте post-boot:
    пропущена одна строчка, без которой скрипт работать не будет.. Правильно так:
    echo "#!/bin/sh" >> post-boot
    echo "if [ -w /dev/usb/lp0 ]" >> post-boot
    echo "then" >> post-boot
    echo "cat /usr/local/sbin/sihpP1005.dl > /dev/usb/lp0" >> post-boot
    echo "fi" >> post-boot

    Кроме того, в моей версии прошивки, путь к принтеру: /dev/lp0, а не /dev/usb/lp0

    ОтветитьУдалить