Tips & tricks Установка принтера Canon LBP2900

В данном HOWTO рассказано о том, как установить принтер Canon  LBP2900 в Debian. Однако, данное руководство подойдет и для многих других принтеров. Таких как i-SENSYS LBP2900, i-SENSYS LBP3000, i-SENSYS LBP3010, i-SENSYS LBP3100, i-SENSYS LBP3250, i-SENSYS LBP3310, Laser Shot LBP-1120, Laser Shot LBP-1210, Laser Shot LBP2900, LaserShot LBP3000, Laser Shot LBP3300, LBP-3200, LBP5000, LBP5100, LBP5300.

Для начала установки необходимо скачать официальный драйвер Canon CAPT Printer Driver. На момент написания статьи версия драйвера 1.80.

Распакуйте скачанный архив к себе на жесткий диск. Из всего архива нам потребуются только два файла:cndrvcups-capt_1.80-1_i386.deb и cndrvcups-common_1.80-1_i386.deb.

Теперь необходимо установить по очереди систему перчати CUPS:
# apt-get install cups cupsys cupsys-client

и сами драйвера:
dpkg -i cndrvcups-common_1.80-1_i386.deb cndrvcups-capt_1.80-1_i386.deb

После этого создаём директории:
# mkdir /var/ccpd
# mkdir /var/captmon

Создаём pipe, присваиваем его суперюзеру:
# mkfifo /var/ccpd/fifo0
# chmod 777 /var/ccpd/fifo0
# chown root /var/ccpd/fifo0

Теперь свяжем драйвер нашего принтера с пайпом, а пайп свяжем с устройством принтера:
# /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
# /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0

Теперь нужно запустить даймона принтера и добавить его в атозагрузку:
# /etc/init.d/ccpd start
# update-rc.d ccpd defaults 20

Все, установка закончилась, теперь перезагрузите компьютер. После перезагрузки поверьте правильность установки:
# ccpdadmin

В ответ вы должны получить примерно следующие строки:
Entry Num: Spooler: Backend: FIFO path: Device Path: Status
[0]: LBP2900: ccp: /var/ccpd/fifo0: /dev/usb/lp0 :

И в конце проверяем статус принтера командой:
# captstatusui -P LBP2900

Должно появиться окошко с надписью «Ready To Print».

Внимание, если в окошке пусто, это не значит что у вас ничего не получилось, это значит что вам необходимо, выключить и включить принтер, после чего перезапустить даймоны cupsd и ссpdкомандами:
# /etc/init.d/cupsd restart
# /etc/init.d/ccpd restart

Вот и все.

UPD. Альтернативное решение
Если демона ccpd добавить в автозагрузку приведённым выше способом, то при любой ошибке печати он падает оставляя в оперативке процесс captmon2, который ведёт себя неадекватно загружая процессор чуть ли не на 100%. Перезагрузка ccpd и cupsys не даёт положительного результата и kill captmon2 тоже. Однако выход есть!

1. Удаляем ccpd из автозагрузки
update-rc.d -f ccpd remove

2. Заставляем udev подключать и отключать принтер
создаём файл /etc/udev/rules.d/10-canon_LBP2900.rules
вот с таким содержимым:
#Own udev rule for CANON LBP2900
KERNEL==«lp*», BUS==«usb», SYSFS{idVendor} ==«04a9», \
SYSFS{idProduct }==«2676», ACTION==«add», \
NAME=«canon_lbp2900»,SYMLINK=«usb/%k» \
OWNER=«root», GROUP=«lp», MODE=«0660», RUN+="/etc/init.d/ccpd start"
KERNEL==«lp*», ACTION==«remove», NAME==«canon_lbp2900», RUN+="/etc/init.d/ccpd stop"
  • 0
  • 25 января 2010, 21:28
  • Vass

Комментарии (2)

RSS свернуть / развернуть
+
0
Вчера настраивал в убунте одному юзернейму этот принтер. Так что появилась пара дополнений )
1. Вышла в сентябре версия дров 1.90
2. Дрова требуют древний libstdc++5 и libcupsys (который заменен сейчас на libcups). Ссылки на них и некоторые актуализированные замечания можно найти на странице убунтовой вики
avatar

BlackTass

  • 10 февраля 2010, 11:03
+
0
libstdc++5 Это да… я его брал из репы Etch, один фиг она у меня подключена.
avatar

Vass

  • 10 февраля 2010, 15:15

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.