У меня также не печатает LaserJet 1020.... Прочетав ветку я понял, что нужно скачать sihp1020.dl, и куда-то его прилепить...
Не подскажете куда? и как?
Спасибо.
Антон.
У меня также не печатает LaserJet 1020.... Прочетав ветку я понял, что нужно скачать sihp1020.dl, и куда-то его прилепить...
Не подскажете куда? и как?
Спасибо.
Антон.
Почитай еще раз ветку http://wl500g.info/showthread.php?t=4092&highlight=1020 .
Только вчера настраивал 1018 таким образом - все великолепно работает. Только вот скрипт для "автоматического" подцепления принтера при включении, который там дан, некорректный, он сам себя запускает бесконечное кол-во раз, пока память не кончится. Я его немного модифицировал, и теперь все работает.
Для начала попробуй сделать http://wl500g.info/showpost.php?p=24807&postcount=11
Написал на всякий случай, мало ли кому еще понадобится...
Сначала надо настроить на компе самым обычным образом печать на подключенный к роутеру принтер (описано тут).
У меня к роутеру подключен жестяк, поэтому все связанное с принтером, естественно, лежит на нем. Диск смонтирован в /opt.
На диске в папке /opt/usr/printer я поместил выложенные Олегом файлы (ссылка) для HP 1018, т.е. usb_printerid и sihp1018.dl. Первый из них - это утилита идентификации принтера, второй - файл программы для принтера, который при "нормальной" работе принтера от компьютера сгружается драйвером в принтер перед печатью, это что-то вроде прошивки.
После этого проверил работоспособность этой штуки - включил принтер, и коммандой
usb_printerid /dev/usb/lp0 | grep -q FWVER || cat sihp1018.dl > /dev/usb/lp0
(естественно, находясь в папке с драйвером и утилитой, чтобы не писать полные пути) загрузил драйвер в принтер. Произошла инициализация принтера (он включился и немного покрутил барабаном, как перед печатью). Печать с компьютера после этого пошла абсолютно нормально.
Далее я решил автоматизировать инициализацию принтера. Где-то на форуме нашел идею проверки подключаемых к USB устройств, и написал скрипт проверки принтера и загрузки в него прошивки при его включении или подключении к USB. Файл скрипта hotplug.sh положил в папку /opt/usr/hotplug. Код скрипта:
#!/bin/sh
LOG=/opt/var/log/hotplug.log
PRN_BIN=/opt/usr/printer/usb_printerid
PRN_FRM=/opt/usr/printer/sihp1018.dl
echo --------------- >> $LOG
date >> $LOG
echo $* >> $LOG
set >> $LOG
if [ "$ACTION" = "add" ] || [ "$1" = "usb" ] || [ "$DEVFS" = "/proc/bus/usb" ]; then
sleep 5
$PRN_BIN /dev/usb/lp0 | grep -q FWVER || cat $PRN_FRM > /dev/usb/lp0
echo "Printer OnLine" >> $LOG
else
echo "Printer OffLine" >> $LOG
fi
killall hotplug.sh
Если логи не нужны, запись их несложно выкинуть отсюда. Пути так же можно легко поменять.
А чтобы этот скрипт запускался при подключении устройств, надо прописать его в hotplug роутеру, для этого я в post-mount (который надо создать, если отсутствует, в папке /tmp/local/sbin) добавил после всего остального (запуск веб-сервера, mysql, php, cron и т.д.) строку:
echo "/opt/usr/hotplug/hotplug.sh" >> /proc/sys/kernel/hotplug
Все файлы скриптов и утилиты идентификации естественно надо сделать исполняемыми (chmod +x имя_файла).
Впринципе, для автоматической инициализации принтера и возможности печати на него этого достаточно. Вроде как ничего не забыл указать. Если забыл - поправьте меня, исправлюсь)
Потом я еще кое-чего химичил, но это уже для печати не обязательно...
На роутере естественно стоит прошивка от Олега последней версии. Если надо, информацию о том, как создать файлы, папки, и многое другое на форуме неоднократно описано, поэтому расписывать подробнее не стал.
для тех у кого нету внешнего винта:
Копируем файлы :
sihp1020.dl
usb_printerid
в директорию /usr/local/sbin
В ней же создаем hotplug.sh :
#!/bin/sh
PRN_BIN=/usr/local/sbin/usb_printerid
PRN_FRM=/usr/local/sbin/sihp1020.dl
if [ "$ACTION" = "add" ] || [ "$1" = "usb" ] || [ "$DEVFS" = "/proc/bus/usb" ]; then
sleep 5
$PRN_BIN /dev/usb/lp0 | grep -q FWVER || cat $PRN_FRM > /dev/usb/lp0
fi
killall hotplug.sh
В файл post-boot в самом конце добавляем :
# Printer
/bin/echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug
Делаем
flashfs save
flashfs commit
flashfs enable
Вуаля. Все работает
эх, а подробней кто-нибудь может объяснить, для людей, которые с роутером на вы, просто не понятно, что значит загрузить, как это сделать? ясно только то, что если есть флэшка постоянно подключенная к роутеру, то создаем папку, записываем файлы, да и как это делать надо? подключая флэшку к компу или кидая файлы по самбе... а вот куда скрипт помещать не понятно... пожалуйста, чуть подробней... пошагово...
"Что" и "куда" я написал чуть выше, а "как" - на форуме написано неоднократно, еще раз объяснять нет ни смысла, ни желания особого.
Например это http://wl500g.info/showthread.php?t=3171 для начала почитайте.
Мегареспектище тебе.... все завелось, как так и было :-))
Вопрос по этому кусочку -
я так понимаю - внизу должен подставляться полный путь (тот, который указан выше), но у меня так не заводилось, когда вместо $... вставил абсолютные пути - все завелось. ПОЧЕМУ?
и для инструкции для КиПяТиЛьНиКоВ в линуксе (коим и я являюсь) мне кажется не хватает явных строчек
chmod +x hotplug.sh
chmod +x usb_printerid
chmod +x sihp1020.dl
это подразумевается постом выше, но явное указание я думаю не будет лишним :-))
Гм. Господа. В чём может быть засада?:
после подключения принтера делаю руками cat sihp1018.img>/dev/usb/lp0
И тиишина... Принтер молчит, не жужжит барабанами. И не печатает всё так же после этого.
Last edited by el-pashteto; 01-11-2007 at 15:46.
Не знаю куда обращаются скрипты веб-морды роутера, лень разбираться, но если открыть страницу со статусом роутера, происходит "рестарт" принтера (т.е. продолжение печати).
Я сделал так:
Это загрузка wget-ом страницы со статусом роутера (в т.ч. со статусом принтера) из веб-морды.Code:#!/bin/sh /usr/bin/wget http://admin:pass@localhost/Main_GStatus_Content.asp -O /opt/tmp/printer_restart.tmp
Запихнул я этот код в ez-setup скрипт, срабатывающий при удержании в теч. пары секунд одноименной кнопки роутера.
Выполнение этого же скрипта я прописал в knock, в который "ломлюсь" через "ярлычок" с компа.
Купил принтерок HP D1460,подключил согласно инструкции Олега.
Всё установилось ногрмально, но печать живет своей жизнью... Печатается полстраницы , а потом принтер останавливается и в табличке о состоянии печати вижу: "Ошибка-Печать- Перезапуск",а в верху этого окошка , где напечатана марка принтера постоянно мигает "обновление"
Лампочка принтера начинает мигать... т.е. ошибка..
На роутере принтер установлен нормально, в веб интерфейсе принтер прописан и находится в статусе on-line.
С логом вроде тоже всё нормальноНо проблема решается только перезагрузкой компа или входом в службы и перезапуском печати...Code:Apr 2 06:42:53 p9100d[84]: Finished job: 201880 bytes received Apr 2 06:42:53 p9100d[84]: copy_stream: Connection reset by peer Apr 2 06:50:53 kernel: printer.c: usblp0 Device ID string [145/max 1552]='MFG:HP;MDL:Deskjet D1400 series;CMD:LDL,DYN;CLS:PRINTER;DES:D1460;SN:TH79B31FFT04Y2;S:0380008000020020052c148003dc2500047;Z:007,05400000400000;' Apr 2 06:50:53 kernel: printer.c: Parsing USBLPID...
Если же принтер подключаешь напрямую к компу - всё нормально....
Но хотелось бы распечатывать без включение компа с драйверами принтера, напрямую , т.к. дома 3-компьютера
Проблема в драйверах принтера. Возможно в настройках принтера стоит отключить двунаправленный обмен.
Есть ветка: http://wl500g.info/showthread.php?t=4092&page=2
сделал post-boot:
#!/bin/sh
export TERMINFO="/opt/share/terminfo"
export TERM="xterm"
#
echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug
сделал post-mount:
#!/bin/sh
mount -obind /tmp/harddisk/opt /opt
#
#loading FW to printer
#/usr/local/sbin/usb_printerid /dev/usb/lp0 | grep -q FWVER || cat /usr/local/sbin/sihp1018.dl > /dev/usb/lp0
сделал hotplug.sh:
#!/bin/sh
echo "---------------" >> /usr/local/sbin/log.log
date >> /usr/local/sbin/log.log
echo $* >> /usr/local/sbin/log.log
set >> /usr/local/sbin/log.log
#
sleep 5
/usr/local/sbin/usb_printerid /dev/usb/lp0 | grep -q FWVER || cat /usr/local/sbin/sihp1018.dl > /dev/usb/lp0
на всякий случай даже записал бинарник с прошивкой принтера и "usb_printerid" в "/usr/local/sbin/" благо место есть.
настроил принтер как в:http://oleg.wl500g.info/printing/
записался...
после reboot-а
1. в принтер ничего не льется - лампочка не мигает, и соответственно не печатает
2. при передергивании питания - та же картина = ничего не происходит
3. log.log не создается
4. Если руками "cat /usr/local/sbin/sihp1018.dl > /dev/usb/lp0" то принтер начинает работать до выключения питания