Ccp send data error exit

Xubuntu-ru.net Тестировалось на LBP3010. Теоретически должны работать все принтеры серии LBP начиная с LBP810 и заканчивая LBP9100. Архитектура x86 (32-бит) Устанавливаем недостающую библиотеку: Распаковываем архив с драйвером и переходим в директорию 32-bit_Driver/Debian Устанавливаем пакеты в соответствующем порядке: Название ppd для своего принтера берем отсюда: Printer Name PPD File Name LBP7200C series CNCUPSLBP7200CCAPTK.ppd LBP7200Cdn (network […]

Содержание

  1. Xubuntu-ru.net
  2. Принтер Canon LBP3000 на Ubuntu 16.04 64-bit
  3. Настройка принтера Canon LBP-810 на Ubuntu Focal Fossa 64-bit
  4. 7 комментариев на «Принтер Canon LBP3000 на Ubuntu 16.04 64-bit»

Xubuntu-ru.net

Тестировалось на LBP3010.

Теоретически должны работать все принтеры серии LBP начиная с LBP810 и заканчивая LBP9100.

Архитектура x86 (32-бит)

Устанавливаем недостающую библиотеку:

Распаковываем архив с драйвером и переходим в директорию 32-bit_Driver/Debian

Устанавливаем пакеты в соответствующем порядке:

Название ppd для своего принтера берем отсюда:

Printer Name PPD File Name

LBP7200C series CNCUPSLBP7200CCAPTK.ppd

LBP7200Cdn (network mode) CNCUPSLBP7200CCAPTK.ppd

LBP6000 LBP6018 CNCUPSLBP6018CAPTK.ppd

LBP5050 series CNCUPSLBP5050CAPTK.ppd

LBP3150 / LBP3108 / LBP3100 CNCUPSLBP3150CAPTK.ppd

LBP3100 / LBP3108 / LBP3150 CNCUPSLBP3150CAPTK.ppd

LBP3010 / LBP3018 / LBP3050 CNCUPSLBP3050CAPTK.ppd

Только для 11.10:

Закомментировать строку blacklist usblp, поставив в начале строки #

Переподключаем USB принтера;

Заходим в «Параметры системы» → «Печать»;

Жмем правой кнопкой мыши на принтере (на котором стоит зеленая галочка) и снимаем галочку «Включен»;

Жмем правой кнопкой мыши на принтере (на котором нет зеленой галочки) и выбираем «Использовать по умолчанию»;

Принтер должен работать. Пробуем.

6.Добавляем принтер в автозагрузку:

перед «exit 0» добавляем строки:

Перезагружаем пк и пробуем печать.

Архитектура x86_64 (64-бит)

2.Устанавливаем необходимые библиотеки.

Добавляем репозиторий драйвера и устанавливаем пакеты:

Заменяем precise на natty:

4.Редактируем скрипт ccpd.

Название ppd для своего принтера берем отсюда:

Printer Name PPD File Name

LBP7200C series CNCUPSLBP7200CCAPTK.ppd

LBP7200Cdn (network mode) CNCUPSLBP7200CCAPTK.ppd

LBP6000 LBP6018 CNCUPSLBP6018CAPTK.ppd

LBP5050 series CNCUPSLBP5050CAPTK.ppd

LBP3150 / LBP3108 / LBP3100 CNCUPSLBP3150CAPTK.ppd

LBP3100 / LBP3108 / LBP3150 CNCUPSLBP3150CAPTK.ppd

LBP3010 / LBP3018 / LBP3050 CNCUPSLBP3050CAPTK.ppd

Только для 11.10:

Закомментировать строку blacklist usblp, поставив в начале строки #

Переподключаем USB принтера;

Заходим в «Параметры системы» → «Печать»;

Жмем правой кнопкой мыши на принтере (на котором стоит зеленая галочка) и снимаем галочку «Включен»;

Жмем правой кнопкой мыши на принтере (на котором нет зеленой галочки) и выбираем «Использовать по умолчанию»;

Принтер должен работать. Пробуем.

8.Добавляем принтер в автозагрузку:

перед «exit 0» добавляем строки:

Перезагружаем пк и пробуем печать.

Решение проблемы : «Простаивает – ccp send_data error, exit»

Перезагружаем пк и пробуем печать.

Данное руководство описывает подключение принтера Canon LBP-810, однако по заверениям Canon, он также работает с LBP3010/LBP3018/LBP3050, LBP3100/LBP3108/LBP3150, LBP3250, LBP3310, LBP5100, LBP5300, LBP3500, LBP3300, LBP5000, LBP3210, LBP3000, LBP2900, LBP3200, LBP-1120, LBP-1210.

Краткое описание работы

Суть работы драйвера такова – программа печатает не в порт USB, куда подключен принтер, а в очередь /var/ccpd/fifo0, а оттуда демон ccpd отправляет уже на принтер – в USB. Нам нужно указать серверу печати модель принтера, и что печатать нужно в /var/ccpd/fifo0, а демону принтера – порт принтера /dev/usblp0.

Лицензия не свободная, поэтому в дистрибутив драйвер добавлен быть не может.

Переходим в каталог с деб-файлами

Для обладателей 64-битных машин

Перегружаем CUPS(Common Unix Printing Service) – сервер печати

Регистрируем принтер (если у Вас другая модель – поменяйте цифры)

Регистрируем принтер в демоне ccpd (если у Вас другая модель – поменяйте цифры)

Снова перезагружаем демон

Добавляем правило для включения/выключения драйвера при включении/выключении принтера

Если у Вас более одного USB-принтера, не стоит выключать второй пока печатает Canon.

Еще можно увидеть окно статуса принтера, он пишет там, когда бумага закончилась,
так

Источник

Принтер Canon LBP3000 на Ubuntu 16.04 64-bit

Есть у меня в загашнике, помимо струйного, ещё и старый чёрно-белый лазерный принтер Canon i-SENSYS LBP3000. Чтобы он работал в Linux’е, необходим драйвер Canon CAPT Driver, установка которого (по крайней мере, на 64-разрядной системе) имеет, скажем так, некоторые особенности, увы, не задокументированные вендором надлежащим образом. Дабы избегать каждый раз долгой возни с установкой и прыганий по граблям, решил записать тут для себя работоспособную инструкцию, прям по горячим следам. Может, ещё кому сгодится. 😺

Разумеется, в интернете можно найти кучу инструкций, как можно завести этот драйвер под различные версии ОС Ubuntu (в т.ч. и более старые), существуют даже какие-то пользовательские скрипты и т.п. — но во-первых, проверять их все просто нет времени и смысла, в во-вторых, у меня тут гарантированно работоспособный вариант для моей системы, с официальным драйвером Canon и безо всяких левых скриптов, притом с минимальным количеством «танцев с бубном» в принципе. 😺

И конечно, этот драйвер (ну, в теории 😺) подойдёт не только для принтера LBP3000, но и для других моделей этого ряда (типа LBP1120, LBP1210, LBP2900, LBP3050, LBP3150, LBP3200, LBP3210, LBP3300, LBP3310, LBP3500 и т.д. и т.д. — а также для LBP-810, см. update внизу поста)

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=»Ubuntu 16.04.4 LTS»

Linux *** 4.9.89-040989-lowlatency #201803220931 SMP PREEMPT Thu Mar 22 09:35:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

На самом деле, у меня Lubuntu 16.04.4 LTS 64-bit — не самая свежая версия, но ждём релиз 18.04 LTS 😺

I. Заходим и выкачиваем драйвер с официального сайта Canon, только с азиатского подразделения: http://support-asia.canon-asia.com. Почему именно отсюда? А по старой памяти: когда-то там вроде бы была размещена более свежая версия драйвера для этой линейки принтеров, нежели та, что лежала на европейских сайтах; как с этим сейчас, не знаю, но на всякий случай качаем оттуда, чтобы время не терять. 😺


Принтер выглядит как-то так. Картинка — из интернета

Проходимся по менюшкам и выбираем нужный принтер; нас интересует опция драйверов для Linux-x64. Как видим, наиболее свежая на данный момент версия драйвера: 2.71. Соглашаемся с текстом лицензионного соглашения, выкачиваем.

Сам файл называется linux-capt-drv-v271-uken.tar.gz; довольно увесистый (ок. 128 Mb), там содержится комплект и для 32-х разрядной версии в т.ч. — всё скопом, в общем.

II. Оттуда, из папки 64-bit_Driver/Debian, распаковываем отдельно куда-нибудь два deb-пакета: cndrvcups-common_3.21-1_amd64.deb и cndrvcups-capt_2.71-1_amd64.deb.

Далее устанавливаем их оба:

Всё, больше из скаченного архива linux-capt-drv-v271-uken.tar.gz ничего не нужно. Разработчики положили туда ещё мануал в формате html — в принципе, юзабельный, но там некоторые важные нюансы, без которых принтер попросту не заведётся, не описаны.

Так вот, у меня оба пакета встали сразу и без ошибок, ничего дополнительно доставлять не потребовалось.

III. После чего — перезапускаем службу печати cups:

$ sudo systemctl stop cups

$ sudo systemctl start cups

Далее, регистрируем принтер:

$ sudo /usr/sbin/lpadmin -p LBP3000 -P /usr/share/cups/model/CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59687 -E

Конкретно для моего принтера требуется файл CNCUPSLBP3000CAPTK.ppd — а так, прежде чем выполнять команду, список всех доступных моделей смотрим вот тут:

Зарегистрировали — проверяем наличие файла LBP3000.ppd в нужной папке с прочими принтерами:

Если он там появился, всё ок.

IV. Далее подсоединяем usb-кабель и включаем принтер. Проверяем наличие замонтированного в /dev/usb необходимого девайсового файла принтера lp0:

Регистрируем принтер Canon’овской утилитой ccpdadmin:

$ sudo /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp0

В выхлопе должно быть что-то типа такого:

CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0] : LBP3000 : ccp : //localhost:59687 : /dev/usb/lp0 : New!!

Видно, что наш принтер Canon’овская утилита подцепила успешно.

Далее стартуем Canon’овский процесс(-ы) ccpd:

$ sudo /etc/init.d/ccpd start

Да, при установке драйверов скрипт управления этим демоном добавляется в init.d — а ежели надо, чтобы оно запускалось при автозагрузке, нужно писать собственную службу в systemd. Есть ещё вариант стартовать через udev при подключении принтера. Как это всё красиво организовать, можно посмотреть в интернете — мне же всё это не особо требуется, потому как принтер используется чисто «по требованию», в качестве резервного раз в полгода. 😺

Так вот, по выполнении:

— мы должны увидеть два запущенных процесса ccpd, наподобие:

1 S 0 14841 1 0 80 0 — 38785 — ? 00:00:00 ccpd
1 S 0 14842 14841 0 80 0 — 20618 — ? 00:00:11 ccpd

( кстати, для ручного перезапуска ccpd использую:

$ sudo killall ccpd

$ sudo /etc/init.d/ccpd start

Так вот, убеждаемся, что cups и два процесса ccpd запущены.

V. Ну всё, казалось бы, можно открывать нужный файл (какой-нибудь, скажем, PDF’ник с билетом или талоном к врачу), жать Ctrl+P, выбрать принтер LBP3000 из списка и печатать… Как бы не так! 😈 При отправке на печать ничего вразумительного не происходит, а напротив статуса принтера висит крамольное ccp send_data error, exit.

А это потому, оказывается, что для работы 64-разрядного драйвера необходимы некоторые 32-разрядные библиотеки! И об этом в инструкции Canon — ни звука! 😺

Что ж, доставляем нужные пакеты:

$ sudo apt-get install libatk1.0-0:i386 libcairo2:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libstdc++6:i386 libxml2:i386 libpopt0:i386

Список взял у французов, слава им. 😺 Впрочем, у меня некоторые пакеты уже были установлены, но не все.

После — грохаем ccpd:

Тормозим и включаем назад cups:

$ sudo systemctl stop cups

$ sudo systemctl start cups

Запускаем снова ccpd:

$ sudo /etc/init.d/ccpd start

На всякий случай убеждаемся, что оба процесса ccpd на месте:

Опционально — включаем/выключаем сам принтер, но по-моему, этого не делал.

Voilà, после всех этих манипуляций принтер весело зашуршал и распечатал мне талончик, снова затем отправившись пылиться на дальнюю полку. 😺

P.S. 1. Периодически в окне печати, напротив принтера, может мелькать «ccp send_data error, exit», но на деле принтер всё равно печатает.

2. Если в логах по-прежнему «ccp send_data error, exit», а очередь печати предательски зависла на статусе «Processing» и ничего не происходит, проверяем через Canon’овскую консоль ошибок:

$ captstatusui -P LBP3000

Как видно, на этом принтере случилось что-то с датчиком бумаги — сам же драйвер не при чём! Стоило пошевелить лоток — и печать запустилась.

3. Бывает, зависают (остаются в памяти), дублируются и не дают печатать canon’овские процессы captmon, captmon2, captfilter — перед очередным запуском ccpd их следует прихлопнуть вручную, иногда может потребоваться параметр -9. Но это редкий случай — в основном, прихлопывание ccpd тянет по цепочке остальное.

Настройка принтера Canon LBP-810 на Ubuntu Focal Fossa 64-bit

Точно таким же способом можно настроить и принтер Canon LBP-810 — чего буквально только что, собственно, и добился. На сей раз для разнообразия решил действовать, правда, чуть по-другому.

Драйвер capt (абсолютно тот же самый, не апгрейдил) уже стоит в системе, так что скачивать и дополнительно устанавливать не придётся. Кстати, операционная система уже чуть посвежей 🙂:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION=»Ubuntu 20.04.3 LTS«

Тоже 64-bit, разумеется. При этом помянутые в посте необходимые 32-битные библиотеки стоят.

При подключении принтера через usb-шнур внезапно появляется окошко с уведомлением об обнаружении нового принтера. Притом модель отображается верная:

Что ж. Может, и правда в системе появился новый инструментарий, и настроить принтер теперь легко можно через gui (спойлер: не совсем 🙂)? Любопытство взяло верх, и я нажал на «Search».

Далее я решил выбрать опцию «предоставить PPD-файл», потому что заранее ясно, что в системе он уже должен быть (тем более, canon’овский драйвер-то установлен).

Один нюанс: для Canon LBP 810 файл называется CNCUPSLBP1120CAPTK.ppd. Путь к файлу: /usr/share/cups/model. Название для принтера я выбрал «Canon-LBP810-CAPT-English».

Однако через этот диалог я не нашёл опции указать соединение через порт 59687, как требуется для корректной работы через Canon’овский драйвер. Поэтому далее решил отредактировать настройки принтера через стандартный интерфейс CUPS. Достучаться дотуда можно прямо в браузере, по адресу http://127.0.0.1:631

Нужный принтер оказался первый в списке:

Выбираем «Редактировать», далее отмечаем «CAPT Printer»:

Тут уже можно руками вбить нужное нам соединение: ccp://localhost:59687

Вроде всё. Но что интересно, при переподключении usb-шнура всё равно каждый раз выскакивает уведомление об обнаружении нового принтера, будто и настроек никаких не делали. Его можно благополучно игнорировать, однако всё равно странно 🙂 (upd — а можно, пройдясь по диалогу по нажатии Search, выбрать предложенный стандартный драйвер и повесить т.о. левый принтер на этот Device URI)

Подчеркну, всего вышеперечисленного можно не делать, вместо чего попытаться зарегистрировать принтер напрямую через командную строку с помощью стандартной утилиты lpadmin, как указано в п. III поста.

Далее по описанному в посте алгоритму регистрируем принтер Canon’овской утилитой:

$ sudo ccpdadmin -p Canon-LBP810-CAPT-English -o /dev/usb/lp0

UPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0] : LBP3000 : ccp : //localhost:59687 : /dev/usb/lp0 :
[1] : Canon-LBP810-CAPT-English : ccp : //localhost:59687 : /dev/usb/lp0 : New!!

Т.е. на одном и том же порту (FIFO path) сидят два принтера. И после старта ccpd процессов возникает не два, как положено, а три. В принципе, принтер печатает, но крайне нестабильно, приходится часто перезапускать ccpd и cups.

Так что следы принтера LBP-3000 надо бы вычистить; тем паче, у меня его больше нет 🙂:

$ sudo ccpdadmin -x LBP3000

Итого, остался только желаемый LBP-810:

UPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0] : Canon-LBP810-CAPT-English : ccp : //localhost:59687 : /dev/usb/lp0 :

Внимание! Администрация сайта adlersky.top не имеет отношения и не несёт никакой ответственности за публикуемые ниже, т.е. под оригинальными записями и внизу страниц сайта, комментарии, не отвечает за их содержание. Все права на комментарии (и всё бремя ответственности за публикацию) принадлежат их авторам.

7 комментариев на «Принтер Canon LBP3000 на Ubuntu 16.04 64-bit»

Испробовал Ваш способ.К сожалению-не не помог.Принтер не печатает…В чем причина-не могу понять, хотя все, что вы писали, я чётко получал на экране.Без ошибок.

А драйверы новые ставили с сайта Canon?

Скорее всего принтер сел не на lp0.
Включив принтер сперва посмотрите куда он сел: ls /dev/usb
У меня два принтера: Canon LBP-1120 и Canon LBP-810. Если их включить в такой последовательности как я их написал то Canon LBP-1120 встает на lp1 а Canon LBP-810 на lp2. Соответственно в стороке:

$ sudo /usr/sbin/ccpdadmin -p LBPваш_принтер -o /dev/usb/lp(нужно указать верный)
У меня сейчас другая проблема. Если принтеры включены до загрузки системы то они так же встают как положено Canon LBP-1120 встает на lp1 а Canon LBP-810 на lp2. Но если например загрузить систему без включенных принтеров а потом захочется напечатать на Canon LBP-810 и включить его не включая Canon LBP-1120 он встает на место Canon LBP-1120 на lp1. И как это побороть я пока не пойму.

Пробовал подключать вместо /dev/usb/lp1 или /dev/usb/lp2 как: /dev/lp/by-id/usb-Canon_Canon_CAPT_USB_Device_(здесь то что записано в ATTRS==).

Сейчас у меня так:

Usage:
ccpdadmin [-p Printer-name -o Printer-dev-path]
ccpdadmin [-x Remove-Printer-name]

CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0 ] : Canon-LBP-1120 : ccp : //localhost:59687 : /dev/lp/by-id/usb-Canon_Canon_CAPT_USB_Device_5818R3 :
[1 ] : Canon-LBP-810 : ccp : //localhost:59687 : /dev/lp/by-id/usb-Canon_Canon_CAPT_USB_Device_60183EF7

Все равно если принтеры включены в другой последовательности система их путает.

$ sudo /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp1
вот так заработало

Источник

Из старых моих заметок, может что пригодиться, но это не точная инструкция, нужно понимать, что делаешь.

$ su —

Временные файлы удобней разместить в директории /tmp (или другой, если Вы думаете что они Вам понадобятся после):

# cd /tmp

Итак, скачиваем:

# wget http://files.canon-europe.com/files/soft39340/software/CAPT_Printer_Driver_for_Linux_V220_uk_EN.tar.gz

Распаковываем:

# tar -xvf CAPT_Printer_Driver_for_Linux_V220_uk_EN.tar.gz

Ставим драйвера из пакета CAPT (Canon Advanced Printing Technology):

# cd Canon/CAPT_Printer_Driver_for_Linux_V220_uk_EN/64-bit_Driver/RPM
# rpm -ivh cndrvcups-common-2.20-1.x86_64.rpm cndrvcups-capt-2.20-1.x86_64.rpm

Необходимо прогарантировать создание структур пакета CAPT и выставление верных прав доступа к файлам:

# mkdir /var/ccpd
# mkfifo /var/ccpd/fifo0
# chmod 777 /var/ccpd/fifo0
# chown root:root /var/ccpd/fifo0
# chmod -R a+rx /usr/share/cups/model
# lsusb

Bus 003 Device 002: ID 12d1:1436 Huawei Technologies Co., Ltd. Broadband stick
Bus 003 Device 003: ID 09da:000a A4Tech Co., Ltd. Optical Mouse Opto 510D / OP-620D
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 0bc2:2300 Seagate RSS LLC Expansion Portable
Bus 007 Device 003: ID 04a9:266a Canon, Inc. CAPT Device

Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Теперь, в файле /etc/udev/rules.d/50-udev.rules прописываем:

KERNEL==»lp*», SUBSYSTEMS==»usb», ACTION==»add», SYSFS{idVendor}==»04a9″, RUN+=»/bin/bash /etc/init.d/ccpd start»
KERNEL==»lp*», SUBSYSTEMS==»usb», ACTION==»remove», RUN+=»/bin/bash /etc/init.d/ccpd stop»

На редактирование этот файл вызывает командой:

# pluma /etc/udev/rules.d/50-udev.rules

Если мы этого не сделаем, то заработавший принтер «потеряется» после перезагрузки компьютера

Перезапускаем службу CUPS:

# /etc/init.d/cups restart

Загружаем модуль
# modprobe usblp
Проверяем наличие устройства /dev/usb/lp0
# ls /dev/usb/lp0

/dev/usb/lp0 В файле /etc/modprobe.d/blacklist-cups.conf коментируем ‘#’ строчку
# blacklist usblp

# lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

И наконец, добавляем принтер в CUPS:

# ccpdadmin -p LBP3000 -o /dev/usb/lp0

CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num  : Spooler   : Backend  : FIFO path   : Device Path  : Status
----------------------------------------------------------------------------
[0]   : LBP3000   : ccp   : /var/ccpd/fifo0  : /dev/usb/lp0 : New!!


Принтер добавлен. Запускаем демона от Canon — ccpd:

# /etc/init.d/ccpd start

Starting /usr/sbin/ccpd:                                   [  OK  ]

Теперь запустим GUI монитора печати для принтеров Canon:

# captstatusui -P LBP3000

Монитор соединится с принтером и покажет его состояние. Если соединение прошло неуспешно — выключите и включите питание принтера.

Осталось добавить демона ccpd в автозагрузку:

# ln -s /etc/init.d/ccpd /etc/rc5.d/S99ccpd
или SYSTEMD
# systemctl enable ccpd

Если Вам не нравится этот способ, можно вместо этого прописать инструкцию

/etc/init.d/ccpd start

в файл /etc/rc.d/rc.local вызвав его на редактирование командой:

# pluma /etc/rc.d/rc.local

результат будет тот же

Есть у меня в загашнике, помимо струйного, ещё и старый чёрно-белый лазерный принтер Canon i-SENSYS LBP3000. Чтобы он работал в Linux’е, необходим драйвер Canon CAPT Driver, установка которого (по крайней мере, на 64-разрядной системе) имеет, скажем так, некоторые особенности, увы, не задокументированные вендором надлежащим образом. Дабы избегать каждый раз долгой возни с установкой и прыганий по граблям, решил записать тут для себя работоспособную инструкцию, прям по горячим следам. Может, ещё кому сгодится. 😺

Разумеется, в интернете можно найти кучу инструкций, как можно завести этот драйвер под различные версии ОС Ubuntu (в т.ч. и более старые), существуют даже какие-то пользовательские скрипты и т.п. — но во-первых, проверять их все просто нет времени и смысла, в во-вторых, у меня тут гарантированно работоспособный вариант для моей системы, с официальным драйвером Canon и безо всяких левых скриптов, притом с минимальным количеством «танцев с бубном» в принципе. 😺

И конечно, этот драйвер (ну, в теории 😺) подойдёт не только для принтера LBP3000, но и для других моделей этого ряда (типа LBP1120, LBP1210, LBP2900, LBP3050, LBP3150, LBP3200, LBP3210, LBP3300, LBP3310, LBP3500 и т.д. и т.д. — а также для LBP-810, см. update внизу поста)

Итак, моя ОС:

~$ cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=»Ubuntu 16.04.4 LTS»

~$ uname -a

Linux *** 4.9.89-040989-lowlatency #201803220931 SMP PREEMPT Thu Mar 22 09:35:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

На самом деле, у меня Lubuntu 16.04.4 LTS 64-bit — не самая свежая версия, но ждём релиз 18.04 LTS 😺

* * *

I. Заходим и выкачиваем драйвер с официального сайта Canon, только с азиатского подразделения: http://support-asia.canon-asia.com. Почему именно отсюда? А по старой памяти: когда-то там вроде бы была размещена более свежая версия драйвера для этой линейки принтеров, нежели та, что лежала на европейских сайтах; как с этим сейчас, не знаю, но на всякий случай качаем оттуда, чтобы время не терять. 😺


Принтер выглядит как-то так. Картинка — из интернета

Проходимся по менюшкам и выбираем нужный принтер; нас интересует опция драйверов для Linux-x64. Как видим, наиболее свежая на данный момент версия драйвера: 2.71. Соглашаемся с текстом лицензионного соглашения, выкачиваем.

Сам файл называется linux-capt-drv-v271-uken.tar.gz; довольно увесистый (ок. 128 Mb), там содержится комплект и для 32-х разрядной версии в т.ч. — всё скопом, в общем.

II. Оттуда, из папки 64-bit_Driver/Debian, распаковываем отдельно куда-нибудь два deb-пакета: cndrvcups-common_3.21-1_amd64.deb и cndrvcups-capt_2.71-1_amd64.deb.

Далее устанавливаем их оба:

~$ sudo dpkg -i ~/path-to-that/*.deb

Всё, больше из скаченного архива linux-capt-drv-v271-uken.tar.gz ничего не нужно. Разработчики положили туда ещё мануал в формате html — в принципе, юзабельный, но там некоторые важные нюансы, без которых принтер попросту не заведётся, не описаны.

Так вот, у меня оба пакета встали сразу и без ошибок, ничего дополнительно доставлять не потребовалось.

III. После чего — перезапускаем службу печати cups:

~$ sudo systemctl stop cups
~$ sudo systemctl start cups

Далее, регистрируем принтер:

~$ sudo /usr/sbin/lpadmin -p LBP3000 -P /usr/share/cups/model/CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59687 -E

Конкретно для моего принтера требуется файл CNCUPSLBP3000CAPTK.ppd — а так, прежде чем выполнять команду, список всех доступных моделей смотрим вот тут:

~$ ls /usr/share/cups/model

Зарегистрировали — проверяем наличие файла LBP3000.ppd в нужной папке с прочими принтерами:

~$ ls /etc/cups/ppd

Если он там появился, всё ок.

IV. Далее подсоединяем usb-кабель и включаем принтер. Проверяем наличие замонтированного в /dev/usb необходимого девайсового файла принтера lp0:

~$ ls -al /dev/usb/lp0

Регистрируем принтер Canon’овской утилитой ccpdadmin:

~$ sudo /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp0

В выхлопе должно быть что-то типа такого:

CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0] : LBP3000 : ccp : //localhost:59687 : /dev/usb/lp0 : New!!

Видно, что наш принтер Canon’овская утилита подцепила успешно.

Далее стартуем Canon’овский процесс(-ы) ccpd:

~$ sudo /etc/init.d/ccpd start

Да, при установке драйверов скрипт управления этим демоном добавляется в init.d — а ежели надо, чтобы оно запускалось при автозагрузке, нужно писать собственную службу в systemd. Есть ещё вариант стартовать через udev при подключении принтера. Как это всё красиво организовать, можно посмотреть в интернете — мне же всё это не особо требуется, потому как принтер используется чисто «по требованию», в качестве резервного раз в полгода. 😺

Так вот, по выполнении:

~$ ps -ale | grep ccpd

— мы должны увидеть два запущенных процесса ccpd, наподобие:

1 S 0 14841 1 0 80 0 — 38785 — ? 00:00:00 ccpd
1 S 0 14842 14841 0 80 0 — 20618 — ? 00:00:11 ccpd

( кстати, для ручного перезапуска ccpd использую:

~$ sudo killall ccpd
~$ sudo /etc/init.d/ccpd start

)

Так вот, убеждаемся, что cups и два процесса ccpd запущены.

V. Ну всё, казалось бы, можно открывать нужный файл (какой-нибудь, скажем, PDF’ник с билетом или талоном к врачу), жать Ctrl+P, выбрать принтер LBP3000 из списка и печатать… Как бы не так! 😈 При отправке на печать ничего вразумительного не происходит, а напротив статуса принтера висит крамольное ccp send_data error, exit.

А это потому, оказывается, что для работы 64-разрядного драйвера необходимы некоторые 32-разрядные библиотеки! И об этом в инструкции Canon — ни звука! 😺

Что ж, доставляем нужные пакеты:

~$ sudo apt-get install libatk1.0-0:i386 libcairo2:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libstdc++6:i386 libxml2:i386 libpopt0:i386

Список взял у французов, слава им. 😺 Впрочем, у меня некоторые пакеты уже были установлены, но не все.

После — грохаем ccpd:

~$ sudo killall ccpd

Тормозим и включаем назад cups:

~$ sudo systemctl stop cups
~$ sudo systemctl start cups

Запускаем снова ccpd:

~$ sudo /etc/init.d/ccpd start

На всякий случай убеждаемся, что оба процесса ccpd на месте:

~$ ps -ale | grep ccpd

Опционально — включаем/выключаем сам принтер, но по-моему, этого не делал.

Voilà, после всех этих манипуляций принтер весело зашуршал и распечатал мне талончик, снова затем отправившись пылиться на дальнюю полку. 😺

P.S. 1. Периодически в окне печати, напротив принтера, может мелькать «ccp send_data error, exit», но на деле принтер всё равно печатает.

2. Если в логах по-прежнему «ccp send_data error, exit», а очередь печати предательски зависла на статусе «Processing» и ничего не происходит, проверяем через Canon’овскую консоль ошибок:

~$ captstatusui -P LBP3000

Как видно, на этом принтере случилось что-то с датчиком бумаги — сам же драйвер не при чём! Стоило пошевелить лоток — и печать запустилась.

3. Бывает, зависают (остаются в памяти), дублируются и не дают печатать canon’овские процессы captmon, captmon2, captfilter — перед очередным запуском ccpd их следует прихлопнуть вручную, иногда может потребоваться параметр -9. Но это редкий случай — в основном, прихлопывание ccpd тянет по цепочке остальное.

{update 23/10/2021}

Настройка принтера Canon LBP-810 на Ubuntu Focal Fossa 64-bit

Точно таким же способом можно настроить и принтер Canon LBP-810 — чего буквально только что, собственно, и добился. На сей раз для разнообразия решил действовать, правда, чуть по-другому.

Драйвер capt (абсолютно тот же самый, не апгрейдил) уже стоит в системе, так что скачивать и дополнительно устанавливать не придётся. Кстати, операционная система уже чуть посвежей 🙂:

~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"

Тоже 64-bit, разумеется. При этом помянутые в посте необходимые 32-битные библиотеки стоят.

При подключении принтера через usb-шнур внезапно появляется окошко с уведомлением об обнаружении нового принтера. Притом модель отображается верная:

Что ж. Может, и правда в системе появился новый инструментарий, и настроить принтер теперь легко можно через gui (спойлер: не совсем 🙂)? Любопытство взяло верх, и я нажал на «Search».

Далее я решил выбрать опцию «предоставить PPD-файл», потому что заранее ясно, что в системе он уже должен быть (тем более, canon’овский драйвер-то установлен).

Один нюанс: для Canon LBP 810 файл называется CNCUPSLBP1120CAPTK.ppd. Путь к файлу: /usr/share/cups/model. Название для принтера я выбрал «Canon-LBP810-CAPT-English».

Однако через этот диалог я не нашёл опции указать соединение через порт 59687, как требуется для корректной работы через Canon’овский драйвер. Поэтому далее решил отредактировать настройки принтера через стандартный интерфейс CUPS. Достучаться дотуда можно прямо в браузере, по адресу http://127.0.0.1:631

Нужный принтер оказался первый в списке:

Выбираем «Редактировать», далее отмечаем «CAPT Printer»:

Тут уже можно руками вбить нужное нам соединение: ccp://localhost:59687

Вроде всё. Но что интересно, при переподключении usb-шнура всё равно каждый раз выскакивает уведомление об обнаружении нового принтера, будто и настроек никаких не делали. Его можно благополучно игнорировать, однако всё равно странно 🙂 (upd — а можно, пройдясь по диалогу по нажатии Search, выбрать предложенный стандартный драйвер и повесить т.о. левый принтер на этот Device URI)

Подчеркну, всего вышеперечисленного можно не делать, вместо чего попытаться зарегистрировать принтер напрямую через командную строку с помощью стандартной утилиты lpadmin, как указано в п. III поста.

Далее по описанному в посте алгоритму регистрируем принтер Canon’овской утилитой:

~$ sudo ccpdadmin -p Canon-LBP810-CAPT-English -o /dev/usb/lp0

Получаем:

UPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : LBP3000 : ccp : //localhost:59687 : /dev/usb/lp0 :
[1] : Canon-LBP810-CAPT-English : ccp : //localhost:59687 : /dev/usb/lp0 : New!!

Т.е. на одном и том же порту (FIFO path) сидят два принтера. И после старта ccpd процессов возникает не два, как положено, а три. В принципе, принтер печатает, но крайне нестабильно, приходится часто перезапускать ccpd и cups.

Так что следы принтера LBP-3000 надо бы вычистить; тем паче, у меня его больше нет 🙂:

~$ sudo ccpdadmin -x LBP3000

Итого, остался только желаемый LBP-810:

UPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : Canon-LBP810-CAPT-English : ccp : //localhost:59687 : /dev/usb/lp0 :

Установка принтеров Canon семейства CAPT

Тестировалось на LBP3010.

Теоретически должны работать все принтеры серии LBP начиная с LBP810 и заканчивая LBP9100.

Архитектура x86 (32-бит)

1.Включаем принтер

2.Устанавливаем драйвер: Linux CAPT Printer Driver v2.40

Устанавливаем недостающую библиотеку:

sudo apt-get install libglade2-0

Распаковываем архив с драйвером и переходим в директорию 32-bit_Driver/Debian

Устанавливаем пакеты в соответствующем порядке:

cndrvcups-common_2.40-1_i386.deb

cndrvcups-capt_2.40-1_i386.deb

3.Регистрируем принтер:

Название ppd для своего принтера берем отсюда:

Printer Name PPD File Name

LBP9100C CNCUPSLBP9100CCAPTK.ppd

LBP7200C series CNCUPSLBP7200CCAPTK.ppd

LBP7200Cdn (network mode) CNCUPSLBP7200CCAPTK.ppd

LBP6300 CNCUPSLBP6300CAPTK.ppd

LBP6200 CNCUPSLBP6200CAPTK.ppd

LBP6000 LBP6018 CNCUPSLBP6018CAPTK.ppd

LBP5300 CNCUPSLBP5300CAPTK.ppd

LBP5100 CNCUPSLBP5100CAPTK.ppd

LBP5050 series CNCUPSLBP5050CAPTK.ppd

LBP5000 CNCUPSLBP5000CAPTK.ppd

LBP3500 CNCUPSLBP3500CAPTK.ppd

LBP3310 CNCUPSLBP3310CAPTK.ppd

LBP3300 CNCUPSLBP3300CAPTK.ppd

LBP3250 CNCUPSLBP3250CAPTK.ppd

LBP3210 CNCUPSLBP3210CAPTK.ppd

LBP3200 CNCUPSLBP3200CAPTK.ppd

LBP3150 / LBP3108 / LBP3100 CNCUPSLBP3150CAPTK.ppd

LBP3100 / LBP3108 / LBP3150 CNCUPSLBP3150CAPTK.ppd

LBP3010 / LBP3018 / LBP3050 CNCUPSLBP3050CAPTK.ppd

LBP3000 CNCUPSLBP3000CAPTK.ppd

LBP2900 CNCUPSLBP2900CAPTK.ppd

LBP-1210 CNCUPSLBP1210CAPTK.ppd

LBP-1120 CNCUPSLBP1120CAPTK.ppd

LBP-810 CNCUPSLBP1120CAPTK.ppd

================================= =================================

sudo /usr/sbin/lpadmin -p LBP**** -m CNCUPSLBP****CAPTK.ppd -v ccp:/localhost:59787 -E
sudo /usr/sbin/ccpdadmin -p LBP**** -o /dev/usb/lp0

Только для 11.10:

sudo gedit /etc/modprobe.d/blacklist-cups-usblp.conf

Закомментировать строку blacklist usblp, поставив в начале строки #

modprobe usblp

4.Перезагружаем ccpd:

sudo /etc/init.d/ccpd restart

5.Завершаем настройку:

Переподключаем USB принтера;

Заходим в «Параметры системы» → «Печать»;

Жмем правой кнопкой мыши на принтере (на котором стоит зеленая галочка) и снимаем галочку «Включен»;

Жмем правой кнопкой мыши на принтере (на котором нет зеленой галочки) и выбираем «Использовать по умолчанию»;

Принтер должен работать. Пробуем.

6.Добавляем принтер в автозагрузку:

sudo update-rc.d ccpd defaults 20
sudo gedit /etc/rc.local

перед «exit 0» добавляем строки:

/etc/init.d/ccpd start /etc/init.d/ccpd restart

Перезагружаем пк и пробуем печать.

Архитектура x86_64 (64-бит)

1.Включаем принтер

2.Устанавливаем необходимые библиотеки.

sudo apt-get install ia32-libs

3.Устанавливаем драйвер:

Добавляем репозиторий драйвера и устанавливаем пакеты:

sudo add-apt-repository ppa:michael-gruz/canon

Заменяем precise на natty:

sudo gedit /etc/apt/sources.list.d/michael-gruz-canon-precise.list
sudo apt-get update
sudo apt-get install cndrvcups-common
sudo apt-get install cndrvcups-capt

4.Редактируем скрипт ccpd.

sudo gedit /etc/init.d/ccpd
### BEGIN INIT INFO # Provides: ccpd # Required-Start: $local_fs $remote_fs $syslog $network $named # Should-Start: $ALL # Required-Stop: $syslog $remote_fs # Default-Start: 2 3 # Default-Stop: 0 1 4 5 6 # Description: Start Canon Printer Daemon for CUPS ### END INIT INFO DAEMON=/usr/sbin/ccpd LOCKFILE=/var/lock/subsys/ccpd PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=ccpd DESC="Canon Printer Daemon for CUPS" test -f $DAEMON || exit 0 . /lib/lsb/init-functions case $1 in start) log_begin_msg "Starting $DESC: $NAME" start-stop-daemon --start --quiet --exec $DAEMON log_end_msg $? ;; stop) log_begin_msg "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON log_end_msg $? ;; status) echo "$DESC: $NAME:" `pidof $NAME` ;; restart) log_begin_msg "Restarting $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --exec $DAEMON log_end_msg $? ;; *) echo "Usage: ccpd {start|stop|restart|status}" exit 1 ;; esac exit 0
sudo /etc/init.d/ccpd restart

5.Регистрируем принтер:

Название ppd для своего принтера берем отсюда:

Printer Name PPD File Name

LBP9100C CNCUPSLBP9100CCAPTK.ppd

LBP7200C series CNCUPSLBP7200CCAPTK.ppd

LBP7200Cdn (network mode) CNCUPSLBP7200CCAPTK.ppd

LBP6300 CNCUPSLBP6300CAPTK.ppd

LBP6200 CNCUPSLBP6200CAPTK.ppd

LBP6000 LBP6018 CNCUPSLBP6018CAPTK.ppd

LBP5300 CNCUPSLBP5300CAPTK.ppd

LBP5100 CNCUPSLBP5100CAPTK.ppd

LBP5050 series CNCUPSLBP5050CAPTK.ppd

LBP5000 CNCUPSLBP5000CAPTK.ppd

LBP3500 CNCUPSLBP3500CAPTK.ppd

LBP3310 CNCUPSLBP3310CAPTK.ppd

LBP3300 CNCUPSLBP3300CAPTK.ppd

LBP3250 CNCUPSLBP3250CAPTK.ppd

LBP3210 CNCUPSLBP3210CAPTK.ppd

LBP3200 CNCUPSLBP3200CAPTK.ppd

LBP3150 / LBP3108 / LBP3100 CNCUPSLBP3150CAPTK.ppd

LBP3100 / LBP3108 / LBP3150 CNCUPSLBP3150CAPTK.ppd

LBP3010 / LBP3018 / LBP3050 CNCUPSLBP3050CAPTK.ppd

LBP3000 CNCUPSLBP3000CAPTK.ppd

LBP2900 CNCUPSLBP2900CAPTK.ppd

LBP-1210 CNCUPSLBP1210CAPTK.ppd

LBP-1120 CNCUPSLBP1120CAPTK.ppd

LBP-810 CNCUPSLBP1120CAPTK.ppd

================================= =================================

sudo /usr/sbin/lpadmin -p LBP**** -m CNCUPSLBP****CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo chown -R lp:lp /var/ccpd
sudo /usr/sbin/ccpdadmin -p LBP**** -o /dev/usb/lp0

Только для 11.10:

sudo gedit /etc/modprobe.d/blacklist-cups-usblp.conf

Закомментировать строку blacklist usblp, поставив в начале строки #

modprobe usblp

6.Перезагружаем ccpd:

sudo /etc/init.d/ccpd restart

7.Завершаем настройку:

Переподключаем USB принтера;

Заходим в «Параметры системы» → «Печать»;

Жмем правой кнопкой мыши на принтере (на котором стоит зеленая галочка) и снимаем галочку «Включен»;

Жмем правой кнопкой мыши на принтере (на котором нет зеленой галочки) и выбираем «Использовать по умолчанию»;

Принтер должен работать. Пробуем.

8.Добавляем принтер в автозагрузку:

sudo update-rc.d ccpd defaults 20
sudo gedit /etc/rc.local

перед «exit 0» добавляем строки:

/etc/init.d/ccpd start /etc/init.d/ccpd restart

Перезагружаем пк и пробуем печать.

Решение проблемы : «Простаивает – ccp send_data error, exit»

sudo apt-get install libpopt0:i386 libtiff4:i386
cd /lib/i386-linux-gnu
sudo ln -s libpng12.so.0 libpng.so.3
cd /usr/lib/i386-linux-gnu
sudo ln -s libtiff.so.4 libtiff.so.3

Перезагружаем пк и пробуем печать.

Старая инструкция

Модели принтеров

Данное руководство описывает подключение принтера Canon LBP-810, однако по заверениям Canon, он также работает с LBP3010/LBP3018/LBP3050, LBP3100/LBP3108/LBP3150, LBP3250, LBP3310, LBP5100, LBP5300, LBP3500, LBP3300, LBP5000, LBP3210, LBP3000, LBP2900, LBP3200, LBP-1120, LBP-1210.

Краткое описание работы

Суть работы драйвера такова – программа печатает не в порт USB, куда подключен принтер, а в очередь /var/ccpd/fifo0, а оттуда демон ccpd отправляет уже на принтер – в USB. Нам нужно указать серверу печати модель принтера, и что печатать нужно в /var/ccpd/fifo0, а демону принтера – порт принтера /dev/usblp0.

Устанавливаем

Скачиваем

http://support-asia.canon-asia.com/contents/ASIA/EN/0900772407.html

Лицензия не свободная, поэтому в дистрибутив драйвер добавлен быть не может.

Распаковываем

tar xvf Linux_CAPT_PrinterDriver*.tar.gz

Переходим в каталог с деб-файлами

cd Linux_CAPT_PrinterDriver*/32-bit_Driver/Debian

Для обладателей 64-битных машин

cd Linux_CAPT_PrinterDriver*/64-bit_Driver/Debian

Устанавливаем пакеты

sudo dpkg -i cndrvcups-common*.deb sudo dpkg -i cndrvcups-capt*.deb

Перегружаем CUPS(Common Unix Printing Service) – сервер печати

sudo /etc/init.d/cups restart

Регистрируем принтер (если у Вас другая модель – поменяйте цифры)

sudo /usr/sbin/lpadmin -p LBP810 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

Перезагружаем демон

sudo /etc/init.d/ccpd stop && sudo /etc/init.d/ccpd start

Регистрируем принтер в демоне ccpd (если у Вас другая модель – поменяйте цифры)

sudo /usr/sbin/ccpdadmin -p LBP810 -o /dev/usblp0

Снова перезагружаем демон

sudo /etc/init.d/ccpd stop && sudo /etc/init.d/ccpd start

Добавляем правило для включения/выключения драйвера при включении/выключении принтера

sudo -i echo 'KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idVendor}=="04a9", \ RUN+="/bin/bash /etc/init.d/ccpd start"' >> /etc/udev/rules.d/85-canon-capt.rules echo 'KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/bash \ /etc/init.d/ccpd stop"' >> /etc/udev/rules.d/85-canon-capt.rules

Если у Вас более одного USB-принтера, не стоит выключать второй пока печатает Canon.

Еще можно увидеть окно статуса принтера, он пишет там, когда бумага закончилась,
так

captstatusui -P LBP810

или так

captstatusui -P $(sed -n 's|<Printer\(.*\)>|\1|p' /etc/ccpd.conf | grep -v '#')

Ссылки

Canon – страница поддержки, здесь можно скачать драйвер

Вики на ubuntu.com – подключение принтеров Canon

Просмотров: 6 027

$ su
# dpkg -i cndrvcups-capt_2.60-1_i386.deb  cndrvcups-common_2.60-1_i386.deb

Проверяем порт принтера
# nano /etc/ccpd.conf
Номер у порта должен быть 59787 у меня было всё нормально 
перезагружаем cups
# systemctl restart cups.service
А вот оно и новшество, вместо /var/ccpd/fifo0 используемого прежде ( и команды /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E )
используем новый путь
# /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787 -E
естественно каждый указывает свой принтер и ppd  соответствующий ему
Проверяем девайс на котором у нас будет работать принтер
# ls /dev/usb
у меня hiddev0  lp1 и нас интересует   lp1 хотя в зависимости от железа с номером lp могут быть разные варианты, например под бунтами всегда было lp0 а debian на другом моём компьютере даёт lp2
# /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp1 
Теперь самое новшество приходится создавать новый конфигурационный файл
# nano /etc/systemd/system/ccpd.service
такого содержания
[Unit]
Description=CCPD Printing Daemon
Requires=cups.service
After=cups.service

[Service]
Type=forking
ExecStart=/usr/sbin/ccpd

TimeoutSec=30

[Install]
WantedBy=default.target

После чего нам необходимо что бы его просканировал systemd
# systemctl daemon-reload
делаем его типа по умолчанию
# systemctl enable ccpd.service
Наблюдаем ругань на то что сервис должен быть запущен по дефолту с паузой а не ай бы как.
Приходится немного обмануть systemd.
# /usr/sbin/update-rc.d ccpd defaults 30
 и запустить сервис
# systemctl start ccpd.service
после небольшой паузы проверяем статус
# systemctl status ccpd.service

Решение проблемы для 64 битных систем (спасибо AlexShap): «Простаивает — ccp send_data error, exit»
Код: [Выделить]
sudo apt-get install libpopt0:i386 libtiff4:i386
Код: [Выделить]
cd /lib/i386-linux-gnu
Код: [Выделить]
sudo ln -s libpng12.so.0 libpng.so.3
Код: [Выделить]
cd /usr/lib/i386-linux-gnu
Код: [Выделить]
sudo ln -s libtiff.so.4 libtiff.so.3

[свернуть]

История отношений моего принтера Canon LBP 2900 и Linux вполне тянет на материал для драматичного любовного романа с напряжённым сюжетом. Были тут и сладостные моменты гармонии и душевного согласия, и ссоры вплоть до расставаний, и, — наконец, всё это мне надоело. Достаточно я нашарахался от инструкции к инструкции, от скрипта к скрипту, даже сам написал пошаговое руководство (и, кстати, установленный по нему принтер до сих пор работает в Росинке-9, но не в новых дистрах, увы…). И пришла ко мне поистине революционная в своей новизне мысль: а почему бы не установить принтер строго по прилагаемой к драйверу официальной инструкции от Canon?!

Знаю, найдутся такие ребята, которые поднимут меня на смех: мол, кто ж так делает? разве только чайники какие-нибудь. А я стану горячо возражать: Друзья, зато, кроме уникального опыта, я в случае неудачи могу с полным основанием сказать, кто виноват. Это так утешает русскую ментальность! И кроме того, сами-то вы пробовали?

Note:   Более опытным юзерам, а также тем, кому не интересны беллетристические упражнения автора, последний предлагает краткую шпаргалку по данной теме. Шпаргалка представляет собой протокол установки принтера Canon LBP2900 в Linux Mint 17 Cinnamon.

Подготовка к установке.

Но хватит трёпа и стёба. Идём на каноновский офсайт и берём там рекомендованный драйвер, на данный момент это V260 (страничка загрузки тут). Распаковываем, как обычно, в удобное место, и смотрим, что к чему.

Распакованный драйвер имеет следующую структуру:

/Linux_CAPT_PrinterDriver_V260_uk_EN
├── /32-bit_Driver
│ ├── /Debian
│ │ ├── cndrvcups-capt_2.60-1_i386.deb
│ │ └── cndrvcups-common_2.60-1_i386.deb
│ └── /RPM
│ ├── cndrvcups-capt-2.60-1.i386.rpm
│ └── cndrvcups-common-2.60-1.i386.rpm
├── /64-bit_Driver
│ ├── /Debian
│ │ ├── cndrvcups-capt_2.60-1_amd64.deb
│ │ └── cndrvcups-common_2.60-1_amd64.deb
│ └── /RPM
│ ├── cndrvcups-capt-2.60-1.x86_64.rpm
│ └── cndrvcups-common-2.60-1.x86_64.rpm
├── /Doc
│ ├── guide-capt-2.6xUK.tar.gz
│ ├── LICENSE-captdrv-2.60E.txt
│ └── README-capt-2.6xUK.txt
└── /Src
├── cndrvcups-capt-2.60-1.tar.gz
└── cndrvcups-common-2.60-1.tar.gz

8 directories, 14 files

Сразу видим, что в каталоге Doc наряду с лицензией (которую мы обязательно изучим как-нибудь потом, на досуге) имеется архив с гайдом (еще раз распаковывать) и файлик README-capt-2.6xUK.txt на 750 строк.

Естественно, нам предлагается прочитать его внимательно.
Что в нём интересного?
Прежде всего – список ОСей, для которых опробован драйвер:

Previously Evaluated OS — показать

Мда, негусто. И, главное, самого интересного для нас, Ubuntu 13.10 Desktop 32-bit/64-bit (Sausy) в нём нет. То есть тонкий намёк: если что – фирма и не гарантировала. Ладно, нам не привыкать.

Далее идет список поддерживаемых принтеров, см. под спойлером:

Список принтеров — показать

Здесь мы обнаруживаем свой Canon LBP2900 (CNCUPSLBP2900CAPTK.ppd). Далее идет просьба смотреть подробности в онлайн-мануале, в guide-capt-2.6xUK.tar.gz. Ну, к этому мы еще придем.

Следующий раздел интереснее:

4. Auto startup setting procedure for ccpd daemon (Метод настройки автозапуска демона ccpd)
«Если настраивать статус-монитор для автозапуска, демон ccpd также должен запускаться автоматически.

Настройте демон ccpd по следующей процедуре.
<Если дистрибутив имеет файл /etc/rc.local>
Залогинтесь под рутом и создайте команду ‘/etc/init.d/ccpd start‘ в файле /etc/rc.local

<Если дистрибутив с командой /sbin/insserv>
Залогинтесь под рутом, вставьте нижеследующие строки в позицию третьей строки в файл /etc/init.d/ccpd (моё прим.: этот файл появится, естественно, после установки драйвера) и выполните команду ‘insserv ccpd‘.

### BEGIN INIT INFO
# Provides: ccpd
# Required-Start: $local_fs $remote_fs $syslog $network $named
# Should-Start: $ALL
# Required-Stop: $syslog $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Start Canon Printer Daemon for CUPS
### END INIT INFO

У нас имеется файл /etc/rc.local, поэтому будем ориентироваться на первый вариант.

Note:   Раньше, начиная с Росинки-9, я всегда модифицировал файл /etc/init.d/ccpd, в том числе вставлял в него вышеприведенные строки с определением уровней старта/стопа демона. Так вот, на сей раз ничего подобного я не сделал. И, как выяснилось, правильно.

Далее следует раздел ‘5. Cautions, Limitations, and Restrictions’, который, вообще говоря, следует внимательно прочесть, поскольку там встречаются важные замечания. Например, указывается, что формат бумаги следует определять в драйвере, а не в приложении, из которого осуществляется печать, или что документы MicrosoftOffice (.doc) могут не печататься правильно в LibreOffice из-за проблем совместимости Ghostscript и PostScript, и т.д. Но поскольку всё это не имеет отношения непосредственно к установке принтера, оставляю раздел вам для самостоятельного изучения. Особенно внимательно рекомендую просмотреть этот раздел тем, кто будет ставить драйвера не в LM16 Cinnamon, а в других дистрах.

Далее нам остаётся распаковать гайд (guide-capt-2.6xUK.tar.gz) и читать его до полного просветления.

После чего, морально и информационно подготовившись, приступим собственно к установке.

Установка драйвера.

1.

Переходим в директорию с распакованным драйвером, а в ней — в каталог с нужными нам файлами, у меня это /Linux_CAPT_PrinterDriver_V260_uk_EN/32-bit_Driver/Debian

Устанавливаем пакет cndrvcups-common_2.60-1_i386.deb

sudo dpkg -i cndrvcups-common_2.60-1_i386.deb

Устанавливаем пакет cndrvcups-capt_2.60-1_i386.deb

sudo dpkg -i cndrvcups-capt_2.60-1_i386.deb

2.

ВКЛЮЧАЕМ ПРИНТЕР.

Рестартуем CUPS.

Внимание!   В руководстве указана «неправильная» команда sudo ‘/etc/init.d/cupsys restart’ для deb-дистра. Такого демона нет. Правильно

sudo /etc/init.d/cups restart

Правда, о возможности такого казуса говорится в ‘NOTE’.

Внимание!   НЕ регистрируем принтер командой ‘lpadmin’ ДО рестарта CUPS! Об этом ясно сказано в том же ‘NOTE’

3.

Регистрируем принтер (PPD) в спулере печати:

sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E

Если у вас другой принтер, подставьте его имя вместо LBP2900, а соответствующий ему ppd-файл – вместо CNCUPSLBP2900CAPTK.ppd. Вся эта информация есть в гайде.

4.

Регистрируем принтер в ccpd конфиг-файле демона.

Note:   Я рассматриваю только usb-соединение. Если вам нужна сетевая установка – читайте гайд.

sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0

Внимание!   Очень важно! Внимательно прочтите всё нижеследующее!

Если бы не этот пункт, данный пост можно было бы вообще свести к одной фразе: «Принтер Canon LBP2900 без проблем устанавливается с помощью официальной инструкции, прилагаемой к драйверу.» Но скорее всего, принтер у вас сразу не заработает. Почему?
Цитирую безымянного юзера (как говорится, респект ему и уважуха! Его пост можно найти по этой ссылке):

«Господа, хочу сказать, что понял весь дзен! Сам уже несколько дней мучаюсь с этим принтером, и до меня допетрило, что большинство проблем в итоге связано с пунктом

sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0

Не поленитесь, сходите в папку dev/usb и проверьте, какой файл отвечает за ваш порт с принтером, у меня это, например, lp1, а не lp0.
Поменял цифру в терминале и он благополучно напечатал все, что я просил!»

Итак, установив драйвер, рестартовав cups, зарегистрировав принтер в спулере печати и в демоне, нужно пойти в /dev/usb и посмотреть, как определился принтер. У меня он определился даже не как lp1, а вообще как lp2. С учетом этого повторно даём скорректированную команду

sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp2

получаем сообщение о том, что конфиг был модифицирован, перезагружаемся (я сделал это, не выключив принтер, но без задней мысли, а просто потому, что забыл его выключить smile). После всего этого принтер, безо всяких возражений, начал печатать всё, что ему велят, и продолжает по сей день.

Примечания и замечания.

Далее пойдет ряд примечаний (они будут пополняться), — ради справедливости, для общего образования или просто на память.

Кстати:   о справедливости. В гайде, в разделе Installing the Printer Driver есть такое примечание: «Depending on the distribution you are using, «/dev/usblp*» may be displayed in [Printer Device Path].» Может, и найдутся продвинутые юзеры, которые сделают из этого тёмного намёка вполне ясные выводы, — мол, надо пойти в /dev/usb/.. и т.д.. Мне это, увы, не удалось.

Не следует забывать, что в каноновским гайде есть не только Installing the Printer Driver, но и другие разделы, в т.ч. Printing Methods и Print Settings from the Command Line. Вообще это руководство весьма подробное и информативное, причём организация всего обширного материала не так уж и плоха, надо только к ней попривыкнуть. Жаль только, не нашлось в Canon ставки для переводчика на русский, а именно в данном случае локализация была бы очень желательна.

Remove the printer from the window System — Printers.

Uninstall cndrvcups-capt and cndrvcups-common with Ubuntu Sofware Center.

Go to this page:

http://radu.cotescu.com/how-to-install-canon-lbp-printers-in-ubuntu/ (archived copy)

Find the link to download the script, unzip and run it.

The printer is not working.

The wrong way signal on the top of the screen tells us that something was wrong with the dependencies and that we have to type on the terminal:

sudo apt-get install -f cndrvcups-common

and

sudo apt-get install -f cndrvcups-capt

Dependencies are all right, but the printer is still silent.

Open the printer window and look at the properties: the URI is

ccp://localhost:59687.

Correct it in

ccp://localhost:59787.

The printer is still silent.

Type on the terminal

sudo /etc/init.d/ccpd status

The answer is one number, not two: too bad.

Type on the terminal

sudo /etc/init.d/ccpd restart

and then

sudo /etc/init.d/ccpd status

The answer is two numbers. OK.

Try printing the test page, no paper on the printer, the printer stops and does not restart.

We have to start the printer monitor at bootstrap.

On the system setting — startup applications

click the Add button

Name: Canon printing status monitor

Command: captstatusui -e -P LBP2900

Description: Hidden until an error occurs

The printer now is working properly.

  • Печать

Страницы: 1 2 3 [4] 5 6 41   Вниз

Тема: [HOWTO] Подключение принтеров Canon LBP, работающих с драйвером CAPT  (Прочитано 274292 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
varr

Sommy, попробуйте перезагрузить пк с выключенным принтером. Потом включить и попробовать печать. Если после этого не заработает, больше ничем помочь не могу.

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
alexkupro

Спасибо большое на 12.04 x86 запустил свой lbp6000b, правда долго мучался, ничего не висело Ubuntu думала что на печать отправила, но принтер не жужжал, всё удалил и снова поставил по инструкции, только драйвера скачал с оф. сайта, вот ссылка может Sommy поможет:

http://www.canon.co.uk/Support/Consumer_Products/products/printers/Laser/i-SENSYS_LBP6000B.aspx?DLtcmuri=tcm:14-846492&page=1&type=downloadи все заработало, и еще 10 пункт до конца проделал. varr спасибо, огромное  :coolsmiley: надежда была уже почти потеряна ))))


Оффлайн
varr

alexkupro, пожалуйста. А Sommy эти драйвера не помогут т.к. они только для 32 битной версии.

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
mm.lion

Огромное спасибо за свежую инструкцию для 64-битной и к тому же 12.04 убунты.

Не могли бы вы помочь. При установки возникла проблема (не печатает). До этого пробовал другие инструкции тоже (много разных, но постарался все вычистить, перед использованием вашей). Стоит ubuntu 12.04 amd64, LBP3000.

При печати (скажем пробной страницы) в «свойствах» принтера в строке «состояние» пишет

Простаивает - ccp send_data error, exit
Диагностика:

$ sudo service ccpd status
Canon Printer Daemon for CUPS: ccpd: 3034 3031
$ lsmod | grep usblp
usblp                  18307  0
$ sudo ccpdadmin
...
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler : Backend : FIFO path : Device Path : Status
 ----------------------------------------------------------------------------
     [0]    : LBP3000 : ccp : /var/ccpd/fifo0 : /dev/usb/lp0 :
$ ls -ld /var/ccpd
drwxr-xr-x 2 lp lp 4096 мая   13 23:37 /var/ccpd
$ ls -l /var/ccpd
prw-r--r-- 1 lp lp 0 мая   13 23:37 fifo0


Пакет ia32-libs поставился. captstatusui вообще вылетает с ошибкой.

$ captstatusui -P LBP3000
*** buffer overflow detected ***: captstatusui terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7fc2f37d6007]
/lib/x86_64-linux-gnu/libc.so.6(+0x107f00)[0x7fc2f37d4f00]
captstatusui[0x4292c4]
captstatusui[0x41e21a]
captstatusui[0x408b1f]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fc2f36ee76d]
captstatusui[0x408729]
======= Memory map: ========
00400000-00433000 r-xp 00000000 08:17 398573                             /usr/bin/captstatusui
00633000-00635000 r--p 00033000 08:17 398573                             /usr/bin/captstatusui
00635000-00637000 rw-p 00035000 08:17 398573                             /usr/bin/captstatusui
00e04000-00f30000 rw-p 00000000 00:00 0                                  [heap]
7fc2dc000000-7fc2dc022000 rw-p 00000000 00:00 0
...

Успешно запускал этот принтер (каждый раз мучаясь) на 9.04, 9.10, …, 11.10 (некоторые из них были amd64, щас уже не упомню). Заранее благодарен.


Оффлайн
varr

mm.lion, ваша диагностика показывает, что все ок. Сaptstatusui у меня точно также вылетал. «ccp send_data error, exit» такая же проблема как и у Sommy (уже у 2-х человек получается). Как эту проблему побороть не могу сказать, могу посоветовать гуглить. Если решите, то обязательно отпишитесь.
Сам себе заводил принтер 4 раза по этой инструкции (на 64 бит). Надо бы еще попробовать на vbox вдруг что-то не так описал.


Пользователь решил продолжить мысль 15 Мая 2012, 01:11:18:


mm.lion, настроил принтер в 5 раз на Kubuntu 64, печатает. Если все делалось точно по инструкции думаю косяк в самом драйвере (криво работает с этой моделью принтера).

« Последнее редактирование: 15 Мая 2012, 01:11:18 от varr »

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
stone78

ОС: Ubuntu 12.04 x32. Сетевой принтер Canon LBP6300dn. Выполняю всё по инструкции: https://help.ubuntu.com/community/CanonCaptDrv190. IP-адрес принтера: 192.168.6.206. Настройки в Печати (в графическом режиме): Адрес URI: socket://192.168.6.206:9100. Марка и модель: Canon LBP6300 CAPT (US). При отправке тестовой печати (и вообще любой другой), ОС показывает, что печать выполнена успешно (никаких ошибок не возникает и не появляется), однако, на принтер ничего не выводится. На другой принтер Canon, подключенные через интерфейс USB, печать производится нормально (принтер Canon LBP3310). В чём проблема?

« Последнее редактирование: 15 Мая 2012, 09:35:35 от stone78 »


Оффлайн
varr

stone78, сразу предупрежу я по сети ни разу не пробовал настраивать.
А вот эта команда при настройке LBP6300dn выполнялась?
sudo /usr/sbin/lpadmin -p LBP6300dn -m CNCUPSLBP6300CAPTK.ppd -v ccp://localhost:59787 -E
sudo /etc/init.d/ccpd restart
Вообще надо было настраивать по этой инструкции — http://kubuntu.ru/node/9141 (6 шаг для 12.04 не нужен)

« Последнее редактирование: 15 Мая 2012, 11:27:12 от varr »

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
stone78

varr, огромное спасибо! Всё получилось!

Точно не могу сказать, что я раньше неправильно делал. Скорее всего помогло вот это:

sudo /usr/sbin/ccpdadmin -p LBP6300dn -o net:192.168.6.206

« Последнее редактирование: 15 Мая 2012, 12:03:27 от stone78 »


Оффлайн
AlexShap

Стоит ubuntu 12.04 amd64, LBP3000.

При печати (скажем пробной страницы) в «свойствах» принтера в строке «состояние» пишет

Простаивает - ccp send_data error, exit

У меня таже самая проблема. Скажите никто не решил данную проблему?


Пользователь решил продолжить мысль 17 Мая 2012, 19:39:52:


Итак, народ, УРА!
Моя система Ubuntu 12.04 x64 Canon i-sensys LBP3000

Принтер запечатал.

Моя проблема была описана постом раньше.

Как я понял не запускался captmon. Когда я его пытался запустить вручную то он ругался на отсутствие библиотеки libpopt0. Насколько я понимаю, что в винде, что в линуксе при печати используется captmonitor (в винде он по другому называется, но смысл один и тот же).

Так вот ставил я принтер по мануалу:

https://forum.ubuntu.ru/index.php?topic=189049.0

И в итоге получил ошибку:
Простаивает — ccp send_data error, exit.

Погуглив нашел темку:

http://forum.ubuntuusers.de/topic/canon-libpopt-so-0-not-found/#post-4341802.

Вообщем доустановил я библиотеки из х86:

sudo apt-get install libpopt0:i386 libtiff4:i386

cd /lib/i386-linux-gnu
sudo ln -s libpng12.so.0 libpng.so.3

cd /usr/lib/i386-linux-gnu
sudo ln -s libtiff.so.4 libtiff.so.3

И после перезагрузки принтер запечатал.

Ура мучался неделю. Надеюсь кому еще пригодится.

« Последнее редактирование: 17 Мая 2012, 19:39:52 от AlexShap »


Оффлайн
varr

AlexShap, поздравляю. :) Странно только почему у меня все-таки и без этого заработало.
Еще хочу уточнить драйвера устанавливали из репозитория «ppa:michael-gruz/canon»? После добавлю в шапку темы.

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
AlexShap

Да. Драйвера ставил из этого репозитория. И еще после перезагрузки с выключенным принтером демон ccpd не запускался даже после включения принтера.

Очистил я файл sudo gedit /etc/udev/rules.d/85-canon-capt.rules. И теперь после загрузки служба всегда запущена и все печатает всегда.


Оффлайн
artem.ultra

вот у меня xubuntu 12.04
завелось все нормально, печать идет. но есть один не приятный момент
после загрузки системы, принтер не печатает. нужно зайти в диспетчер задач и просто перезапустить задание (стрелочка зеленная :))
кто подскажет что можно предпринять?
PS canon LBP2900


Оффлайн
varr

artem.ultra, архитектура 32-бит? Попробуйте выполнить «4. Только для архитектуры x86_64.» (даже если 32-бит), только перед этим сделайте резервную копию файла /etc/init.d/ccpd

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


Оффлайн
artem.ultra

архитектура 32 бита.
тоесть вы предлагаете сделать четвертый шаг, который якобы для 64 битных систем?


Оффлайн
varr

artem.ultra, да. Если не получится или будет тоже самое, то восстановить файл ccpd из резервной копии.

ASRock M3A770DE|Phenom II X4 955 3,8Ghz|DDR3 8Gb|HD7850 2Gb|HDD 1Tb, 250Gb, 40Gb|Creative Audigy SE|Canon LBP3010|Canon LIDE 35


  • Печать

Страницы: 1 2 3 [4] 5 6 41   Вверх

Понравилась статья? Поделить с друзьями:
  • Ccmsetup failed with error code 0x87d00280
  • Ccmsetup failed with error code 0x87d0027e
  • Ccmsetup failed with error code 0x87d00227
  • Ccmsetup failed with error code 0x80080005
  • Ccmsetup failed with error code 0x80072ee7