Гайд по установке старых принтеров canon LBP 2900, 3010, 6000 и т.п

Благодаря тому что написано здесь Включение в ядро модуля usblp для поддержки не слишком новых принтеров

Установка принтеров canon LBP1120, LBP1210, LBP2900, LBP3000, LBP3010, LBP3018, LBP3050, LBP3100, LBP6000 и т.д. стала возможной и относительно не сложной проверено на LBP2900 и LBP3010

Я накидал инструкцию по установке, основываясь на этом: https://wiki.gentoo.org/wiki/Canon_CAPT_Printer
если кто то напишет скрипт проделывающий все это буду очень благодарен, и не я один думаю. Итак вот что нужно делать чтобы настроить принтер:

  1. Скачиваем драйвер c официального сайта Canon https://www.canon.ru/support/consumer_products/products/printers/laser/i-sensys_lbp2900.html?type=drivers&language=&os=linux%20(64-bit)

На момент написания V2.71 (думаю больше обновляться не будет)

Далее все выполняется под суперпользователем

  1. Обновляемся:

cl-update

  1. Устанавливаем пакет RPM:

emerge app-arch/rpm

  1. Разархивируем скачанный архив с драйвером и находим там папку \64-bit_Driver\RPM в ней

два rpm файла cndrvcups-capt-2.71-1.x86_64.rpm и cndrvcups-common-3.21-1.x86_64.rpm

  1. устанавливаем оба файла:

rpm -Uvh --nodeps cndrvcups-common-3.21-1.x86_64.rpm
rpm -Uvh --nodeps cndrvcups-capt-2.71-1.x86_64.rpm

  1. Перемещаем (ну или копируем) папку cups со всем содержимым из /usr/lib64 в /usr/libexec

  2. Устанавливаем принтер printer_model думаю можно написать как вам хочется, driver_file для вашего аппарата находим в /usr/share/cups/model, некоторые модели объеденены в один ppd файл, например
    для LBP3010 нужно выбрать файл CNCUPSLBP3050CAPTK.ppd.

lpadmin -p printer_model -m printer_driver_file -v ccp://localhost:59687 -E

  1. Включаем модуль поддержки usb принтеров:
    modprobe usblp

  2. Заходим в /etc/modprobe.d/blacklist-calculate.conf закомментируем usblp чтобы убрать модуль из черного списка

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

ccpdadmin -p LBP6310 -o /dev/usb/lp0

меняем содержимое скрипта запуска ccpd (425 Байт)

в /etc/init.d на это (я его подправил для openrc-run и убрал лишнее):

#!/sbin/openrc-run
depend() {
need cupsd
after cupsd
}
DAEMON=’/usr/sbin/ccpd’
start () {
sleep 10
echo 'ccpd запускается
start-stop-daemon --start --quiet --oknodo --exec $DAEMON
sleep 1
echo 'ccpd запущен
}
stop() {
echo 'ccpd останавливается
start-stop-daemon --stop --quiet --oknodo --signal 15 --exec $DAEMON
sleep 1
echo 'ccpd остановлен
}
status() {
pidof $DAEMON
}

  1. добавляем ccpd в автозагрузку:

rc-update add ccpd default

  1. перезагружаем демонов cups и ccp:

/etc/ init.d/cupsd restart
/etc/ init.d/ccpd restart

  1. Проверяем статус демона ccpd:

/etc/init.d/ccpd status

должно быть 2 числа

например так
пользователь~ $ /etc/init.d/ccpd status
8535 8532

  1. Пробуем печатать, после перезагрузки принтер должен все так же печатать без проблем.
3 Likes

Отличный мануал, принтер LBP3010 завелся без проблем.

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

1 Like

Пробую с LBP6020, настраивать.

Огромное спасибо! LBP6020 стартанул без проблем.

1 Like

пожалуйста, всегда приятно помогать, я у себя в организации пару принтеров поднял, потом гайд написал. Думаю скрипт надо замутить, есть только одна проблема если ставить обновления то скорее всего настройки слетят, CUPS обновится и каюк, заново придется все настраивать

Проблемы с правами на ccpd решаются так:

chmod +x /etc/init.d/ccpd
chown root:root /etc/init.d/ccpd

В случае возникновения проблем. Перезагружаем cups

/etc/init.d/cups restart

Ждем, после перезапуска cups, ccpd так же перезапустится.

Canon LBP7018C не заработал. В списке принтеров появился, но ни статус принтера не показывает, ни печатает.

Если печатать из терминала, то пишет:

lp: Unsupported document-format “text/plain”.

Как бы проверяйте, все ли верно сделали, у меня такого принтера нет чтобы проверить наверняка

На 10 этапе, все верно сделали? принтер зарегился в ccpd?

Да, всё сделал по инструкции, принтер зарегистрирован. Отображается и в system-config-printer и если открыть localhost:631.
В принципе, делал почти то же самое в Linux Mint (Ubuntu), там всё работает нормально, правда, до того момента, пока принтер не перейдет в режим ожидания ))) Но работает. А здесь он как бы установлен, но не реагирует на попытки напечатать документ. Если печатать из консоли lp /путь_к_файлу, то выдает lp: Unsupported document-format “text/plain”. То же самое с pdf файлами, только text/plain меняется на pdf (кажется). Гуглил, но так и не нашёл рабочего решения, хотя, такая проблема у некоторых возникает (правда, даты статей и записей на форумах 5-10 летней давности).

Что выводит команда
ccpdadmin ?

Вывод ccpadmin:

calculate ~ # ccpdadmin 

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]    : LBP7018C 	: ccp 		: //localhost:59687 	: /dev/usb/lp0 :

Дополнение. Попробовал переустановить принтер и на 7 шаге получилось вот так:

lpadmin -p Canon_LBP7018C -m /usr/share/cups/model/CNCUPSLBP7018CCAPTK.ppd -v ccp://localhost:59687 -E
lpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS.
lpadmin: Unable to copy PPD file.
В прошлый раз помогло заменить -m на -P

Дополнение 2:
calculate ~ # lp /home/user/1
lp: Unsupported document-format “text/plain”.
calculate ~ # lpq
LBP7018C is ready
no entries

lpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS. - ЭТО ВЕРНО ТАК И ДОЛЖНО БЫТЬ,
При указании модели путь не нужен, только имя файла CNCUPSLBP7018CCAPTK.ppd, имя принтера должно быть одинаковым : в 7 пункте как назвали, такое же имя в 10 пункте пишите, а то у вас разные так работать не будет

Так делать не надо, -P название принтера, затем -m модель (то есть файл ppd)

Не удалось победить принтер. Всё удалил и сделал заново по инструкции. Принтер добавился, но не реагирует ни на что.
При попытке напечатать из терминала снова пишет:
lp: Unsupported document-format “text/plain”.
Придется печатать из другой системы )))

Замечено в 6-ом пункте не нужно копировать файл с заменой cnusb, это вызывает проблемы, так что этот файл нужно пропустить при копировании из /usr/lib64 в usr/libexec/

Автоматическая установка принтеров Canon (рекомендуется для начинающих пользователей)

  • Пока не включаем принтер
  • Скачиваем в домашнюю папку последнюю версию скрипта установки принтера:
    calculate_canon_lbp_setup.zip (4.8 KB)
  • Распаковываем файл:
    unzip ./calculate_canon_lbp_setup.zip
  • Делаем скрипт исполняемым:
    chmod +x ./calculate_canon_lbp.sh
  • Запускаем скрипт:
    ./calculate_canon_lbp.sh
  • Следуем дальнейшим указаниям скрипта
  • Пробуем печать

Автоматическую установку рекомендую применять на обновленной системе.