Со слов Александра Певзнера: --- Пациент поступил с жалобами, что не работает печать через ipp-usb, но довольно быстро выяснилось, что вообще бездрайверная печать не работает, ни по сети, ни по USB Сканирование работает хорошо, во всех режимах Принтер поддерживает через IPP три формата, image/urf, image/pwg-raster, application/octet-stream и предпочитает image/urf. Под видом application/octet-stream скрывается поддержка postscript, но как это выяснить из атрибутов устройства, не очень понятно. CUPS генерит ему этот самый image/urf, но принтеру он не нравится. При этом 1) программа rasterview этот URF нормально показывает и 2) программа ipptransform из https://github.com/OpenPrinting/libcups рожает URF, который нормально печатается. Пока что бросаются в глаза следующие факты: 1) CUPS почему-то рожает цветной URF. При этом принтер черно-белый, и нигде поддержку цветных изображений не обещал ) цветной URF, вручную полученный программой ipptransform тоже не печатается (а черно-белый печатается) CUPS использует для генерации URF-а программу /usr/lib/cups/filter/universal (а не imagetoraster, как я думал вначале). Пытаюсь понять, почему этому universal-у приспичило генерировать именно цветное изображение. Полагаю, многие принтеры системы Pantum не печатают по аналогичной причине. А возможно, и не только Pantum При бездрайверной печати PPD файл генерируется автоматически. Существует минимум две реализации этого генератора (хотя и основанных более-менее на одних исходниках, но версии этих исходников несколько разошлись): * программа driverless умеет генерировать PPD: (напр, driverless cat ipp://192.168.0.50/ipp/print, подставив настоящий адрес принтера) * cups сам себе генерирует PPD-ки для автоматически найденных принтеров, и складывает их в /etc/cups/ppd/... Так вот, эти PPD-ки будут разными. PPD-ка, которую генерирует driverless, с ней все работает. PPD-ка, которую генерирует CUPS, с ней изображение получается цветным и принтеру не нравится. Разница в одной строке, которую driverless в PPD-ку вставляяет, а cups - нет: *cupsUrfSupported: "V1.4,W8,IS1,CP99,PQ4,OB10,RS600,DM1" Фикс довольно очевидный, надо в cups-е поправить файл cups/ppd-cache.c, там все на вид довольно просто * бага - https://github.com/OpenPrinting/cups/pull/804 * фикс - https://github.com/OpenPrinting/cups/pull/805 ---
Со слов Александра: --- Дискуссия по поводу моего патча, кажется, надолго. При этом Федора готова выпустить у себя CUPS с моим патчем не дожидаясь официального CUPS-а, но хотела бы, чтобы рано или поздно мой патч в upstream таки попал. https://github.com/OpenPrinting/cups/pull/805#issuecomment-1778648995 ---
cups-2.4.7-alt2 -> sisyphus: Mon Oct 30 2023 Anton Farygin <rider@altlinux.ru> 2.4.7-alt2 - add hotfix from Alexander Pevzner for Pantum driverless printing (closes: #48114) - removed Ubuntu-0012-Debian-Use-dpkg-architecture-in-cups-config-to-make-.patch (closes: #38564)
Спасибо!
Оттуда же: --- JFYI Патчик в CUPS, чинящий печать на Pantum BM5100ADW, попал в апстрим (в ветку 2.4.x, так что должен быть в след. релизе). https://github.com/OpenPrinting/cups/pull/805 ---