Bug 48114 - [PATCH] поддержка бездрайверного режима печати на Pantum BM5100ADW
Summary: [PATCH] поддержка бездрайверного режима печати на Pantum BM5100ADW
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: cups (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL: http://github.com/OpenPrinting/cups/p...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-22 22:55 MSK by Michael Shigorin
Modified: 2024-11-02 12:02 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2023-10-22 22:55:35 MSK
Со слов Александра Певзнера:

---
Пациент поступил с жалобами, что не работает печать через 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
---
Comment 1 Michael Shigorin 2023-10-29 19:53:13 MSK
Со слов Александра:

---
Дискуссия по поводу моего патча, кажется, надолго. При этом Федора готова выпустить у себя CUPS с моим патчем не дожидаясь официального CUPS-а, но хотела бы, чтобы рано или поздно мой патч в upstream таки попал.

https://github.com/OpenPrinting/cups/pull/805#issuecomment-1778648995
---
Comment 2 Repository Robot 2023-10-30 11:42:21 MSK
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)
Comment 3 Michael Shigorin 2023-10-31 09:32:08 MSK
Спасибо!
Comment 4 Michael Shigorin 2023-11-10 19:21:36 MSK
Оттуда же:

---
JFYI

Патчик в CUPS, чинящий печать на Pantum BM5100ADW, попал в апстрим (в ветку 2.4.x, так что должен быть в след. релизе).

https://github.com/OpenPrinting/cups/pull/805
---