МФУ HP LaserJet M1120 (Снова вопрос про сканер)

Всё о принтерах, сканерах и многофункциональных устройствах. Подключение, настройка, проблемы.

Модератор: Модераторы разделов

Den001
Сообщения: 666
ОС: Suse 11

МФУ HP LaserJet M1120

Сообщение Den001 »

В общем, непонятки какие-то со сканером. Определился корректно, принтер печатает, а вот сканер... В общем, Sane определил его, программы гоняют лампу, но вот до картинки на экране так и не доходит, принтер подвисает в состоянии "Передача данных на ПК". Бьюсь уже несколько часов, а рузльтатов так и нет :-(
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: МФУ HP LaserJet M1120

Сообщение Den001 »

Кажется все заработало путем сноса всего что было и установки заново по минимум. Подозреваю, что причиной бага было то, что стояли 2 одинаковых пакета от разных сборщиков.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: МФУ HP LaserJet M1120

Сообщение Goodvin »

Den001 писал(а):
19.11.2008 10:04
Кажется все заработало путем сноса всего что было и установки заново по минимум. Подозреваю, что причиной бага было то, что стояли 2 одинаковых пакета от разных сборщиков.
Автор, опишите, плиз, поподробнее процедуру установки.
С указанием версии пакета и точного названия драйвера.
Форумчане будут Вам весьма признательны.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: МФУ HP LaserJet M1120

Сообщение Goodvin »

Кстати, вот интересное по теме сабжа:
http://forum.merlin.com.ua//index.php?showtopic=21000

Прежде всего, будем считать, что библиотека libusb у нас уже установлена. Кажется, на сегодняшний день ее может не быть разве что в каком-нибудь очень особом варианте установки очень специального дистрибутива.

Сканер. Со сканером все оказалось довольно просто — в последней на данный момент версии пакета sane-bakends (1.0.19) есть бэкенд для МФУ HP LaserJet M1005 MFP — hpljm1005. Так вот, он же поддерживает и модель M1120. В файлике правил для udev (libsane.rules) наш девайс уже прописан:

Код: Выделить всё

SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="5617", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"



Устройство 03f0:5617 — это как раз LaserJet M1120 MFP, если кто не верит — может посмотреть вывод lsusb. Собственно, libsane.rules должен устанавливаться вместе с sane-backends, но если в каком-нибудь дистрибутиве мантейнеры зачем-то покоцают sane-backends, то теперь мы знаем, куда полезть и что дописать :) . Перегружаем правила (udevcontrol reload_rules), включаем устройство, и... все, сканер работает.

Можем проверить, если установлен xsane или какой другой фронтенд, или хотя-бы просто убедиться в наличии сканера:

Код: Выделить всё

[lexa@~]$ sane-find-scanner

 # sane-find-scanner will now attempt to detect your scanner. If the
 # result is different from what you expected, first make sure your
 # scanner is powered up and properly connected to your computer.

 # No SCSI scanners found. If you expected something different, make sure that
 # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x03f0, product=0x5617) at libusb:001:009
found USB scanner (vendor=0x03f0, product=0x5617) at libusb:1:9
 # Your USB scanner was (probably) detected. It may or may not be supported by
 # SANE. Try scanimage -L and read the backend's manpage.

 # Not checking for parallel port scanners.

 # Most Scanners connected to the parallel port or other proprietary ports
 # can't be detected by this program.

 # You may want to run this program as root to find all devices. Once you
 # found the scanner devices, be sure to adjust access permissions as
 # necessary.
[lexa@~]$ scanimage -L
device `hpljm1005:libusb:1:9' is a Hewlett-Packard LaserJet M1120 multi-function peripheral
device `hpljm1005:libusb:001:009' is a Hewlett-Packard LaserJet M1120 multi-function peripheral

Кстати, права доступа (MODE="0664" в libsane.rules) лучше сразу поменять на 0666, это нам пригодится совсем скоро. Ну, и в /etc/sane.d/dll.conf оставить только одну строку — hpljm1005. Это не обязательно, просто из соображений строгого минимализма :) .

Теперь принтер. Здесь телодвижений больше. Разумеется, пакеты cups, foomatic-db, foomatic-db-engine, foomatic-filters, ghostscript у нас уже установлены, мы их установили еще до того, как пошли в магазин за принтером. Если же вдруг нет — устанавливаем.
Дальше устанавливаем hplip (hplip.sourceforge.net), опять-таки, чем свежее — тем лучше, но не меньше, чем 2.8.4. Собирать hplip рекомендую с ключиком —disable-fax-build, (по умолчанию поддержка факса включена), т.к. факса в этом устройстве нет, а лишний код с лишней функциональностью нам не нужен.
После того, как hplip установлен, руки чешутся запустить утилиту настройки hp-setup (или hp-toolbox, если мы хотим графическую конфигурилку и PyQt у нас установлен), но... рано. Дело в том, что хоть поддержка нашей модели и заявлена в hplip с версии 2.8.4, одного только hplip'а нам не хватит. Качаем c http://foo2xqx.rkkda.com/ файлик foo2zjs.tar.gz — это фильтр, конвертирующий подготовленный к печати Postscript в команды протокола XQX, с которым работает наш принтер. Разворачиваем, компилим, устанавливаем... И вот теперь запускаем hp-setup или hp-toolbox, находим принтер, соглашаемся с проприетарной лицензией, укачиваем с сайта HP firmware, без которой принтер работать не будет, подсовываем PPD-файл /usr/share/cups/model/HP-LaserJet_M1120_MFP.ppd.gz - все, готово... Перезапускаем CUPS (/etc/rc.d/cups restart), можно печатать. Можно?.. Ну, если страницей выше, при установке сканера, мы в правилах для udev прописали права 0666 — то да, можно. Дело в том, что процесс, который при печати обращается непосредственно к устройству, выполняется под учетной записью daemon. Так вот, для того, чтобы задания не только накапливались в очереди печати, но и доходили-таки до принтера, надо либо дать прочим пользователям права на запись в устройство, либо (это идеологически правильнее) включить daemon'а в группу scanner. Все, готово, можно подавать на стол :) .


Указанные действия производились под официальным CRUX 2.4 i686 и «домашней» 64-битной сборкой CRUX 2.3 — и привели к успеху.
Спасибо сказали: