Несчастным обладателям принтеров 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. Думаю, это осуществимо.
Created attachment 948 [details] CAPT support Собственно, патчи.
Часто встречающиеся дешёвые лазерники Canon рискуют остаться без поддержки в дистрибутиве. Как бы собрать поддержку?
Я сейчас не успеваю добраться до Сизифa. Если кто соберёт новые пакеты для системы печати (новый gs (заготовка лежит в deadalus),printer-filter как в MDK) вместе с соотв. поддержкой - буду очень рад ;)) Только скажите мне заранее кто будет собирать пакет.
(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) все равно не печатает. как можно продиагностировать?
(In reply to comment #3) > Я сейчас не успеваю добраться до Сизифa. Я собрал, но оно работает условно. Несколько менее условно, хотя тоже так себе, работает официальный драйвер. capt-0.1-alt1 уже в Sisyphus; спеки для текущего драйвера имени Canon (прилагаю.
Created attachment 1458 [details] Canon LBP Linux driver (common) spec
Created attachment 1459 [details] Canon LBP Linux driver (CAPT) spec
PS: на мою просьбу просмотреть лицензию в legal@ никто не ответил, вопрос на info@canon.ru также остался без уточнения -- мне же лицензия кажется достаточно либеральной, чтобы в non-free кэноновский драйвер спокойно можно было поместить. Если кому ещё понадобится -- свистите.
Кстати, кэноновские есть уже 1.30 и они заметно лучше.
Ну и ладно, тогда закроем эту тему.
Кстати, у знакомого заработал 1120. Заработал после очередного обновления, без лишних телодвижений.
А как был настроен и что в `rpm -qa | grep capt`?
вот что наскреб. какую еще информацию надо? [andrew@localhost ~]$ rpm -qa | grep capt capt-0.1-alt1 canon:/dev/lp0 model canon LBP-810 capt
(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. Если тебе или ещё кому вдруг будет интересно, могу добросить заодно свои наработки, патчил там кой-чего -- вдруг ещё актуально.