LINUX.ORG.RU

Как нормально сконфигурить?

 , , ,


0

1

Сейчас чтобы начать печатать, делаю сдледующие действия.

Sep 15 20:42:02 fakemoon kernel: usb 1-1: new high-speed USB device number 7 using ehci_hcd
Sep 15 20:42:02 fakemoon kernel: usb 1-1: New USB device found, idVendor=03f0, idProduct=4117
Sep 15 20:42:02 fakemoon kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 15 20:42:02 fakemoon kernel: usb 1-1: Product: HP LaserJet 1018
Sep 15 20:42:02 fakemoon kernel: usb 1-1: Manufacturer: Hewlett-Packard
Sep 15 20:42:02 fakemoon kernel: usb 1-1: SerialNumber: KP3CB8W

# modprobe usblp

Sep 15 20:42:56 fakemoon kernel: usb 1-1: new high-speed USB device number 8 using ehci_hcd
Sep 15 20:42:56 fakemoon kernel: usb 1-1: New USB device found, idVendor=03f0, idProduct=4117
Sep 15 20:42:56 fakemoon kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 15 20:42:56 fakemoon kernel: usb 1-1: Product: HP LaserJet 1018
Sep 15 20:42:56 fakemoon kernel: usb 1-1: Manufacturer: Hewlett-Packard
Sep 15 20:42:56 fakemoon kernel: usb 1-1: SerialNumber: KP3CB8W
Sep 15 20:42:56 fakemoon kernel: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117

# modprobe -r usblp
# echo /sbin/hotplug > /proc/sys/kernel/hotplug

Sep 15 20:43:43 fakemoon kernel: usb 1-1: new high-speed USB device number 9 using ehci_hcd
Sep 15 20:43:43 fakemoon kernel: usb 1-1: New USB device found, idVendor=03f0, idProduct=4117
Sep 15 20:43:43 fakemoon kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 15 20:43:43 fakemoon kernel: usb 1-1: Product: HP LaserJet 1018
Sep 15 20:43:43 fakemoon kernel: usb 1-1: Manufacturer: Hewlett-Packard
Sep 15 20:43:43 fakemoon kernel: usb 1-1: SerialNumber: KP3CB8W

# modprobe usblp

Sep 15 20:44:19 fakemoon kernel: usb 1-1: new high-speed USB device number 10 using ehci_hcd
Sep 15 20:44:19 fakemoon kernel: usb 1-1: New USB device found, idVendor=03f0, idProduct=4117
Sep 15 20:44:19 fakemoon kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 15 20:44:19 fakemoon kernel: usb 1-1: Product: HP LaserJet 1018
Sep 15 20:44:19 fakemoon kernel: usb 1-1: Manufacturer: Hewlett-Packard
Sep 15 20:44:19 fakemoon kernel: usb 1-1: SerialNumber: KP3CB8W
Sep 15 20:44:19 fakemoon kernel: usblp0: USB Bidirectional printer dev 10 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117
Sep 15 20:44:19 fakemoon /etc/hotplug/usb/hplj1018: foo2zjs: loading HP LaserJet 1018 firmware /usr/share/foo2zjs/firmware/sihp1018.dl to /dev/usb/lp0 ...
Sep 15 20:44:19 fakemoon /etc/hotplug/usb/hplj1018: foo2zjs: loading HP LaserJet 1018 firmware /usr/share/foo2zjs/firmware/sihp1018.dl to /dev/usblp0 ...
Sep 15 20:44:19 fakemoon /etc/hotplug/usb/hplj1018: foo2zjs: ... download failed.
Sep 15 20:44:20 fakemoon /etc/hotplug/usb/hplj1018: foo2zjs: ... download successful.

Печатаю, но обработка стрянет.

▼ ID ▼	Name	User	Size	Pages	State	Control
HP_LaserJet_1018-53 	Unknown 	Withheld 	77k 	1 	 processing since

Sat 15 Sep 2012 08:45:58 PM MSK 
"Waiting for printer to become available."

Делаю.

modprobe -r usblp

Начинается печать.

Как можно нормально это сконфигурить? Надоело каждый раз все делать. А иногда ещё и забывать (печатаю ~два раза в год) и разбираться повторно из-за чего не работает.

Для hotplug скриптов отправляющих firmware нужен usblp. Для работы cups же он мешает.

И ещё hotplug не включен, не понятно где это должно быть сделано.

★★

Вы читали сообщения, которые выводит emerge после установки cups, о том, что новые версии cups работают через libusb и конфликтуют с ядерным модулем CONFIG_USB_PRINTER ?

Занесите модуль в blacklist.

kostik87 ★★★★★ ()

man modprobe

man modprobe.d

anonymous ()
Ответ на: комментарий от kostik87

Он уже в blacklist. Проблема в том, что hotplug скрипты не работают без usblp (им нужно lp устройство в /dev). И сам hotplug заводится только после echo.

Эти скрипты доставляют принтеру firmware, без него печатать не будет.

Тэг foo2zjs не зря поставлен.

amaora ★★ ()
Ответ на: комментарий от amaora

Напишите правило для udev, что бы при подключении принтера загружался соответствующий модуль (usblp), затем в принтер грузилась прошивка:

cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0
и модуль выгружался.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Написать простой скрипт и дернуть его по событию, это самое очевидное. Надеялся на «более правильное» решение.

Обнаружил вот что, файл /etc/hotplug/usb/hplj1018.

 42 # Path to the USB CUPS backend. We use this backend to upload the firmware
 43 # into the printer when we are on a CUPS/libusb-based system.
 44 #
 45 USB_BACKEND=/usr/lib/cups/backend/usb

А тот бэкенд, на лежит не там, а в /usr/libexec/cups/backend/usb.

Проверю, вернусь.

amaora ★★ ()
Ответ на: комментарий от amaora

Как это понимать? И где должно записываться нужное для работы hotplug значение?

/etc/init.d/udev:

110 start_pre()
111 {
...
133         if [ -e /proc/sys/kernel/hotplug ]; then
134                 echo "" >/proc/sys/kernel/hotplug
135         fi

amaora ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.