cups-2.4.19-alt1 cups-filters-2.0.1-alt2 libcupsfilters-2.2.1-alt3 Стенды: Alt Education 11.2 XFCE x86_64, обновленный до Sisyphus Проверялось на реальном оборудовании: Ноутбук F+ Flaptop FLTP-5i5-16512-W МФУ Pantum M6700DW Шаги воспроизведения: 1. Подключить принтер и ноутбук к одной и той же wi-fi сети для возможности подключения к принтеру по wi-fi 2. Подключить принтер через system-config-printer или cups. Рекоменуется system-config-printer т.к. там при добавлении принтера отображается протокол, по которому он подключается (по сети принтеры могут отображаться в нескольких экзмеплярах, т.к. отображаются протоколы ipp, implicitclass, socket, dns-sd и т.д. Выбирать подключение через wi-fi (протоколы socket или lpd, IP можно проверить в меню МФУ). 3. После добавления принтера распечатать пробную страницу (В cups выбрать Принтеры > Выбрать принтер > Печать пробной страницы, либо в system-config-printer ПКМ по добавленному принтеру -> Свойства -> Печать пробной страницы) Результат: Принтер добавляется, задание отправляется на печать, на экране МФУ появляется надпись "Печать", но печать не осуществляется. Через некоторое время МФУ либо зависает, либо выдает ошибку неправильных настроек лотка. Если отменить задание и отправить заново, то ситуация повторяется. Если выключить и включить МФУ после зависания, он включается, но после подключения к wi-fi снова зависает намертво. Ожидаемый результат: успешная печать страницы
В отчёте не указано, какой драйвер/PPD выбирался при добавлении очереди, а от этого зависит всё: по socket/lpd на принтер уходит уже готовый поток данных, и если PPD не соответствует модели, МФУ получает мусор и может зависнуть. Пришлите, пожалуйста: 1. Какой драйвер/PPD выбрали при добавлении. Вывод lpstat -v и содержимое /etc/cups/ppd/<имя_принтера>.ppd. 2. Вывод lpinfo -v при включённом и подключённом к wi-fi МФУ, чтобы видеть, что именно обнаруживается. 3. Вывод driverless и driverless list, а также ipptool -tv ipp://IP_МФУ/ipp/print get-printer-attributes.test, чтобы понять, поддерживает ли МФУ IPP Everywhere. 4. /var/log/cups/error_log с LogLevel debug2 в /etc/cups/cupsd.conf (после изменения systemctl restart cups), снятый при отправке пробной страницы до момента зависания. 5. Воспроизводится ли проблема при добавлении того же МФУ через ipp:// или driverless (в system-config-printer это очередь с протоколом ipp/dnssd), и печатает ли МФУ по USB с тем же PPD.
Created attachment 22122 [details] Pantum_M6700DW Собрала запрошенные логи. error_log в архиве отдельным файлом - error_log_M6700.txt, остальные выводы команды в одном файле - Pantum_M6700DW.txt Пояснения по пункту 5: проверить соединения dnssd и ipps с тем же ppd не удалось, т.к. при попытке добавить тот же драйвер появлялась ошибка добавления драйвера и просьба заглянуть в файл error_log. Эту часть лога я приложила файлом error_log_failedtoaddipp.txt Также попыталась проверить печать по протоколам dnssd и ipps с драйвером IPP Everywhere. Принтер добавляется, но не печатает. Задание, судя по всему, даже не уходит на печать.
Спасибо. Разбор приложенного: 1. error_log_M6700.txt охватывает всего 40 секунд (18:22:34–18:23:15) и не содержит ни одной строки про задание. При LogLevel debug2 cupsd заполняет 1 МБ за секунды и ротирует лог (MaxLogSize 1m по умолчанию), поэтому старт задания и работа фильтров/бэкенда ушли в error_log.O и затёрлись. То же с error_log_failedtoaddipp.txt: он обрывается на запуске cups-driverd, результат его работы не виден. 2. Очередь Pantum_M6700DW_series: device-uri socket://10.88.144.157, а PPD - "driverless, cups-filters" (*cupsFilter2: "image/urf image/urf 0 -"). Такая связка некорректна: driverless-PPD генерирует Apple Raster (URF), который принтер принимает только через IPP. На порт 9100 (socket) принтер ждёт свой PDL, судя по device-id это PCL/PS ("CMD:DW-PS,DW-PCL,URF"). URF на 9100 и даёт "Печать" без результата, ошибку лотка и зависание. То, что в веб-интерфейсе этот PPD предлагается для socket-очереди, поведение апстрима: список PPD не фильтруется по типу подключения, и выбор корректного драйвера остаётся за администратором. 3. Сам принтер по IPP выглядит нормально: ipptool отвечает, поддерживает image/urf и image/pwg-raster, mopria 2.1, AirPrint. Так что driverless для него должен работать, но через ipp://. Прошу проверить и приложить результат: a) Очередь driverless по IPP без TLS и без dnssd (исключаем сертификат принтера и особенности ipps): lpadmin -p m6700 -E -v ipp://10.88.144.157/ipp/print -m everywhere lp -d m6700 /usr/share/cups/data/testprint lpstat -o; lpstat -p m6700 -l b) Если а) не печатает, тот же тест с логом: в /etc/cups/cupsd.conf добавить MaxLogSize 0 к LogLevel debug2, systemctl restart cups, повторить печать, приложить error_log целиком. c) Для ошибки добавления через dnssd/ipps выполнить из шелла и приложить вывод: driverless "ipps://Pantum%20M6700DW%20Series%20415346._ipps._tcp.local/" > /tmp/m6700.ppd; echo $? driverless ipp://10.88.144.157/ipp/print > /tmp/m6700b.ppd; echo $? ipptool -tv ipps://10.88.144.157:443/ipp/print get-printer-attributes.test 2>&1 | head -20 Если по ipp:// печать проходит, проблема сводится к выбору driverless-PPD для socket-подключения, и это не баг cups.
Дополнение. В выводе lpstat -v видна очередь Pantum_M6700DW_Series_415346 с device-uri implicitclass://, её автоматически создал cups-browsed. Это и есть штатный driverless-путь без какой-либо настройки, и его нужно проверить в первую очередь: d) lp -d Pantum_M6700DW_Series_415346 /usr/share/cups/data/testprint lpstat -o; lpstat -p Pantum_M6700DW_Series_415346 -l Если не печатает, приложите error_log (с MaxLogSize 0 и LogLevel debug2, как в пункте b) и вывод journalctl -u cups-browsed -b, а также содержимое /etc/cups/ppd/Pantum_M6700DW_Series_415346.ppd. Это же касается описанных вами неудач с dnssd: ошибка добавления PPD "driverless" и очередь IPP Everywhere, с которой задание не уходит. Есть подозрение, что принтер анонсирует ipps, cups-filters для генерации PPD выбирает ipps-адрес, а TLS у принтера обрывает соединение. Пункты c) и d) как раз это покажут. Если подтвердится, это уже наша проблема, а не настройки.