Canon LBP 2900B + Linux Mint 17

Установка этого и многих других аналогичных лазерных принтеров Canon похожа на прохождение квеста. Но главное - это знать, что настроить его реально!
Дополнение от 16.01.2016. После публикации этой заметки, добрые люди мне скинули ссылку на статью Установка драйвера Canon CAPT для принтеров Canon LBP. В ней некий автор автоматизировал всё, что приведено в моей заметке и даже нечто большее. Так что, если вы не боитесь запускать чужие sh-скрипты, то это может сэкономить ваше время.
Для начала отправляемся на официальный сайт в поисках драйвера (т.к. в сам linux эти драйвера не включены). Да, сначала я поискал свою модель на http://www.openprinting.org/printer/Canon/Canon-LBP_2900B. Я нашёл только официально предлагаемый драйвер для своего принтера - "Драйвер принтера CAPT для Linux версии 2.70" на сайте Canon. После скачивания, распаковываем архив Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz и переходим в каталог с deb пакетами (Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit_Driver/Debian). Делаем два доступных пакета (cndrvcups-capt_2.70-1_amd64.deb и cndrvcups-common_3.20-1_amd64.deb) исполняемыми и запускаем двойным кликом мыши прямо в Dolphin (первым - cndrvcups-common_3.20-1_amd64.deb).
После установки в прилагаемой инструкции (Linux_CAPT_PrinterDriver_V270_uk_EN/Doc/README-capt-2.7xUK.txt) находим название нужного драйвера для принтера. В моём случае - это Canon LBP2900 (CNCUPSLBP2900CAPTK.ppd) - запоминаем.
Казалось бы, пакеты установлены, всё должно работать. Но нет. Это только начало. Разработчики драйверов Canon как бы проверяют на сколько сильно пользователи хотят работать с их принтерами. Особо любопытные пользователи могут отыскать следующую инструкцию Linux_CAPT_PrinterDriver_V270_uk_EN/Doc/guide-capt-2.7xUK/index.html
Тут можно продолжить установку сразу с 4 пункта. Перезапускаем службу печати:

sudo service cups restart
Регистрируем драйвер:
sudo /usr/sbin/lpadmin -p LBP2900 -P /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
Выясняем адрес принтера:
dmesg | grep printer
Вывод команды будет примерно такой:
[    5.876692] usblp 1-10:1.0: usblp1: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x04A9 pid 0x2676
Отсюда нам нужна только цифра после usblp (она будет в конце адреса принтера /dev/usb/lp1). Регистрируем принтер в службе ccpd:
/usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp1
Запускаем саму службу:
sudo /etc/init.d/ccpd start
После этого принтер должен появиться в системной списке принтеров.
Но печать у меня не работала. В логах была ошибка "ccp send_data error, exit". Благодаря обсуждению на форуме, я доустановил библиотеку:
sudo apt-get install libpopt0:i386
На форуме ещё рекомендовали поставить libtiff4:i386, но я этого не делал, т.к. у меня уже стояла libtiff5:i386. Также следуя рекомендациям с форума, я добавил правило для udev (не уверен, что оно чем-то помогает):
sudo nano /etc/udev/rules.d/85-canon-capt.rules
Внёс содержимое:
KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="04a9", RUN+="/etc/init.d/ccpd start"
Всё перезапускаем и проверяем, заработал ли принтер:
sudo service udev restart
sudo /etc/init.d/ccpd restart
sudo service cups restart
У меня заработал. Добавляем в автозапуск, чтобы работало после перезагрузки:
sudo update-rc.d ccpd defaults 50

Комментарии

Популярные сообщения из этого блога

Пропорциональное распределение суммы

Битрикс: своя геолокация

Bitrix24 API - разбор демо приложения третьего типа