Printer HP 1020

Я попал в интересную ситуацию.
У меня есть принтер HP 1020, который подключен на Windows машине.
А также есть сеть и доступ к этому принтеру, но стандартные драйвера LaserJet, которые идут с CUPS, а тажке модифицированные драйвера с LinuxPrinting.org не работают... :( На стандартный драйверах принтер подает хоть какие-то признаки жизни, но загорается красная лампочка и задание подвисает (на сколько я понял из и-нета... эти драва не работают с HP 1020), но модифицированные драйвера на попытку печати вообще ни как не реагируют... как будто ни чего и не посылается. Причем после их компиляции KDE-ный CUPS сначала вообще отказался работать выдав ошибку...

Может кто сталкивался с установкой этого принтера и что-нибудь подскажет? Пробовал драйвера и 1005 и 1010 - не работают... весь и-нет перелазил и ничего вразумительного так и не нашел...

За ранее благодарен...

У меня HP1000.

У меня HP1000. Долго шаманил, но завел его. Сейчас все написать возможности нет. Обращайся еси чо ;)

Я сам шаманил с этим

Я сам шаманил с этим принтером (HP LaserJet 1000) недолго, но мануал собственный для установки принтера сохранил со времён убунтоводчества. Вот его алгоритм:

1. Первым делом идём в /dev и проверяем наличие файла устройства USB. В моём случае это был либо /dev/usb/lp0, либо /dev/usblp0. Могут присутствовать оба. Если нет, цепляем принтер и ребутимся.
2. $ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs
$ make
$ ./getweb 1000
$ ./arm2hpdl sihp1000.img > sihp1000.dl
# make install install-hotplug cups
3. В моём случае не нужно было с помощью cat записывать данные из полученного sihp1000.dl в файл устройства /dev/usblp0, оказалось достаточным этот файл скопировать в /usr/share/foo2zjs/firmware.
4. CUPS собирал без принудительного указания флагов в USE, нужные флаги он указывает сам.
5. Переопределяя принтер в CUPS, указываю файл драйвера вручную из папки ~/foo2zjs/PPD. Из foomatic-db драйвер подхватывать отказывается (/чего-то-там/foomatic-rip failed на странице CUPS при попытке пропустить пробную страницу). Использовать подключение принтера типа HPLIP, думаю, не стОит, всё равно не поможет :) Поэтому строку Device URI на странице CUPS -> Manage Printers стараюсь привести к виду -- usb://HP/LaserJet%20100, указав подключение, как HP LaserJet 1000 USB #1, тогда принтер гарантированно подхватывается и работает
6. Всё. Можно пользоваться.

З.Ы. Собирать драйверы foo2zjs из дерева не стал, во-первых, замаскирован по KEYWORDS, во-вторых, контрольные суммы архивов драйверов не совпадают после их скачивании с http://foo2zjs.rkkda.com. Возиться с подсовыванием архивов с правильной контрольной суммой не стал.
З.З.Ы. Если после всего этого при попытке вывода на печать выводится сообщение об ошибке ввода/вывода, пошёл ковыряться в ядре. В моём случае получилось так, что сам прохлопал ушами и забыл включить поддержку usbfs в ядре. Поправил, включив USB device file system support, пересобрал, после ребута принтер взлетел сразу же.

И ещё. На странице CUPS не забудьте добавить себя в Allowed Users, чтобы не пришлось печатать только из под рута :)

Удалил.

Удалил.

(Sir) * Windows looks like an open door, but no way to go *

попробуй поставить дрова от

попробуй поставить дрова от 1018.

...

Тогда, если долго рассказывать, ответь на такие вопросы:

1. Какие дрова у тебя на него стоят
2. У тебя CUPS?

и укажи хотя бы направление для шаманства...

Та же проблема.

Delorin, у меня та же проблема. Если найдешь решение, напиши суда,пожалуйста.

/

Приблизительно вот что надо сделать. Гарантий не даю :)

Добавить в USE cups, foomaticdb и если это usb принтер, как hp1000, то еще usb. Далее:

#emerge cups
#emerge foomatic

Если cups и foomatic уже установлены, но были собраны без этих флагов, то делаем:
#emerge --newuse world

Так же, в ядре должна быть включена поддержка usb и usb принтеров. У меня всё включено в ядро, но можно и модулями, возможно даже удобнее, так как перезагружаться не надо. Если модулями, то после сборки модулей делаем:
# modprobe usbcore
# modprobe printer
После загрузки модулей смотрим логи на наличие заметки о принтере.

Для данного принтера необходимо установить драйвера foo2zjs.
#emerge foo2zjs
Возможно, при установке emerge попытается скачать файл lj1488en.exe размером 12М. Но он целиком то и не нужен. Нужен только файлик sihp1000.imp из него размером всего 113К.
За дополнительной информацией об foo2zjs смотрите http://foo2zjs.rkkda.com/
Для проверки принтера делаем
# cat sihp1000.img > /dev/usb/lp0
Далее
# /etc/init.d/cupsd start

Приступаем к настройке foomatic.
Всё довольно просто. Для hp1000 делаем
# foomatic-configure -s cups -p HP-LaserJet_1000 -c file:/dev/usb/lp0 -n HP1000 -d foo2zjs,
где /dev/usb/lp0 путь к принтеру
HP1000 имя принтера (можно написать что угодно), не путать с HP-LaserJet_1000 это идентификатор принтера (если принтер другой то и идентификатор будет другой соответственно).

Настройка Hotplug.
Во время установки драйверов foo2zjs долно установиться и Hotplug. Для правильной работы необходимо сделать следующее:
# mkdir /lib/firmware
# cp sihp1000.img /lib/firmware/
# rm /etc/hotplug/isapnp.rc

Добвляем cupsd и hotplug в автозагрузку:
# rc-update add cupsd default
# rc-update add hotplug default

В браузере набираем http://127.0.0.1:631/ и попадаем на страничку настройки CUPS. Жмем Manage Printers. Тут все довольно понятно и ничего особо обьяснять не надо. В часности для HP1000 лучше выставить размер бумаги А4. Были случаи что он отказывался печатать если не выстален размер бумаги. Сразу пробуем напечатать тестовую страницу.
Ну вот в принципе и всё.

не хочет..

есть 2 варианта действия.. после "#emerge foo2zjs" команда usb_printerid /dev/usv/lp0 выдает такой результат:

GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;

Input/output error: LPGETSTATUS on '/dev/usb/lp0'

и естественно ни чего не работает. Если же поставить foo2zjs драйвера, не официальные а чуть измененные с linuxprint.org, то результат...

GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;

можно обратить внимание, что нехватает строчки типа FWVER:20041129;
при подаче команды любого вида:

#cat sihp1000.img > /dev/usb/lp0
#cat sihp1005.dl > /dev/usb/lp0
#cat sihp1020.dl > /dev/usb/lp0

он просто подвисает и не выполняет ни каких действий, полный игнор. После отмены этой команды на usb_printerid он выдает тот же результат

GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;

... есть какие-нить соображения?

Хм. Даже и не

Хм. Даже и не знаю.

В ядре с USB всё правильно сделано?

C USB вроде все ОК..

Да вроде правильно... я читал, что с этими принтерами бывают такие глюки, вот только так и не смог разобраться как с ними справиться. Тут дело в чем-то другом...

У меня 1020

У меня 1020 прекрасно работает( здесь все описано).
HP Laserjet 1020 driver for Linux

As many people asked me for this. I'm putting it here just until I find a way to integrate the changes into the official foo2zjs project.
Very important NOTE: This version has only been tested with HP Laserjet 1020, it is incomplete and not tested with the 1000 or 1005 (anybody willing to test it is walcome).

Instructions to set it up:
Download the updated version of foo2zjs from here.

Unpack the file.

tar xvfz foo2zjs.tar.gz

Build it

cd foo2zjs
make

Become root, install it and configure the hotplug system.

su
make install
make install-hotplug

Turn off the printer and then on again.
You should hear the printer work for a few seconds after you have turned it on.
This is because the Linux distro should have uploaded the firmware automatically.

Test if the firmware was uploaded correctly.

usb_printerid /dev/usb/lp0
The device could be "/dev/usblp0"

It should return something like this:

GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;FWVER:20041129;

The important part is the FWVER. If it is not there then the firmware was not uploaded correctly.
(For example some users reported that Suse 9.3 and Mandrake 10.1 do not upload the firmware) To upload the firmware manually do:

/etc/hotplug/usb/hplj1020

It sould tell you that the firmware was correctly uploaded.
check the printer again for the FWVER:

usb_printerid /dev/usb/lp0

Launch the printer configuration utility (depends on the distro)

And configure the printer.

If the 1020 model is not listed choose the 1005 or 1000.

This is about it.
Please report if you find bugs, or if it works. Specify at least the distro and version.

DISTRIBUTIONS NOTES
NOTE: It seems that printing with a page format other that A4 causes the printer to print blur.
Thanks to Bart de Neuter

There is also a spec file for building RPM (I've not tested it) here.
06 June 2005: fixed the CRLF that made RPM complain. (Miguel de Benito's tip)
Thanks to Doncho N. Gunchev

Important Note: Installing foo2zjs into not default "/usr" or "/usr/local" might fail in printing as the printing system fails to find the foo2zjs-wrapper and foo2zjs programs.
In case you want to install it elsewhere please make sure the bin directory is in your path.

Fedora Core 2 - 3
Reports no problems till now.

Mandrake Linux 10.1
I found out (had to install the distro) that the hotplug system works and launches the hplj1020 script correctly. But when the script is launched the /dev/usb/lp0 device is not there yet, so the firmware fails to be uploaded. The solution I have found till now is to put a command like this at the beginning of the /etc/hotplug/usb/hplj1000 script:

sleep 15

Suse Linux 9.3
Firmware seems not to be uploaded automatically. Maybe it is the same problem as Mandrake. Igor also reported that after a reboot the /dev/usblp0 was replaced by /dev/hp1020 (or something like that)

Gentoo
Works, not sure about the firmware upload...

Debian
People reported it works. Firmware upload might fail.
In case it fails please put the following file hplj.usermap into /etc/hotplug/usb

Slackware
Works , but it seems that printing is poor resolutions (I think it is a ghostscript problem)
CONTACTS
If you have any question you can contact me.
Developers are welcome to contribute the developing. As I have not much time.
My e-mail is: ab1 at ideainformatica dot com

Have fun.
Alessandro

Был увлечен Вашей диксусией

Я делал так для hp_laserjet1000 и никаких проблем.

привожу линк для minolt`ы
http://gentoo-wiki.com/HOWTO_Konica_Minolta_printers_with_CUPS_and_FOOMATIC
, просто по аналогии перелайте для HP LaserJet 1000.

Текст с сылки привожу дополнительно ниже:

Intro

This HOWTO describes how to setup some Konica Minolta printers using USB. It supports the following models:

Color PageWorks/Pro L
magicolor 2200DL
magicolor 2300DL
magicolor 3100DL
PagePro 6
PagePro 6e
PagePro 6ex
PagePro 8
PagePro 8L
PagePro 1100
PagePro 1300W *tested*

but I have only tested it with the PagePro 1300W. It you've tested it with one of the other printers please update the listing above. It might work with all Minolta drivers available at LinuxPrinting.
[edit]
Kernel configuration

Make sure you have the necessary kernel options enabled and in the running kernel.

USB support --->
<*> Support for USB
<*> USB Printer Support

You can find out if everything is ok by issuing the following:

cat /proc/bus/usb/devices

There should be an entry like this one

T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0686 ProdID=300c Rev= 1.00
S: Manufacturer=KONICA MINOLTA
S: Product=PP1300W
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=usblp
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

Note: Your printer must be turned on...

And when you grep your dmesg for printer there should be

dmesg | grep -i printer
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x0686 pid 0x300C

[edit]
Emerge Cups and Foomatic

Emerge CUPS and Foomatic!

emerge -v cups foomatic

Add cupsd to your default runtime

rc-update add cupsd default
* cupsd added to runlevel default
* Caching service dependencies...
* rc-update complete.

Start cupsd

/etc/init.d/cupsd start
* Starting cupsd... [ ok ]

[edit]
Install printer driver and add printer to cups

Get all the files you need from LinuxPrinting, i.e. browse the printer database ("Printer listing" in the navigation section) for Minolta PagePro1300W (or the printer you're using). Download the min12xxw tar.gz and place it in a tmp dir in your home directory. Download the ppd file and place it where you placed the min12xxw driver.

Su to root! Move the ppd file to the following directory!

/usr/share/cups/model

Note: This directory is beeing created by the Foomatic. If you don't have it, you probably haven't emerged foomatic.

Now go back to where you placed the min12xxw driver and untar it. Change into the min12xxw directory and follow the instructions from README to compile and install the driver. (You still have to be root!) Once you've got the driver compiled and installed and the ppd in place restart cupsd (if you don't, CUPS won't see the new printers...)

/etc/init.d/cupsd restart
* Stopping cupsd... [ ok ]
* Starting cupsd... [ ok ]

Close the terminal you used, start mozilla (or whatever browser you use) and open the CUPS admin page

http://localhost:631/admin

Login as root with your root password. Click the "Add Printer" button and fill in the fields. Enter a name for your printer (can be anything, but actually PP1300W is pretty descriptiv), where it is (I entered "Desk") and a description (Konica Minolta PagePro 1300W sounds good...). Click the "Continue" button. In the next dialog you have to choose the device (if you attached it to USB there should be an entry with the printer in the dropdown box). In my case it was

USB Printer #1 (KONICA MINOLTA PP1300W)

Choose this as device and click "Continue". In the next dialog you have to choose the manufacturer and the model in the list. Choose Minolta (MINOLTA-QMS if you have a Magicolor 2300 DL) and click on continue. Now scroll down the list and choose

Minolta PagePro 1300W Foomatic/min12xxw (recommended) (en)

(Or the one corresponding to your printer) and click on continue. Well, that's it. Proceed to the Printers page to print a test page and enjoy being able to use your GDI printer on *nix!

HP 1020

Я сделал так:

#emerge hotplug
#emerge cups
#emerge emerge /usr/portage/net-print/foo2zjs/foo2zjs-20050925.ebuild
и именно этот пакет т.к содержит патч для HP 1020

далее идем и смотрим папку /etc/hotplug/usb/
ищем файл hplj1000 и делаем на него символическую ссылку
с названием hplj1020

далее в редакторе открываем hplj1000 и немного правим:

#!/bin/sh

# hplj1000:
# hplj1005:
# hplj1020 добавил ;)
# Hotplug script for HP1000/1005 USB laser printers. The model number
# that this script deals with is determined from the script name.
#
# Used to download firmware automatically into the printer when it
# is powered up or plugged into the USB port.
#
# Also, run this script once with the magic argument "install-usermap"
# to create the proper entry in the /etc/hotplug/usb.usermap file.
#
# The inspiration fo this script is from:
# Oscar Santacreu. Alicante-Spain (2002)
# Mike Morgan (2004)
#

PROGNAME="$0"

#
# Set $DEV to, e.g. /dev/usb/lp0, to force the device you want
# Else, leave it null to automatically detect the device
#
DEV=/dev/usb/lp0
#DEV="" закомментировал

#
# Directory to find downloadable HP firmware files sihpMMMM.dl
#
#FWDIR=/usr/share/foo2zjs/firmware
FWDIR=/lib/firmware # У меня записалось сюды
#
# Program used to determine USB id information
#
USBID=/usr/bin/usb_printerid

#
# Figure out how to log our messages
#
if [ -t 1 ]; then
# Running from a tty...
log() {
echo "$PROGNAME: $@"
}
elif [ -x /usr/bin/logger ]; then
# Have logger...
log() {
logger -t "$PROGNAME" -- "$@"
}
else
# No logger...
log() {
echo "$PROGNAME: $@" >> /var/log/messages
}
fi

#
# Figure out the model number from the name of this script
#
case "$0" in
*1000)
MODEL=1000
USB1=0x03f0 #Vendor
USB2=0x0517 #Model
;;
*1005)
MODEL=1005
USB1=0x03f0 #Vendor
USB2=0x1317 #Model
;;
*1020) # добавляем наш принтер
MODEL=1020 # название
USB1=0x03f0 # производитель
USB2=0x2b17 # модель
;;
*)
log "Only HP LaserJet 1000 and 1005 are supported"
exit # дальше все оставил как есть

далее :
#rc-update add hotplug default
#rc-update add cupsd default

и запускаем енти службы

#/etc/init.d/cupsd start
#/etc/init.d/hjnplug start

и запускаем принтер
#/etc/hotplug/usb/hplj1020

проверка:
#usb_printerid /dev/usb/lp0
GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;FWVER:20041129;

FWVER видна, значит прошивка загрузилась :))

приятной печаи !!!

P.S. Если принтер выключен во время загрузки, то после включения приходится заружать firmware ручками :((
#/etc/hotplug/usb/hplj1020

А у меня хоть и не такой

А у меня хоть и не такой принтер (простите, если тут закрытый междусобойчик хозяев 1020 модели), но свой метод отпишу:
долго шаманил с вылавливанием полезной инфы, гуглением, пробами разных версий cups / hplip / foo2xqx / foomatic-*... но всё безуспешно.
случайно дошло, что может дело в правах, может права не передаются на девайс надлежащим образом?

перед печатью: chmod 777 /dev/bus/usb/001/002 (ну мой принтер был так воткнут, в 001-002, у Вас всяко иначе - смотрите lsusb) и всё заработало. в Arch вписал эту простую команду в rc.local, а в Gentoo - в сам cupsd.
просто, а работает. может и у Вас такая же простая проблема?
--
примечательно, что баг давно известен, но решения нигде нет (гуглил месяц, спрашивал, где только можно) и такая ерунда не исправлена. Так что пишу где могу людям с аналогичными проблемами

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".