Как говорил один прапорщик: «Если вы такие дураки, что ничего не запоминаете, записывайте, как это делаю я!»
13 февраля 2013 г.
Настройка принтера HP LaserJet 1018 в Linux
В моём случае, в роли ОС выступает Debian Sid, соответственно, все команды будут приведены именно для этой операционной системы.
В сети множество руководств по настройке этого принтера и не меньше обсуждений на различных форумах. Я приведу тот вариант, который заработал у меня.
Ключевую информацию, я получил с форума сообщества Альт Линукс вот из этой темы: HP Laser Jet 1018 [решено]
Пользователь xenar пишет:
Все таки поборол я этот принтер, а для идущих следом следующие рекомендации:
1) Прошивку надо класть в /var/lib/foo2zjs/firmware/ а не в /usr/share/foo2zjs/firmware/
2) При установке принтера дается на выбор два варианта, нужно использовать тот при котором путь к устройству начинается с usb:/hp/LaserXXXXXX
Этот вариант будет рабочий.
3) Модуль usblp можно не грузить, так как он все равно толком не работает.
В принципе, если не вдаваться в подробности, это все
Опираясь на эти слова, составлю следующий алгоритм:
1. Устанавливаем драйвер foo2zjs и подчищаем всё лишнее.
Вместе с этим открытым драйвером менеджер поставит кучу лишнего и, в частности, проприетарный драйвер. Значит, это лишнее надо удалить. Делаем это цепочкой команд:
2. Скачиваем прошивку для принтера и ложим её в нужную папку.
Создаём папку /var/lib/foo2zjs/firmware/
Копируем в неё прошивку:
3. Запрещаем загрузку модуля usblp.
Для этого создаём соответствующий файл в /etc/modprobe.d/
5. Включаем принтер. Убеждаемся, что lsusb его видит.
6. Открываем браузер и настраиваем принтер через CUPS ).
При выборе устройства учитываем то, что «нужно использовать тот вариант, при котором путь к устройству начинается с usb:/hp/LaserXXXXXX«
В качестве драйвера устанавливаем рекомендуемый для этой модели
7. Перегружаемся. После перезагрузки возможно потребуется выключить/включить принтер.
Всё. После проведения этих операций, данное устройство у меня начало печатать.
В отличие от большинства HP-принтеров, беспроблемно настраиваемых через hplip-gui HP LaserJet 1018/1020 — девайсы «удивительные», чтобы не сказать грубее. Они требуют, чтобы ему фирмварь загружали каждый раз при использовании. (чем и занимается виндовый драйвер).
Что надо сделать.
- Откройте консоль/терминал (ALT-F2 + «konsole») или «WIN + term»…
- Станьте рутом
- Подключите принтер
- Если драйвер не установлен — установите
-
- Кстати, не слушайте глупых советов отказаться для этого принтера от hplip и ставить foo2zjs — тут это не поможет, будет конфликт с модулем ядра usblp.
- Дальше нужно найти серийный номер принтера
- Выполните
(ну или зайдите через веб-интерфейс на http://localhost:631/printers/ и посмотрите свойства принтера)
- Заведите файл /etc/udev/rules.d/71-hplj.rules
- Перейдите в режим вставки — клавиша «I»
- Скопируйте туда следующий текст, где серийный номер принтера («serial=KP0XXXX») заменен на ваш ATTRS
- Где:
-device=hp:/usb/HP_LaserJet_xxxx?serial=KP0XXXX» — ищем в выводе команды lpinfo -v (у меня так: direct hp:/usb/HP_LaserJet_1020?serial=FN0BND3)
При обновлении версии CUPS возникла проблемма его несовместимости с загруженным модулем usbpl, необходимый для загрузки firmware в принтер. При их одновременной работе возникает конфликт на шине usb(одновременное обращение), отражающееся в логах системы /var/log/syslog следующим образом:
————————
Jul 1 02:18:57 kernel: [ 3115.009361] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
————————
Вариант решения данной проблемы:
— Загрузить модуль сразу после включения принтера
— Выгрузить модуль сразу после заливки filmware
Для этого делаем следующее:
0) Отключаем принтер
1) Установим необходимые пакеты
2) Скачаем требуемое filmware для принтера сконвертируем и разместим в соответствующих папках:
3) Создадим правило для диспетчера устройств udev для загрузки модуля при включении принтера.
Указываем Vid и Pid своего принтера! Пример приведён для 1018.
4) Перезагружаем диспетчер устройств udev
5) Редактируем сценарий foo2zjs, выполняющийся при обнаружении принтера (отключаем модуль ядра usbpl сразу после загрузки firmware). Имя файла зависит от модели вашего принтера!(для 1000/1005/1018/1020 — /usr/sbin/hplj1018 )
ищем и корректируем процесс загрузки firmware
изменение сводится к добавлению строк
6) Включаем принтер и смотрим логи
при корректной работе в них будет следующее:
———————
Jul 1 01:56:12 kernel: [ 1749.871946] CE: hpet increased min_delta_ns to 20113 nsec
Jul 1 02:18:39 kernel: [ 3097.400294] usb 1-2.5: new high speed USB device number 8 using ehci_hcd
Jul 1 02:18:40 kernel: [ 3097.512010] usb 1-2.5: New USB device found, > Jul 1 02:18:40 kernel: [ 3097.512084] usb 1-2.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 1 02:18:40 kernel: [ 3097.512098] usb 1-2.5: Product: HP LaserJet 1018
Jul 1 02:18:40 kernel: [ 3097.512109] usb 1-2.5: Manufacturer: Hewlett-Packard
Jul 1 02:18:40 kernel: [ 3097.512120] usb 1-2.5: SerialNumber: KP03QAY
Jul 1 02:18:40 mtp-probe: checking bus 1, device 8: «/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5»
Jul 1 02:18:40 mtp-probe: bus: 1, device: 8 was not an MTP device
Jul 1 02:18:40 udev-configure-printer: add /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5/1-2.5:1.0
Jul 1 02:18:40 udev-configure-printer: parent devpath is /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5
Jul 1 02:18:40 udev-configure-printer: Device vendor/product is 03F0:4117
Jul 1 02:18:40 udev-configure-printer: MFG:Hewlett-Packard MDL:HP LaserJet 1018 SERN:- serial:KP03QAY
Jul 1 02:18:40 kernel: [ 3097.779667] usblp1: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117
Jul 1 02:18:40 kernel: [ 3097.781597] usbcore: registered new interface driver usblp
Jul 1 02:18:40 udev-configure-printer: add /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5/1-2.5:1.0/usb/lp1
Jul 1 02:18:41 kernel: [ 3098.989429] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
Jul 1 02:18:43 /usr/sbin/hplj1018: foo2zjs: loading HP LaserJet 1018 firmware /lib/firmware/hp/sihp1018.dl to /dev/usb/lp1 .
Jul 1 02:18:43 /usr/sbin/hplj1018: foo2zjs: . download successful.
Jul 1 02:18:56 udev-configure-printer: parent devpath is /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5
Jul 1 02:18:56 udev-configure-printer: MFG:Hewlett-Packard MDL:HP LaserJet 1018 SERN:- serial:KP03QAY
Jul 1 02:18:57 kernel: [ 3115.009361] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
Jul 1 02:18:58 kernel: [ 3116.139386] usbcore: deregistering interface driver usblp
Jul 1 02:18:58 kernel: [ 3116.139675] usblp1: removed
Jul 1 02:18:58 /usr/sbin/hplj1018: foo2zjs: . kernel module usblp disable now.
———————