Состояние перевода: На этой странице представлен перевод статьи CUPS/Troubleshooting. Дата последней синхронизации: 8 января 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
В этой статье рассматриваются все неспецифические (то есть не связанные с каким-либо одним принтером) проблемы CUPS и драйверов принтеров (но не проблемы, связанные с совместным использованием принтеров), включая методы определения точной природы проблемы и решения выявленной проблемы.
Введение
Наилучший способ борьбы с неисправностями – это выставить ‘LogLevel’ в файле /etc/cups/cupsd.conf
на:
LogLevel debug
А потом посмотреть вывод из файла /var/log/cups/error_log
например так:
# tail -n 100 -f /var/log/cups/error_log
Символы слева от вывода означают следующее:
- D=Debug(отладка)
- E=Error(ошибка)
- I=Information(информация)
- И так далее
Следующие файлы также могут быть полезны:
/var/log/cups/page_log
– каждый раз при успешной печати, пишет новую запись/var/log/cups/access_log
– записывает всю активность на cupsd http1.1 сервере
Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:
- Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
- CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
- GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
- Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд
Распечатайте документ и посмотрите error_log
, чтобы получить более подробное и правильное представление об процессе печати.
Проблемы, возникающие в результате обновлений
Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ
CUPS останавливается
Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения “404 – page not found” при попытке входа в панель управления CUPS через localhost:631.
Для того, чтобы воспользоваться новым конфигом, скопируйте /etc/cups/cupsd.conf.default
в /etc/cups/cupsd.conf
(при необходимости сделайте резервную копию старого конфига) и, чтобы новые настройки вступили в силу, перезапустите CUPS.
Для всех заданий – “остановлено”
The factual accuracy of this article or section is disputed.
Если для всех отправленных на печать заданий установился статус “остановлено” (“stopped”), – удалите принтер и установите его заново. Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.
Для проверки настроек принтера перейдите во вкладку Принтеры, затем скопируйте отображаемую информацию. Далее нажмите на Администрирование. В выпадающем списке кликните Изменить принтер, перейдите к следующей странице(ам), и так далее.
Для всех заданий – “Принтер не отвечает”
Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:
lpd://BRN_020554/BINARY_P1
то имя хоста ‘BRN_020554’ должно соответствовать IP принтера, управляемого сервером CUPS. Если используется Avahi, убедитесь, что разрешение имени хоста Avahi работает.
Альтернативно, замените имя хоста, используемое в URI, IP-адресом принтера.
Версия PPD не совместима с gutenprint
Запустите:
# /usr/bin/cups-genppdupdate
И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).
Проблемы с сетью
Не удается найти принтер
Даже если CUPS обнаруживает сетевые принтеры, вы все равно можете получить ошибку “Не удается найти принтер” (“Unable to locate printer”) при попытке распечатать что-либо. Чтобы решить эту проблему, включите .разрешение локального имени хоста Avahi. Для получения дополнительной информации смотрите CUPS (Русский)#Сеть.
Эта проблема может возникать и при использовании файрвола (межсетевой экран, брандмауэр). Возможно, вам придется отключить его или установить корректные правила. Если вы используете system-config-printer для обнаружения сетевых принтеров, тогда он сделает все это автоматически.
Старый сервер CUPS
Начиная с версии CUPS 1.6, клиент по умолчанию использует IPP 2.0. Если сервер использует CUPS <= 1.5 / IPP <= 1.1, клиент не будет автоматически понижать версию протокола и, следовательно, не может связаться с сервером. Обходным путем является добавление опции version=1.1
, описанной в Таблице 2. Опции URI IPP.
Общий принтер работает локально, но удаленный компьютер не печатает
Это вызвано тем, что задание на печать отправляется через фильтр дважды, один раз на локальном компьютере и один раз на удаленном. Смотрите также предупреждение на главной странице CUPS.
Не удается найти файл PPD
/var/log/cups/error_log
Cannot connect to remote printer ipp://HP079676.local copy_model: empty PPD file
Убедитесь, что Avahi настроен правильно. В частности, проверьте, что nss-mdns установлен и настроен в /etc/nsswitch.conf
.
USB-принтеры
Конфликт с SANE
Если у вас также запущен SANE, возможно, что он конфликтует с CUPS. Чтобы исправить это, создайте правило Udev, обозначающее устройство как совпадающее с libsane:
/etc/udev/rules.d/99-printer.rules
ATTRS{idVendor}=="vendor id(код производителя)", ATTRS{idProduct}=="product id(код продукта)", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
Конфликт с usblp
Доступ к USB-принтерам можно получить двумя способами: модулем ядра usblp и libusb. Первый – это классический способ. Это просто: данные отправляются на принтер, записывая их в файл устройства в виде простого последовательного потока данных. Чтение одного и того же файла устройства позволяет использовать двунаправленный доступ, по крайней мере, для таких вещей, как считывание уровней чернил, статуса или информации о возможностях принтера (PJL). Он работает очень хорошо для простых принтеров, но для многофункциональных устройств (принтер/сканер) он не подходит, и производители, такие как HP, поставляют свои собственные бэкенды. Источник: здесь.
Важно: Начиная с cups версии 1.6.0, больше не нужно заносить в запрет загрузки модуль ядра usblp
.
Если вы узнаете, что это единственный способ исправить оставшуюся проблему, сообщите об этом в баг-трекер CUPS, а также можно связаться с Till Kamppeter (сопровождающий CUPS в Debian). Для получения дополнительной информации смотрите в upstream bug.
Если у вас возникли проблемы с работой USB-принтера, вы можете попробовать запрет загрузки для модуля ядра usblp
:
/etc/modprobe.d/blacklistusblp.conf
blacklist usblp
Пользователям кастомного ядра может потребоваться вручную загрузить модуль ядра usbcore
, прежде чем продолжить.
После установки модулей подключите принтер и проверьте, обнаружило ли его ядро, выполнив следующие действия:
# journalctl -e
или
# dmesg
Если вы используете usblp
, вывод должен указывать на то, что принтер был обнаружен следующим образом:
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920 Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
Если вы запретили загрузку usblp
, вы увидите что-то вроде:
usb 3-2: new full speed USB device using uhci_hcd and address 3 usb 3-2: configuration #1 chosen from 1 choice
USB autosuspend
Ядро Linux автоматически приостанавливает USB-устройства, когда есть поддержка драйверов и устройства не используются. Это может сэкономить электроэнергию, но некоторые USB-принтеры считают, что они не подключены, когда ядро приостанавливает USB-порт, предотвращая печать. Это можно устранить, отключив autosuspend для конкретного устройства, для получения дополнительной информации смотрите Power management#USB autosuspend.
Плохие разрешения
Проверьте разрешения USB-порта принтера. Получите номер шины (BUSID) и устройства (DEVID) от lsusb
:
lsusb
Bus <BUSID> Device <DEVID>: ID <PRINTERID>:<VENDOR> Hewlett-Packard DeskJet D1360
Проверьте владельца, просмотрев devfs:
# ls -l /dev/bus/usb/<BUSID>/<DEVID>
Демон cups запускается от пользователя “cups” и относится к группе “lp”, поэтому либо этому пользователю, либо группе требуется доступ на чтение и запись в USB-устройство. Если вы считаете, что разрешения выглядят неправильно, вы можете временно изменить группу и разрешение:
# chgrp lp /dev/bus/usb/<BUSID>/<DEVID> # chmod 664 /dev/bus/usb/<BUSID>/<DEVID>
Затем проверьте, может ли cups теперь видеть устройство USB правильно.
Чтобы сделать постоянное изменение разрешения, которое будет запускаться автоматически при каждом запуске компьютера, добавьте следующую строку.
/etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="<VENDOR>", ATTRS{idProduct}=="<PRINTERID>", GROUP:="lp", MODE:="0664"
После редактирования перезагрузите правила udev этой командой:
# udevadm control --reload-rules
Каждая система может отличаться, поэтому обратитесь к вики-странице udev (Русский)#Список атрибутов устройства.
Проблемы с HP
Смотрите также CUPS/Принтероспецифичные проблемы#HP.
CUPS: “/usr/lib/cups/backend/hp failed”
The factual accuracy of this article or section is disputed.
Убедитесь, что dbus установлен и запущен. Если ошибка повторяется, попробуйте запустить avahi-daemon.
Попробуйте добавить принтер в качестве сетевого принтера, используя протокол http:// .
Примечание: Там, возможно, потребуется установить права доступа.
CUPS: “Печать завершена”, но принтер не печатает.
Это происходит на принтерах HP, когда вы выбираете (старый) драйвер hpijs (например, для Deskjet D1600 series). Вместо этого используйте драйвер hpcups.
Некоторые принтеры HP требуют, чтобы их прошивка загружалась с компьютера при каждом включении принтера. Вы можете столкнуться с этой проблемой, если есть проблема с udev (или аналогом), и правило загрузки прошивки никогда не запускается.
В качестве обходного пути вы можете вручную загрузить прошивку на принтер. Убедитесь, что принтер подключен и включен, затем выполните
hp-firmware -n
CUPS: ‘”foomatic-rip” not available/stopped with status 3’
Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘остановлен’ (‘stopped’), а в /var/log/cups/error_log
возникает одно из следующих сообщений об ошибках:
Filter "foomatic-rip" for printer printer_name not available: No such file or director
или:
PID pid (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
убедитесь, что hplip установлен.
CUPS: “Filter failed”
Ошибка “filter failed” может быть вызвана некоторым количеством причин. Журнал ошибок CUPS (по умолчанию /var/log/cups/error_log
) должен записывать, какой фильтр не удалось загрузить и почему.
Отсутствует ghostscript
Установите ghostscript (/usr/lib/cups/filter/gstoraster
нуждается в его запуске).
Отсутствует foomatic-db
Установите foomatic-db и foomatic-db-ppds. Это помогает в некоторых случаях.
Avahi не включен
Запустите и включите службу avahi-daemon
.
Устаревший плагин
Эта ошибка может указывать на то, что плагин устарел (версия несовместима) и может произойти после обновления системы, возможно, появится сообщение Plugin error
в журнале (логе).
Если вы установили hplip-pluginAUR, вам нужно обновить пакет, иначе перезапустите hp-setup -i
, чтобы установить последнюю версию плагина.
Устаревшая конфигурация принтера
Начиная с hplip-pluginAUR версии 3.17.11 hpijs больше не доступен. Если у вас есть принтеры, использующие hpijs, они не будут печатать. Необходимо перенастроить их и выбрать вместо этого новый драйвер hpcups.
Вы можете проверить, если это ваш случай, посмотрев в error_log cups`а:
$ grep hpijs /var/log/cups/error_log
... D [09/Jan/2018:14:32:58 +0000] [Job 97] sh: hpijs: command not found ...
CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet
This article or section is out of date.
Существует ошибка, которая приводит к сбою CUPS при печати изображений на HP LaserJet (в моем случае 3380). Ошибки были зафиксированы и исправлены в Ubuntu.
Первая страница пуста, вторая страница содержит следующее сообщение об ошибке:
ERROR: invalidaccess OFFENDING COMMAND: filter STACK: /SubFileDecode endstream ...
Чтобы устранить проблему, выполните следующую команду как суперпользователь (root):
# lpadmin -p printer -o pdftops-renderer-default=pdftops
HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие
Возможно, проблема связана с изменением прав доступа файла, которое было внесено в /var/lib/hp/hplip.state
. Чтобы исправить проблему, достаточно простых команд chmod 644 /var/lib/hp/hplip.state
и chmod 755 /var/lib/hp
. Для получения дополнительной информации, пожалуйста, прочитайте эту ссылку.
hp-toolbox: “Unable to communicate with device”
# hp-toolbox # error: Unable to communicate with device (code=12): hp:/usb/printer id
Разрешение проблемы
The factual accuracy of this article or section is disputed.
Reason: Предположительно, hp-toolbox пытается получить доступ к /dev/usb/* или /dev/lp, поэтому он должен находиться в группе lp
. Но почему sys
? И я не могу воспроизвести это… (Discuss in Talk:CUPS (Русский)/Troubleshooting (Русский))
Может потребоваться добавить пользователя в группы lp
и sys
.
Виртуальный CDROM у принтеров
Это также может быть вызвано принтерами, такими как P1102, которые предоставляют виртуальный привод CD-ROM для драйверов MS Windows. Появляется lp dev, а затем исчезает. В этом случае попробуйте пакеты usb-modeswitch и usb-modeswitch-data, что позволяет отключить “Smart Drive” (правила udev, включенные в указанные пакеты).
Сетевые принтеры
Это также может происходить с сетевыми принтерами, использующими динамические имена хостов, если avahi-daemon не запущен. Другая причина заключается в том, что hp-setup не удалось найти принтер, потому что IP-адрес принтера изменился из-за DHCP. Если это так, подумайте о добавлении резервирования DHCP для принтера в конфигурации сервера DHCP.
hp-setup просит указать PPD-файл для обнаруженного принтера
Кроме того, при выборе файла PPD в графическом режиме hp-setup поле не обновляется и сообщение об ошибке не отображается.
Или, если вы используете интерактивный (консольный) режим, можно столкнуться с чем-то похожим на это даже при введении правильного пути к файлу ppd:
Please enter the full filesystem path to the PPD file to use (q=quit) :/usr/share/ppd/HP/hp-deskjet_2050_j510_series.ppd.gz Traceback (most recent call last): File "/usr/bin/hp-setup", line 536, in <module> desc = nickname_pat.search(nickname).group(1) TypeError: cannot use a string pattern on a bytes-like object
Решение заключается в установке и запуске cups перед запуском hp-setup
.
hp-setup: “Qt/PyQt 4 initialization failed”
Установите пакет python-pyqt4AUR, который дополнительно требуется (optdepend) для hplip. Альтернативно вы можете запустить hp-setup с интерфейсом командной строки с помощью флага -i
.
hp-setup: находит принтер автоматически, но сразу после этого сообщает “Unable to communicate with device” при печати тестовой страницы
Это, по крайней мере, происходит с hplip 3.13.5-2 у принтера HP Officejet 6500A через локальное сетевое соединение. Чтобы решить проблему, укажите IP-адрес принтера HP для hp-setup, чтобы обнаружить принтер.
hp-setup: “KeyError: ‘family-class'”
Если при добавлении принтера в пользовательском интерфейсе он не работает, или вы получили KeyError: 'family-class'
от hp-setup
, возможно потребуется обновить вручную /usr/share/hplip/data/models/models.dat
.
Проверьте определен ли раздел family-class=Undefined
для вашего принтера. Если нет, добавьте это:
/usr/share/hplip/data/models/models.dat
[hp_laserjet_pro_mfp_m225dw] ... family-class=Undefined
Другие
Принтер “приостановлен – “Paused”” или “Остановлен” cо статусом “Рендеринг завершен”
Низкий уровень чернил
При низком уровне чернил некоторые принтеры зависают со статусом “Рендеринг завершен” (“Rendering completed”), и, если это сетевой принтер, принтер может даже стать недоступным для CUPS, несмотря на то, что он правильно подключен к сети. Замена картриджа (картриджей) с низким уровнем чернил в этом случае вернет принтер в статус “Готов” (“Ready”) и, если он – сетевой принтер, то он станет снова доступным для CUPS.
Примечание: Если вы используете сторонние чернильные картриджи, то принтер может сообщать неточную информацию о уровне чернил. Если вы используете сторонние картриджи, и ваш принтер работал нормально, но теперь завис со статусом “Рендеринг завершен” (“Rendering completed”), замените чернильные картриджи, независимо от уровня отображаемых чернил, перед тем, как пробовать другие решения проблемы.
Завершение печати из-за ошибок авторизации
Если удаленный принтер запрашивает аутентификацию, CUPS автоматически добавит директиву AuthInfoRequired
для принтера в /etc/cups/printers.conf
. Однако некоторые графические приложения (например, некоторые версии LibreOffice [1]) не имеют возможности запрашивать учетные данные, поэтому печать завершилась с ошибкой.
Чтобы исправить это, укажите требуемое имя пользователя и пароль в URI.
Для получения дополнительной информации смотрите [2], [3].
Unknown supported format: application/postscript
(Не найдена поддержка формата: application/postscript)
Закомментируйте строки:
application/octet-stream application/vnd.cups-raw 0 -
в /etc/cups/mime.convs
и:
application/octet-stream
в /etc/cups/mime.types
.
Ошибка задания для печати (Print-Job) client-error-document-format-not-supported
Попробуйте установить пакет foomatic и используйте драйвер foomatic.
Не удается получить список драйверов принтера
(Также применимо к ошибке “-1 не поддерживается!”)
Попробуйте удалить драйверы Foomatic или обратитесь к CUPS/Принтероспецифичные проблемы#HPLIP для обходного пути.
lp: Error – Scheduler Not Responding
Если вы получите эту ошибку, убедитесь, что CUPS запущен, переменная окружения CUPS_SERVER
не установлена и /etc/cups/client.conf
корректный.
Сообщение об ошибке: “Using invalid Host”
Попробуйте добавить ServerAlias *
в /etc/cups/cupsd.conf
.
Не удается отправить на печать из LibreOffice
Если вы можете распечатать тестовую страницу с веб-интерфейса CUPS, но не из LibreOffice, попробуйте установить пакет a2ps.
Вывод принтера сдвинут
По-видимому, это связано с неправильным размером страницы, установленным в CUPS.
Принтер не работает (приостановлен – “Paused”) после ошибки
Когда во время печати возникает ошибка, принтер в CUPS может перестать отвечать на запросы. lpq
сообщает, что принтер is not ready
(не готов), его можно активировать с помощью cupsenable
. В веб-интерфейсе CUPS принтер отображается как приостановлен – “Paused”, его можно возобновить с помощью Восстановить печать.
Чтобы CUPS автоматически активировал принтер, измените политику ошибок с стандартной настройки Останавливать принтер
(stop-printer) на Повторить задание
(retry-this-job).
Samsung: URF ERROR – Incomplete Session by time out
Эта ошибка обычно возникает при печати файлов по сети через IPP на принтерах Samsung и решается с помощью пакета samsung-unified-driverAUR.
Примечание: Соответствующий код ошибки 11-1112 соответствует внутренней проблеме с принтером, поэтому обращение к технической поддержке Samsung бесполезно.
Brother: Принтер печатает несколько копий
Иногда принтер печатает несколько копий документа (например, MFC-9330CDW напечатал 10 копий). Решение заключается в обновлении прошивки принтера.
Обычный пользователь не может изменять настройки принтера или удалять определенные задания
Если обычный пользователь должен иметь возможность изменять настройки принтеров или управлять очередью принтера, пользователь может быть добавлен в группу sys
.
1
1
приветствую
при попытке печати из Ubuntu «focal» на принтер Brother HL-1223WR
CUPS в error_log пишет следующее:
E [25/May/2022:07:39:18 +0300] [Job 8] Job stopped due to filter errors; please consult the /var/log/cups/error_log file for details.
D [25/May/2022:07:39:18 +0300] [Job 8] The following messages were recorded from 07:39:16 to 07:39:18
D [25/May/2022:07:39:18 +0300] [Job 8] Applying default options...
D [25/May/2022:07:39:18 +0300] [Job 8] Adding start banner page "none".
D [25/May/2022:07:39:18 +0300] [Job 8] Adding end banner page "none".
D [25/May/2022:07:39:18 +0300] [Job 8] File of type application/vnd.cups-pdf-banner queued by "x".
D [25/May/2022:07:39:18 +0300] [Job 8] hold_until=0
D [25/May/2022:07:39:18 +0300] [Job 8] Queued on "Brother_HL-1210W_series" by "x".
D [25/May/2022:07:39:18 +0300] [Job 8] time-at-processing=1653453556
D [25/May/2022:07:39:18 +0300] [Job 8] 3 filters for job:
D [25/May/2022:07:39:18 +0300] [Job 8] bannertopdf (application/vnd.cups-pdf-banner to application/pdf, cost 32)
D [25/May/2022:07:39:18 +0300] [Job 8] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [25/May/2022:07:39:18 +0300] [Job 8] brother_lpdwrapper_HL1210W (application/vnd.cups-pdf to printer/Brother_HL-1210W_series, cost 0)
D [25/May/2022:07:39:18 +0300] [Job 8] job-sheets=none,none
D [25/May/2022:07:39:18 +0300] [Job 8] argv[0]="Brother_HL-1210W_series"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[1]="8"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[2]="x"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[3]="Пробная страница"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[4]="1"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[5]="job-uuid=urn:uuid:096ab21d-ab22-3aad-65d6-038153169fa4 job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1653453556 time-at-processing=1653453556"
D [25/May/2022:07:39:18 +0300] [Job 8] argv[6]="/var/spool/cups/d00008-001"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[2]="CUPS_DOCROOT=/usr/share/cups/doc-root"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[7]="CUPS_STATEDIR=/run/cups"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[8]="HOME=/var/spool/cups/tmp"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[10]="SERVER_ADMIN=root@x"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[11]="SOFTWARE=CUPS/2.3.1"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[12]="TMPDIR=/var/spool/cups/tmp"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[13]="USER=root"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[14]="CUPS_MAX_MESSAGE=2047"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[15]="CUPS_SERVER=/run/cups/cups.sock"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[16]="CUPS_ENCRYPTION=IfRequested"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[17]="IPP_PORT=631"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[18]="CHARSET=utf-8"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[19]="LANG=ru_RU.UTF-8"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[20]="PPD=/etc/cups/ppd/Brother_HL-1210W_series.ppd"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[21]="RIP_MAX_CACHE=128m"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[22]="CONTENT_TYPE=application/vnd.cups-pdf-banner"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[23]="DEVICE_URI=dnssd://Brother%20HL-1210W%20series._pdl-datastream._tcp.local/?uuid=e3248000-80ce-11db-8000-cc6b1e5fc5b0"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[24]="PRINTER_INFO=Brother HL-1210W series"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[25]="PRINTER_LOCATION="
D [25/May/2022:07:39:18 +0300] [Job 8] envp[26]="PRINTER=Brother_HL-1210W_series"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[27]="PRINTER_STATE_REASONS=none"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[28]="CUPS_FILETYPE=document"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[29]="FINAL_CONTENT_TYPE=application/vnd.cups-pdf"
D [25/May/2022:07:39:18 +0300] [Job 8] envp[30]="AUTH_I****"
D [25/May/2022:07:39:18 +0300] [Job 8] Started filter /usr/lib/cups/filter/bannertopdf (PID 260205)
D [25/May/2022:07:39:18 +0300] [Job 8] Started filter /usr/lib/cups/filter/pdftopdf (PID 260206)
D [25/May/2022:07:39:18 +0300] [Job 8] Started filter /usr/lib/cups/filter/brother_lpdwrapper_HL1210W (PID 260207)
D [25/May/2022:07:39:18 +0300] [Job 8] Started backend /usr/lib/cups/backend/dnssd (PID 260208)
D [25/May/2022:07:39:18 +0300] [Job 8] Resolving "Brother HL-1210W series._pdl-datastream._tcp.local"...
D [25/May/2022:07:39:18 +0300] [Job 8] STATE: +connecting-to-device
D [25/May/2022:07:39:18 +0300] [Job 8] Resolving "Brother HL-1210W series", regtype="_pdl-datastream._tcp", domain="local."...
D [25/May/2022:07:39:18 +0300] [Job 8] pdftopdf: Last filter determined by the PPD: brother_lpdwrapper_HL1210W; FINAL_CONTENT_TYPE: application/vnd.cups-pdf => pdftopdf will not log pages in page_log.
D [25/May/2022:07:39:18 +0300] [Job 8] Resolved as "socket://BRNCC6B1E5FC5B0.local:9100/"...
D [25/May/2022:07:39:18 +0300] [Job 8] STATE: -connecting-to-device,offline-report
D [25/May/2022:07:39:18 +0300] [Job 8] PDF template file doesn't have form. It's okay.
D [25/May/2022:07:39:18 +0300] [Job 8] Executing backend "/usr/lib/cups/backend/socket"...
D [25/May/2022:07:39:18 +0300] [Job 8] PDF interactive form and annotation flattening done via QPDF
D [25/May/2022:07:39:18 +0300] [Job 8] PID 260205 (/usr/lib/cups/filter/bannertopdf) exited with no errors.
D [25/May/2022:07:39:18 +0300] [Job 8] STATE: +connecting-to-device
D [25/May/2022:07:39:18 +0300] [Job 8] Looking up "BRNCC6B1E5FC5B0.local"...
D [25/May/2022:07:39:18 +0300] [Job 8] PID 260206 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
D [25/May/2022:07:39:18 +0300] [Job 8] cp: -r not specified; omitting directory '/opt/brother/Printers/HL1210W//inf/brHL1210Wrc'
D [25/May/2022:07:39:18 +0300] [Job 8] rm: cannot remove '/tmp/brHL1210Wrc_260207': No such file or directory
D [25/May/2022:07:39:18 +0300] [Job 8] PID 260207 (/usr/lib/cups/filter/brother_lpdwrapper_HL1210W) stopped with status 1.
D [25/May/2022:07:39:18 +0300] [Job 8] Hint: Try setting the LogLevel to "debug" to find out more.
D [25/May/2022:07:39:18 +0300] [Job 8] STATE: -connecting-to-device
D [25/May/2022:07:39:18 +0300] [Job 8] BRNCC6B1E5FC5B0.local=192.168.1.4
D [25/May/2022:07:39:18 +0300] [Job 8] hrDeviceDesc="Brother HL-1210W series"
D [25/May/2022:07:39:18 +0300] [Job 8] prtGeneralCurrentLocalization=1
D [25/May/2022:07:39:18 +0300] [Job 8] prtLocalizationCharacterSet type is 2, expected 2!
D [25/May/2022:07:39:18 +0300] [Job 8] backendWaitLoop(snmp_fd=5, addr=0x5561b904e708, side_cb=0x5561b80ff6a0)
D [25/May/2022:07:39:18 +0300] [Job 8] PID 260208 (/usr/lib/cups/backend/dnssd) exited with no errors.
D [25/May/2022:07:39:18 +0300] [Job 8] End of messages
D [25/May/2022:07:39:18 +0300] [Job 8] printer-state=3(idle)
D [25/May/2022:07:39:18 +0300] [Job 8] printer-state-message="Filter failed"
D [25/May/2022:07:39:18 +0300] [Job 8] printer-state-reasons=none
из винды печатает нормально
как это вылечить?
I have a laser printer (Samsung ML-2010) that is in good condition, it works in Windows and old linuxes, but not with my fresh installation of ArchLinux. The printer is recognised and configured, but not printing, saying about any job:
canceled at
Fri 06 Jun 2014 10:15:26 PM EEST
"Filter failed"
The question is — where to look at to find more? Cups logs don’t seem to have anything related.
asked Jun 7, 2014 at 5:39
1
For Ubuntu 14.04 users (and maybe others) you cannot add the foomatic-filters as suggested above, as they conflict with the CUPS project’s version (cups-filters).
The hint may be in /var/log/cups/error_log
. In my case, the output looks like this
[17/Aug/2014:12:47:31 +1000] [Job 83] JCL: 12345X@PJL
[17/Aug/2014:12:47:31 +1000] [Job 83] <job data>
[17/Aug/2014:12:47:31 +1000] [Job 83] sh: 1: hpijs: not found
[17/Aug/2014:12:47:31 +1000] [Job 83] GPL Ghostscript 9.10: Can't start ijs server "hpijs"
[17/Aug/2014:12:47:31 +1000] [Job 83] renderer exited with status 1
[17/Aug/2014:12:47:31 +1000] [Job 83] Possible error on renderer command line or PostScript error. Check options.Kid3 exit status: 3
It can be solved with:
sudo apt-get install hpijs-ppds printer-driver-hpijs
Not sure if both are needed, I just picked all hpijs-like things in Aptitude.
masegaloeh
18.2k10 gold badges57 silver badges105 bronze badges
answered Aug 18, 2014 at 4:58
5
Since this is a top hit on Google for “debian jessie filter failed” I’m going to add what helped for me.
This is for Debian Jessie and CUPS failing with “filter failed”!
The culprit was the ghostscript
package from stable (i.e. Jessie in this case) which crashes a lot. I upgraded to the ghostscript
package from testing.
answered Dec 3, 2015 at 12:36
For the benefit of anyone seeing this error message in 2019, a possible cause is an incompatibility between older versions of cups-filters
and recent versions of ghostscript
. Upgrading the former or downgrading the latter resolves the issue.
Note that upgrades to cups-filters
were not released for some platforms (e.g. Raspbian Stretch on the Raspberry Pi) until mid-June 2019, so if this did not work in the past try sudo apt update && sudo apt upgrade
again.
answered May 10, 2019 at 7:24
Try installing foomatic-filters
and foomatic-db-engine
from AUR.
answered Jun 7, 2014 at 11:25
1
I had the same problem on Debian Jessie!
The tip of Erik Winkels solved the problem.
I modificated the /etc/apt/sources.list
– Added the line: deb http://ftp.at.debian.org/debian/ sid main
Then I followed the steps:
– sudo aptitude update
– sudo aptitude safe-upgrade ghostscript
– Revert the sources.list, and again:
– sudo aptitude update
Now my ghostscript is in Version 9.19~dfsg-3, and printing works.
answered Oct 9, 2016 at 17:06
For users of the Raspberry Pi and possibly certain other Debian-based platforms that experienced this issue in May-June 2019, the problem was that ghostscript and libgs9 were upgraded two or three weeks before the upgraded versions of cups-browsed, cups-filters, cups-filters-core-drivers, libcupsfilters1, and libfontembed1 were made available in the Raspbian repos. Running sudo apt update && sudo apt upgrade
again on or after June 14, 2019 should hopefully fix the problem.
answered Jun 14, 2019 at 15:44
I just solved a problem very similar to this. It was caused by the spring 2019 Debian upgrade. To solve it, I added “oldstable” to my Debian sources.list and then I was able to downgrade several packages. I downgraded:
- printer-driver-hpcups to 3.16.11+repack0-3
- ghostscript, ghostsctipt-x, libgs9, libgs9-common to 9.26a~dfsg-0+deb9u2
answered Aug 10, 2019 at 22:40
In my case (HP Laserjet CP1215) the right printer driver was missing => foo2hp
You can install it with: sudo apt-get install printer-driver-foo2zjs-common
Also restart CUPS: sudo service cups restart
answered Jun 15, 2020 at 16:00
I have a raspberry pi an in my case this was due to my rootfs being full.
Test if this is the case for you with df -h
and cleanup you file system if necessary.
Use sudo ncdu -x /
to find the folder that’s eating up all that space, again, if this is the case for you.
answered Aug 14, 2020 at 15:15
victmovictmo
1012 bronze badges
Опубликовано в Статьи.
При обновлении операционной системы Mac OS до само последней, 10.10 столкнулся с проблемой, один из моих старых принтеров Xerox MF 3100, который стоит в офисе, не печатает. Не печатает из любой программы, любые документы. После того как открывается список задач на верху пишется ошибка Filter Failed и дальнейшие попытки что либо перевести из цифрового вида в бумажный безуспешны.
Все действия производятся на свой страх и риск. На новых версиях macos эти команды не исправят ошибку скорее всего (выше 10.10 версии).
Пробуем стандартные процедуры устранения подобных проблем:
- Найти более свежий драйвер на официальном сайте и установить его
- Удалить и добавить принтер
- Удалить старый и добавить новый драйвер
Но такие процедуры, с ошибкой Filter Failed не дают результата.
Как исправить ошибку Filter Failed
Чтобы принтер снова начал печатать надо:
- Зайдите в Finder-> Программы-> Утилиты и откройте программу «Терминал»
- Если у вас нету пароля на компьютер необходимо его поставить. (После окончания инструкции можете его снять). Это нужно чтобы в следующем пункте получить права суперпользователя для выполнения shell команд.
- Вбейте команду
1
sudo sh -c 'echo "Sandboxing Off" >> /etc/cups/cups-files.conf'
- У вас попросят пароль. Вбейте его. То что вы не видите звездочек это нормально. После ввода пароля нажмите Enter
- Вбейте команду
1
sudo launchctl stop org.cups.cupsd
После чего, можете пробовать печатать, все должно работать. Никаких перезагрузок или выхода из системы делать не надо.
Но если у вас зависает печать то
- Зайдите в Системные настройки настройки-> Принтеры и сканеры
- Нажмите на любой принтер и выберите «Сбросить систему печати»
- Добавьте принтер заново и все заработает
На этом все, но если у вас остались вопросы, вы, как всегда, можете задать их в комментариях, а я попробую вам помочь.
Если предыдущие варианты не помогли, пробуем следущее:
1) Выберите меню Apple > «Системные настройки» и нажмите «Принтеры и сканеры».
2) Дождавшись когда меню Принтеры и сканеры загрузится, Удерживая нажатой клавишу Control, нажмите в списке слева, где ранее отображались принтеры, затем выберите пункт «Сбросить систему печати» в появившемся меню.
P.S. На август 2019, у меня установлена macOS Mojavi версия 10.14.1. И к сожалению ничего не помогло, хотя за пол года до ошибки принтер работал 🙂 Мой инстаграм rinatshahmetov.
Как отменить команды прописанные выше
- Открываете Finder и нажимаете комбинацию Shift+Cmd+G и он попросит ввести путь. Вводите /etc/cups и там выбираете файл cups-files.conf и редактируете его TextEdit.
- В конец файла “/etc/cups/cups-files.conf” удалите строку Sandboxing Off. (Важно: в конце файла должен остаться перевод строки. Во многих редакторах это выглядит как пустая строка в конце.).
- Если не получается изменить, можете создать такой же файл без строки “Sandboxing Off” и заменить существующий файл на новый.
- “sudo launchctl stop org.cups.cupsd ” – эта команда остановила сервис org.cups.cupsd. Надо её заново запустить, если не перезапустилась само. Меняем stop на start. “sudo launchctl start org.cups.cupsd”
Комплектующие для хакинтоша или как собрать самому MacOS
macos, не печатает принтер, filter failed
Состояние перевода: На этой странице представлен перевод статьи CUPS/Troubleshooting. Дата последней синхронизации: 8 января 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Ссылки по теме
- CUPS (Русский)
- CUPS/Принтероспецифичные проблемы
В этой статье рассматриваются все неспецифические (то есть не связанные с каким-либо одним принтером) проблемы CUPS и драйверов принтеров (но не проблемы, связанные с совместным использованием принтеров), включая методы определения точной природы проблемы и решения выявленной проблемы.
Contents
- 1 Введение
- 2 Проблемы, возникающие в результате обновлений
- 2.1 CUPS останавливается
- 2.2 Для всех заданий – “остановлено”
- 2.3 Для всех заданий – “Принтер не отвечает”
- 2.4 Версия PPD не совместима с gutenprint
- 3 Проблемы с сетью
- 3.1 Не удается найти принтер
- 3.2 Старый сервер CUPS
- 3.3 Общий принтер работает локально, но удаленный компьютер не печатает
- 3.4 Не удается найти файл PPD
- 4 USB-принтеры
- 4.1 Конфликт с SANE
- 4.2 Конфликт с usblp
- 4.3 USB autosuspend
- 4.4 Плохие разрешения
- 5 Проблемы с HP
- 5.1 CUPS: “/usr/lib/cups/backend/hp failed”
- 5.2 CUPS: “Печать завершена”, но принтер не печатает.
- 5.3 CUPS: ‘”foomatic-rip” not available/stopped with status 3’
- 5.4 CUPS: “Filter failed”
- 5.4.1 Отсутствует ghostscript
- 5.4.2 Отсутствует foomatic-db
- 5.4.3 Avahi не включен
- 5.4.4 Устаревший плагин
- 5.4.5 Устаревшая конфигурация принтера
- 5.5 CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet
- 5.6 HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие
- 5.7 hp-toolbox: “Unable to communicate with device”
- 5.7.1 Разрешение проблемы
- 5.7.2 Виртуальный CDROM у принтеров
- 5.7.3 Сетевые принтеры
- 5.8 hp-setup просит указать PPD-файл для обнаруженного принтера
- 5.9 hp-setup: “Qt/PyQt 4 initialization failed”
- 5.10 hp-setup: находит принтер автоматически, но сразу после этого сообщает “Unable to communicate with device” при печати тестовой страницы
- 5.11 hp-setup: “KeyError: ‘family-class'”
- 6 Другие
- 6.1 Принтер “приостановлен – “Paused”” или “Остановлен” cо статусом “Рендеринг завершен”
- 6.1.1 Низкий уровень чернил
- 6.2 Завершение печати из-за ошибок авторизации
- 6.3 Unknown supported format: application/postscript
- 6.4 Ошибка задания для печати (Print-Job) client-error-document-format-not-supported
- 6.5 Не удается получить список драйверов принтера
- 6.6 lp: Error – Scheduler Not Responding
- 6.7 Сообщение об ошибке: “Using invalid Host”
- 6.8 Не удается отправить на печать из LibreOffice
- 6.9 Вывод принтера сдвинут
- 6.10 Принтер не работает (приостановлен – “Paused”) после ошибки
- 6.11 Samsung: URF ERROR – Incomplete Session by time out
- 6.12 Brother: Принтер печатает несколько копий
- 6.13 Обычный пользователь не может изменять настройки принтера или удалять определенные задания
- 6.1 Принтер “приостановлен – “Paused”” или “Остановлен” cо статусом “Рендеринг завершен”
Введение
Наилучший способ борьбы с неисправностями – это выставить ‘LogLevel’ в файле /etc/cups/cupsd.conf
на:
А потом посмотреть вывод из файла /var/log/cups/error_log
например так:
# tail -n 100 -f /var/log/cups/error_log
Символы слева от вывода означают следующее:
- D=Debug(отладка)
- E=Error(ошибка)
- I=Information(информация)
- И так далее
Следующие файлы также могут быть полезны:
/var/log/cups/page_log
– каждый раз при успешной печати, пишет новую запись/var/log/cups/access_log
– записывает всю активность на cupsd http1.1 сервере
Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:
- Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
- CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
- GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
- Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд
Распечатайте документ и посмотрите error_log
, чтобы получить более подробное и правильное представление об процессе печати.
Проблемы, возникающие в результате обновлений
Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ
CUPS останавливается
Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения “404 – page not found” при попытке входа в панель управления CUPS через localhost:631.
Для того, чтобы воспользоваться новым конфигом, скопируйте /etc/cups/cupsd.conf.default
в /etc/cups/cupsd.conf
(при необходимости сделайте резервную копию старого конфига) и, чтобы новые настройки вступили в силу, перезапустите CUPS.
Для всех заданий – “остановлено”
Если для всех отправленных на печать заданий установился статус “остановлено” (“stopped”), – удалите принтер и установите его заново. Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.
Для проверки настроек принтера перейдите во вкладку Принтеры, затем скопируйте отображаемую информацию. Далее нажмите на Администрирование. В выпадающем списке кликните Изменить принтер, перейдите к следующей странице(ам), и так далее.
Для всех заданий – “Принтер не отвечает”
Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:
lpd://BRN_020554/BINARY_P1
то имя хоста ‘BRN_020554’ должно соответствовать IP принтера, управляемого сервером CUPS. Если используется Avahi, убедитесь, что разрешение имени хоста Avahi работает.
Альтернативно, замените имя хоста, используемое в URI, IP-адресом принтера.
Версия PPD не совместима с gutenprint
Запустите:
# /usr/bin/cups-genppdupdate
И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).
Проблемы с сетью
Не удается найти принтер
Даже если CUPS обнаруживает сетевые принтеры, вы все равно можете получить ошибку “Не удается найти принтер” (“Unable to locate printer”) при попытке распечатать что-либо. Чтобы решить эту проблему, включите .разрешение локального имени хоста Avahi. Для получения дополнительной информации смотрите CUPS (Русский)#Сеть.
Эта проблема может возникать и при использовании файрвола (межсетевой экран, брандмауэр). Возможно, вам придется отключить его или установить корректные правила. Если вы используете system-config-printer для обнаружения сетевых принтеров, тогда он сделает все это автоматически.
Старый сервер CUPS
Начиная с версии CUPS 1.6, клиент по умолчанию использует IPP 2.0. Если сервер использует CUPS <= 1.5 / IPP <= 1.1, клиент не будет автоматически понижать версию протокола и, следовательно, не может связаться с сервером. Обходным путем является добавление опции version=1.1
, описанной в Таблице 2. Опции URI IPP.
Общий принтер работает локально, но удаленный компьютер не печатает
Это вызвано тем, что задание на печать отправляется через фильтр дважды, один раз на локальном компьютере и один раз на удаленном. Смотрите также предупреждение на главной странице CUPS.
Не удается найти файл PPD
/var/log/cups/error_log
Cannot connect to remote printer ipp://HP079676.local
copy_model: empty PPD file
Убедитесь, что Avahi настроен правильно. В частности, проверьте, что nss-mdns установлен и настроен в /etc/nsswitch.conf
.
USB-принтеры
Конфликт с SANE
Если у вас также запущен SANE, возможно, что он конфликтует с CUPS. Чтобы исправить это, создайте правило Udev, обозначающее устройство как совпадающее с libsane:
/etc/udev/rules.d/99-printer.rules
ATTRS{idVendor}=="*vendor id(код производителя)*", ATTRS{idProduct}=="*product id(код продукта)*", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
Конфликт с usblp
Доступ к USB-принтерам можно получить двумя способами: модулем ядра usblp и libusb. Первый – это классический способ. Это просто: данные отправляются на принтер, записывая их в файл устройства в виде простого последовательного потока данных. Чтение одного и того же файла устройства позволяет использовать двунаправленный доступ, по крайней мере, для таких вещей, как считывание уровней чернил, статуса или информации о возможностях принтера (PJL). Он работает очень хорошо для простых принтеров, но для многофункциональных устройств (принтер/сканер) он не подходит, и производители, такие как HP, поставляют свои собственные бэкенды. Источник: здесь.
Важно: Начиная с cups версии 1.6.0, больше не нужно заносить в запрет загрузки модуль ядра usblp
. Если вы узнаете, что это единственный способ исправить оставшуюся проблему, сообщите об этом в баг-трекер CUPS, а также можно связаться с Till Kamppeter (сопровождающий CUPS в Debian). Для получения дополнительной информации смотрите в upstream bug.
Если у вас возникли проблемы с работой USB-принтера, вы можете попробовать запрет загрузки для модуля ядра usblp
:
/etc/modprobe.d/blacklistusblp.conf
Пользователям кастомного ядра может потребоваться вручную загрузить модуль ядра usbcore
, прежде чем продолжить.
После установки модулей подключите принтер и проверьте, обнаружило ли его ядро, выполнив следующие действия:
или
Если вы используете usblp
, вывод должен указывать на то, что принтер был обнаружен следующим образом:
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
Если вы запретили загрузку usblp
, вы увидите что-то вроде:
usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice
USB autosuspend
Ядро Linux автоматически приостанавливает USB-устройства, когда есть поддержка драйверов и устройства не используются. Это может сэкономить электроэнергию, но некоторые USB-принтеры считают, что они не подключены, когда ядро приостанавливает USB-порт, предотвращая печать. Это можно устранить, отключив autosuspend для конкретного устройства, для получения дополнительной информации смотрите Power management#USB autosuspend.
Плохие разрешения
Проверьте разрешения USB-порта принтера. Получите номер шины (BUSID) и устройства (DEVID) от lsusb
:
lsusb
Bus <BUSID> Device <DEVID>: ID <PRINTERID>:<VENDOR> Hewlett-Packard DeskJet D1360
Проверьте владельца, просмотрев devfs:
# ls -l /dev/bus/usb/<BUSID>/<DEVID>
Демон cups запускается от пользователя “cups” и относится к группе “lp”, поэтому либо этому пользователю, либо группе требуется доступ на чтение и запись в USB-устройство. Если вы считаете, что разрешения выглядят неправильно, вы можете временно изменить группу и разрешение:
# chgrp lp /dev/bus/usb/<BUSID>/<DEVID>
# chmod 664 /dev/bus/usb/<BUSID>/<DEVID>
Затем проверьте, может ли cups теперь видеть устройство USB правильно.
Чтобы сделать постоянное изменение разрешения, которое будет запускаться автоматически при каждом запуске компьютера, добавьте следующую строку.
/etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="<VENDOR>", ATTRS{idProduct}=="<PRINTERID>", GROUP:="lp", MODE:="0664"
После редактирования перезагрузите правила udev этой командой:
# udevadm control --reload-rules
Каждая система может отличаться, поэтому обратитесь к вики-странице udev (Русский)#Список атрибутов устройства.
Проблемы с HP
Смотрите также CUPS/Принтероспецифичные проблемы#HP.
CUPS: “/usr/lib/cups/backend/hp failed”
Убедитесь, что dbus установлен и запущен. Если ошибка повторяется, попробуйте запустить avahi-daemon.
Попробуйте добавить принтер в качестве сетевого принтера, используя протокол http:// .
Примечание: Там, возможно, потребуется установить права доступа.
CUPS: “Печать завершена”, но принтер не печатает.
Это происходит на принтерах HP, когда вы выбираете (старый) драйвер hpijs (например, для Deskjet D1600 series). Вместо этого используйте драйвер hpcups.
Некоторые принтеры HP требуют, чтобы их прошивка загружалась с компьютера при каждом включении принтера. Вы можете столкнуться с этой проблемой, если есть проблема с udev (или аналогом), и правило загрузки прошивки никогда не запускается. В качестве обходного пути вы можете вручную загрузить прошивку на принтер. Убедитесь, что принтер подключен и включен, затем выполните
CUPS: ‘”foomatic-rip” not available/stopped with status 3’
Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘остановлен’ (‘stopped’), а в /var/log/cups/error_log
возникает одно из следующих сообщений об ошибках:
Filter "foomatic-rip" for printer *printer_name* not available: No such file or director
или:
PID *pid* (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
убедитесь, что hplip установлен.
CUPS: “Filter failed”
Ошибка “filter failed” может быть вызвана некоторым количеством причин. Журнал ошибок CUPS (по умолчанию /var/log/cups/error_log
) должен записывать, какой фильтр не удалось загрузить и почему.
Отсутствует ghostscript
Установите ghostscript (/usr/lib/cups/filter/gstoraster
нуждается в его запуске).
Отсутствует foomatic-db
Установите foomatic-db и foomatic-db-ppds. Это помогает в некоторых случаях.
Avahi не включен
Запустите и включите службу avahi-daemon
.
Устаревший плагин
Эта ошибка может указывать на то, что плагин устарел (версия несовместима) и может произойти после обновления системы, возможно, появится сообщение Plugin error
в журнале (логе). Если вы установили hplip-plugin, вам нужно обновить пакет, иначе перезапустите hp-setup -i
, чтобы установить последнюю версию плагина.
Устаревшая конфигурация принтера
Начиная с hplip-plugin версии 3.17.11 hpijs больше не доступен. Если у вас есть принтеры, использующие hpijs, они не будут печатать. Необходимо перенастроить их и выбрать вместо этого новый драйвер hpcups.
Вы можете проверить, если это ваш случай, посмотрев в error_log cups`а:
$ grep hpijs /var/log/cups/error_log
...
D [09/Jan/2018:14:32:58 +0000] [Job 97] **sh: hpijs: command not found**
...
CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet
Существует ошибка, которая приводит к сбою CUPS при печати изображений на HP LaserJet (в моем случае 3380). Ошибки были зафиксированы и исправлены в Ubuntu. Первая страница пуста, вторая страница содержит следующее сообщение об ошибке:
ERROR:
invalidaccess
OFFENDING COMMAND:
filter
STACK:
/SubFileDecode
endstream
...
Чтобы устранить проблему, выполните следующую команду как суперпользователь (root):
# lpadmin -p *printer* -o pdftops-renderer-default=pdftops
HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие
Возможно, проблема связана с изменением прав доступа файла, которое было внесено в /var/lib/hp/hplip.state
. Чтобы исправить проблему, достаточно простых команд chmod 644 /var/lib/hp/hplip.state
и chmod 755 /var/lib/hp
. Для получения дополнительной информации, пожалуйста, прочитайте эту ссылку.
hp-toolbox: “Unable to communicate with device”
# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/*printer id*
Разрешение проблемы
Может потребоваться добавить пользователя в группы lp
и sys
.
Виртуальный CDROM у принтеров
Это также может быть вызвано принтерами, такими как P1102, которые предоставляют виртуальный привод CD-ROM для драйверов MS Windows. Появляется lp dev, а затем исчезает. В этом случае попробуйте пакеты usb-modeswitch и usb-modeswitch-data, что позволяет отключить “Smart Drive” (правила udev, включенные в указанные пакеты).
Сетевые принтеры
Это также может происходить с сетевыми принтерами, использующими динамические имена хостов, если avahi-daemon не запущен. Другая причина заключается в том, что hp-setup не удалось найти принтер, потому что IP-адрес принтера изменился из-за DHCP. Если это так, подумайте о добавлении резервирования DHCP для принтера в конфигурации сервера DHCP.
hp-setup просит указать PPD-файл для обнаруженного принтера
Кроме того, при выборе файла PPD в графическом режиме hp-setup поле не обновляется и сообщение об ошибке не отображается.
Или, если вы используете интерактивный (консольный) режим, можно столкнуться с чем-то похожим на это даже при введении правильного пути к файлу ppd:
Please enter the full filesystem path to the PPD file to use (q=quit) :/usr/share/ppd/HP/hp-deskjet_2050_j510_series.ppd.gz
Traceback (most recent call last):
File "/usr/bin/hp-setup", line 536, in <module>
desc = nickname_pat.search(nickname).group(1)
TypeError: cannot use a string pattern on a bytes-like object
Решение заключается в установке и запуске cups перед запуском hp-setup
.
hp-setup: “Qt/PyQt 4 initialization failed”
Установите пакет python-pyqt4, который дополнительно требуется (optdepend) для hplip. Альтернативно вы можете запустить hp-setup с интерфейсом командной строки с помощью флага -i
.
hp-setup: находит принтер автоматически, но сразу после этого сообщает “Unable to communicate with device” при печати тестовой страницы
Это, по крайней мере, происходит с hplip 3.13.5-2 у принтера HP Officejet 6500A через локальное сетевое соединение. Чтобы решить проблему, укажите IP-адрес принтера HP для hp-setup, чтобы обнаружить принтер.
hp-setup: “KeyError: ‘family-class'”
Если при добавлении принтера в пользовательском интерфейсе он не работает, или вы получили KeyError: 'family-class'
от hp-setup
, возможно потребуется обновить вручную /usr/share/hplip/data/models/models.dat
.
Проверьте определен ли раздел family-class=Undefined
для вашего принтера. Если нет, добавьте это:
/usr/share/hplip/data/models/models.dat
[hp_laserjet_pro_mfp_m225dw]
...
family-class=Undefined
Другие
Принтер “приостановлен – “Paused”” или “Остановлен” cо статусом “Рендеринг завершен”
Низкий уровень чернил
При низком уровне чернил некоторые принтеры зависают со статусом “Рендеринг завершен” (“Rendering completed”), и, если это сетевой принтер, принтер может даже стать недоступным для CUPS, несмотря на то, что он правильно подключен к сети. Замена картриджа (картриджей) с низким уровнем чернил в этом случае вернет принтер в статус “Готов” (“Ready”) и, если он – сетевой принтер, то он станет снова доступным для CUPS.
Примечание: Если вы используете сторонние чернильные картриджи, то принтер может сообщать неточную информацию о уровне чернил. Если вы используете сторонние картриджи, и ваш принтер работал нормально, но теперь завис со статусом “Рендеринг завершен” (“Rendering completed”), замените чернильные картриджи, независимо от уровня отображаемых чернил, перед тем, как пробовать другие решения проблемы.
Завершение печати из-за ошибок авторизации
Если удаленный принтер запрашивает аутентификацию, CUPS автоматически добавит директиву AuthInfoRequired
для принтера в /etc/cups/printers.conf
. Однако некоторые графические приложения (например, некоторые версии LibreOffice [1]) не имеют возможности запрашивать учетные данные, поэтому печать завершилась с ошибкой. Чтобы исправить это, укажите требуемое имя пользователя и пароль в URI. Для получения дополнительной информации смотрите [2], [3].
Unknown supported format: application/postscript
(Не найдена поддержка формата: application/postscript)
Закомментируйте строки:
application/octet-stream application/vnd.cups-raw 0 -
в /etc/cups/mime.convs
и:
в /etc/cups/mime.types
.
Ошибка задания для печати (Print-Job) client-error-document-format-not-supported
Попробуйте установить пакет foomatic и используйте драйвер foomatic.
Не удается получить список драйверов принтера
(Также применимо к ошибке “-1 не поддерживается!”)
Попробуйте удалить драйверы Foomatic или обратитесь к CUPS/Принтероспецифичные проблемы#HPLIP для обходного пути.
lp: Error – Scheduler Not Responding
Если вы получите эту ошибку, убедитесь, что CUPS запущен, переменная окружения CUPS_SERVER
не установлена и /etc/cups/client.conf
корректный.
Сообщение об ошибке: “Using invalid Host”
Попробуйте добавить ServerAlias *
в /etc/cups/cupsd.conf
.
Не удается отправить на печать из LibreOffice
Если вы можете распечатать тестовую страницу с веб-интерфейса CUPS, но не из LibreOffice, попробуйте установить пакет a2ps.
Вывод принтера сдвинут
По-видимому, это связано с неправильным размером страницы, установленным в CUPS.
Принтер не работает (приостановлен – “Paused”) после ошибки
Когда во время печати возникает ошибка, принтер в CUPS может перестать отвечать на запросы. lpq
сообщает, что принтер is not ready
(не готов), его можно активировать с помощью cupsenable
. В веб-интерфейсе CUPS принтер отображается как приостановлен – “Paused”, его можно возобновить с помощью Восстановить печать.
Чтобы CUPS автоматически активировал принтер, измените политику ошибок с стандартной настройки Останавливать принтер
(stop-printer) на Повторить задание
(retry-this-job).
Samsung: URF ERROR – Incomplete Session by time out
Эта ошибка обычно возникает при печати файлов по сети через IPP на принтерах Samsung и решается с помощью пакета samsung-unified-driver.
Примечание: Соответствующий код ошибки 11-1112 соответствует внутренней проблеме с принтером, поэтому обращение к технической поддержке Samsung бесполезно.
Brother: Принтер печатает несколько копий
Иногда принтер печатает несколько копий документа (например, MFC-9330CDW напечатал 10 копий). Решение заключается в обновлении прошивки принтера.
Обычный пользователь не может изменять настройки принтера или удалять определенные задания
Если обычный пользователь должен иметь возможность изменять настройки принтеров или управлять очередью принтера, пользователь может быть добавлен в группу sys
.