LINUX.ORG.RU

Cups грузит процессор

 ,


0

1

Такая ситуация: Запущен процесс печати на активный, но недоступный (нет картриджа или бумаги) принтер:

13039 ?        Sl     0:03 usb://Kyocera/FS-1320D?serial=L4X3112756 67090 Username Test Page 1 job-uuid=urn:uuid:00cb1865-53e5-347f-44cf-7e47da01d295 job-originating-host-name=192.168.2.3 time-at-creation=1391060547 time-at-processing=1391060547 /var/spool/cups/d67090-001

Через strace видно, что каждую секунду со стороны CUPS идет опрос на его доступность:

ioctl(14, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0x7fffe93d55b8) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLOUT}], 4, 60000) = 1 ([{fd=14, revents=POLLOUT}])
ioctl(14, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0x7fffe93d55b8) = 0
timerfd_settime(13, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={12247, 788814000}}, NULL) = 0
futex(0x7f445ab2e304, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7f445ab2e2d8, 20046) = 1

После запуска печати на другой аналогичный принтер, в один прекрасный момент начинает грузить проц такой процесс:

18093 ?        Rl     4:22 usb://Kyocera/FS-1320D?serial=L4X3216808 67169 Username Табличный документ 1 job-uuid=urn:uuid:0acf1323-918a-3a7a-6d2e-4a1889ddf875 job-originating-host-name=192.168.2.3 time-at-creation=1391062718 time-at-processing=1391062718 /var/spool/cups/d67169-001

Этот процесс несколько сотен раз в секунду плюется вызовами:

ioctl(14, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0x7fffe93d55b8) = -1 EAGAIN (Resource temporarily unavailable)

Если прибить первый процесс, то рабочий принтер мгновенно все напечатает, что было в очереди и сервак отпускает. Принтер физически доступен, проблема с кабелем и портами USB исключается в связи с вышеизложенным фактом, хотя и принтеры подключены через usb-hub с питанием. Проверено на 2 серверах, с разными системами, разные версии Cups. проблема актуальна только при физически подключенных принтерах, если принтеры подключить по сетке - все ок.

В системных логах и логах купса ничего интересного.

Система:

Linux pserv-reserv 3.11-2-amd64 #1 SMP Debian 3.11.7-1 (2013-11-09) x86_64 GNU/Linux
cups                                  1.6.3-1
libusb-0.1-4:amd64                    2:0.1.12-23.2        
libusb-1.0-0:amd64                    2:1.0.17-1+b1        
libusb-1.0-0-dev:amd64                2:1.0.17-1+b1

Вывод lsusb:

Bus 002 Device 002: ID 13d3:5711 IMC Networks 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0482:0408 Kyocera Corp. 
Bus 001 Device 007: ID 0482:0408 Kyocera Corp. 
Bus 001 Device 006: ID 0482:0408 Kyocera Corp. 
Bus 001 Device 008: ID 03f0:1d17 Hewlett-Packard LaserJet 1320
Bus 001 Device 004: ID 03f0:1d17 Hewlett-Packard LaserJet 1320
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Вопрос: кто-нибудь сталкивался с подобным? Помогите найти решение.



Последнее исправление: istar (всего исправлений: 1)
Ответ на: комментарий от amorpher

А в чем была проблема? Имхо, для винды надо использовать Universal Driver, только софт там унылый, зато драйвер стабильный. Еще помню, пришлось увеличить таймаут энергосберегающего режима - по умолчанию всего 60 минут, после чего принтер уходит в кому, пока не нажмешь на нем кнопку.

istar
() автор топика
Ответ на: комментарий от amorpher

Пока рановато писать багрепорт, надо копнуть поглубже и подождать что кто то еще подтвердит проблему. Ну и обновиться не помешает на Cups 1.7.

istar
() автор топика

Нашел закономерность: пока проблема наблюдается только между 2 этими принтерами, так что есть вероятность что это может быть из-за усб-хаба. Проверю вечером догадку

istar
() автор топика

В общем, скорее всего проблема в излишне нежных драйверах Kyocera или в прошивке самих принтеров. Две Киосеры на одной шине не могут адекватно работать. Подключал через другой хаб с питанием, там всплыли другие глюки: При отправке большого многостраничного файла (сканы) на киосеру, почти всегда печатались только первые пара страниц, в статусе задания через некоторое время появлялось Unable to send data to printer. Strace показывает на этот момент что девайс занят. Если в usb-хабе оставить только одну Киосеру, а другую напрямую в порт железки, то такого не наблюдается (пока что). Пока несколько дней понаблюдаю.

istar
() автор топика
Ответ на: комментарий от istar

Снова поймал момент, помогает передергивание USB-шины, на котором висит хаб (аппаратно или программно). Передергивание простого порта не дает эффекта. Проблема в совместимости Kyocera и usb-хабов. Ох уж эти нежные японцы :) Но все же, хотелось бы услышать людей, у кого есть в работе Киосеры на cups. Может быть, есть какая то магическая конфигурация, при которой все работает как нужно?

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