Bug 7144 - FR: add Canon CAPT support
: FR: add Canon CAPT support
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/capt)
: unstable
: all Linux
: P2 major
Assigned To:
:
: http://www.boichat.ch/nicolas/capt/
:
:
: 7079
  Show dependency tree
 
Reported: 2005-06-20 00:50 by
Modified: 2006-12-25 15:41 (History)


Attachments
CAPT support (40.00 KB, application/x-tar)
2005-06-20 00:53, Grigory Batalov
no flags Details
Canon LBP Linux driver (common) spec (2.38 KB, text/plain)
2006-04-20 23:10, Michael Shigorin
no flags Details
Canon LBP Linux driver (CAPT) spec (3.94 KB, text/plain)
2006-04-20 23:11, Michael Shigorin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-06-20 00:50:28
Несчастным обладателям принтеров Canon LBP-810 и LBP-1120 было бы очень приятно
иметь поддержку этих моделей в ближайшем дистрибутиве.
Список изменений в cups сейчас приложу.
Содержание:
Драйвер capt общается напрямую с принтером через USB по закрытому протоколу.
Алгоритм работы был расшифрован Николасом Бойчатом путём анализа USB-трафика и
реализован в виде блоков характерных команд. Таким образом, драйвер хоть и не
является полной и надёжной заменой официальным драйверам, зато позволяет сносно
печатать и распространяется под GPL.
В spec-файле поддержка CAPT сделана условной и включена по умолчанию
(%def_enable). Если предлогаемые патчи покажутся недостаточно надёжными для
такого ключевого сервиса, как сервер печати, включите их хотя бы в src.rpm в
отключенном виде, чтобы желающие могли легко пакет пересобрать.
%def_enable в свою очередь добавляет к опциям сборки -DWITH_CAPT, задействуя
пропатченные места в backend/usb.c. В результате чего при печати данные
передаются не напрямую в принтер, а через канал (pipe) драйверу capt.
Сам драйвер и PPD-фильтр к принтеру LBP-810 (к LBP-1120, вероятно, он тоже
подойдёт) оформлены в отдельный пакет cups-backend-capt. Хотя он и не является
бэк-ендом в строгом смысле. Так что нежелающие его могут не ставить.
Кроме того, даже пропатченный бэк-енд usb будет печатать через capt только с
опцией UseCAPT=true. Этого можно добиться командой lpr -o UseCAPT=true filename
или sudo lpoptions -o UseCAPT printername. Во втором случае эта опция заносится
в /etc/cups/lpoptions и применяется в дальнейшем.
Итого, от инсталлятора или настройщика принтера (alterator?) требуется
установить пакет cups-backend-capt, использовать входящий в него фильтр
Canon-LBP-810-capt.ppd и прописать опцию UseCAPT=true. Думаю, это осуществимо.
------- Comment #1 From 2005-06-20 00:53:34 -------
Created an attachment (id=948) [details]
CAPT support

Собственно, патчи.
------- Comment #2 From 2005-10-11 10:26:54 -------
Часто встречающиеся дешёвые лазерники Canon рискуют остаться без поддержки в 
дистрибутиве. Как бы собрать поддержку? 
------- Comment #3 From 2005-10-11 12:17:13 -------
Я сейчас не успеваю добраться до Сизифa. Если кто соберёт новые пакеты для
системы печати (новый gs (заготовка лежит в deadalus),printer-filter как в MDK)
вместе с соотв. поддержкой - буду очень рад ;))
Только скажите мне заранее кто будет собирать пакет.
------- Comment #4 From 2005-10-26 01:22:53 -------
(In reply to comment #0)
> Несчастным обладателям принтеров Canon LBP-810 и LBP-1120 было бы очень
приятно иметь поддержку этих моделей в ближайшем дистрибутиве.
> Список изменений в cups сейчас приложу.
> Содержание:
> Драйвер capt общается напрямую с принтером через USB по закрытому протоколу.
Алгоритм работы был расшифрован Николасом Бойчатом путём анализа USB-трафика и
реализован в виде блоков характерных команд. Таким образом, драйвер хоть и не
является полной и надёжной заменой официальным драйверам, зато позволяет сносно
печатать и распространяется под GPL.
> В spec-файле поддержка CAPT сделана условной и включена по умолчанию
(%def_enable). Если предлогаемые патчи покажутся недостаточно надёжными для
такого ключевого сервиса, как сервер печати, включите их хотя бы в src.rpm в
отключенном виде, чтобы желающие могли легко пакет пересобрать.
> %def_enable в свою очередь добавляет к опциям сборки -DWITH_CAPT, задействуя
пропатченные места в backend/usb.c. В результате чего при печати данные
передаются не напрямую в принтер, а через канал (pipe) драйверу capt.
> Сам драйвер и PPD-фильтр к принтеру LBP-810 (к LBP-1120, вероятно, он тоже
подойдёт) оформлены в отдельный пакет cups-backend-capt. Хотя он и не является
бэк-ендом в строгом смысле. Так что нежелающие его могут не ставить.
> Кроме того, даже пропатченный бэк-енд usb будет печатать через capt только с
опцией UseCAPT=true. Этого можно добиться командой lpr -o UseCAPT=true filename
или sudo lpoptions -o UseCAPT printername. Во втором случае эта опция заносится
в /etc/cups/lpoptions и применяется в дальнейшем.
> Итого, от инсталлятора или настройщика принтера (alterator?) требуется
установить пакет cups-backend-capt, использовать входящий в него фильтр
Canon-LBP-810-capt.ppd и прописать опцию UseCAPT=true. Думаю, это осуществимо.

настроил все как описано здесь, однако принтер (LBP-1120) все равно не печатает.
как можно продиагностировать? 
------- Comment #5 From 2006-04-20 23:09:18 -------
(In reply to comment #3)
> Я сейчас не успеваю добраться до Сизифa.
Я собрал, но оно работает условно.  Несколько менее условно, хотя тоже так себе,
работает официальный драйвер.  capt-0.1-alt1 уже в Sisyphus; спеки для текущего
драйвера имени Canon (прилагаю.
------- Comment #6 From 2006-04-20 23:10:40 -------
Created an attachment (id=1458) [details]
Canon LBP Linux driver (common) spec
------- Comment #7 From 2006-04-20 23:11:10 -------
Created an attachment (id=1459) [details]
Canon LBP Linux driver (CAPT) spec
------- Comment #8 From 2006-04-20 23:13:15 -------
PS: на мою просьбу просмотреть лицензию в legal@ никто не ответил, вопрос на
info@canon.ru также остался без уточнения -- мне же лицензия кажется достаточно
либеральной, чтобы в non-free кэноновский драйвер спокойно можно было
поместить.

Если кому ещё понадобится -- свистите.
------- Comment #9 From 2006-12-17 23:19:31 -------
Кстати, кэноновские есть уже 1.30 и они заметно лучше.
------- Comment #10 From 2006-12-18 01:14:20 -------
Ну и ладно, тогда закроем эту тему.
------- Comment #11 From 2006-12-18 10:08:07 -------
Кстати, у знакомого заработал 1120. Заработал после очередного обновления, без
лишних телодвижений.
------- Comment #12 From 2006-12-18 14:44:42 -------
А как был настроен и что в `rpm -qa | grep capt`?
------- Comment #13 From 2006-12-25 09:21:53 -------
вот что наскреб. какую еще информацию надо?

[andrew@localhost ~]$ rpm -qa | grep capt
capt-0.1-alt1

canon:/dev/lp0
model canon LBP-810 capt
------- Comment #14 From 2006-12-25 15:41:12 -------
(In reply to comment #13)
> [andrew@localhost ~]$ rpm -qa | grep capt
> capt-0.1-alt1
Гм, странно, но повод не выкидывать. :)

Вообще у capt никак с обработкой ошибок (например, бумага закончилась).  Поэтому
лучше взять себе официальный cndrvcups-capt-1.30-1.src.rpm (и cndrvcups-common),
работает.

Я было прокопал чуточку и попытался legal@ и их подёргать насчёт пары не
окончательно понятных моментов в лицензии, но вообще-то вроде как эти драйверы
можно в Sisyphus как non-free.  Если тебе или ещё кому вдруг будет интересно,
могу добросить заодно свои наработки, патчил там кой-чего -- вдруг ещё актуально.