Продолжаем цикл статей о моем освоении Убунты, и на сей раз пост будет посвящен тому, как я заставлял принтер Canon LBP2900 работать на Ubuntu 10.04. То что они никак не хотят работать сообща, я понял еще на 8 версии Убунты. По этому поводу было написано много инструкций на различных форумах. Народ бил себя в грудь кулаком и кричал, что уж теперь то все и у всех работает. Правда оказывалось, что это был очередной бред линуксогиков. Мой опыт тоже не претендует на универсальность, но по крайней мере это первый случай, когда принтер заработал почти стабильно.
В чем суть проблемы? Драйвера под LBP2900 для Linux на сайте Canon есть, НО в чистом виде они не работают. Т.е. придется покопаться…
1. Скачиваем драйвера.
cd ~
mkdir capt
cd capt
wget
tar xfz CAPT_Printer_Driver_for_Linux_Src_V190_uk_EN.tar.gz
cd CAPT_Printer_Driver_for_Linux_Src_V190_uk_EN/src/
tar xfz cndrvcups-common-1.90-1.tar.gz
tar xfz cndrvcups-capt-1.90-1.tar.gz
2. Устанавливаем недостающие пакеты.
sudo apt-get install build-essential gettext libtool libxml2-dev libcups2-dev
wget
sudo dpkg -i libcupsys2_1.3.9-17ubuntu3.4_all.deb
wget
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_amd64.deb
Адреса пакетов libcupsys2 и libstdc++ могут устареть. В таком случае найти их надо будет гуглом и установить.
3. Собираем и устанавливаем драйвер.
cd cndrvcups-common-1.90
dpkg-buildpackage
sudo dpkg -i ../cndrvcups-common_1.90-1_i386.deb
cd ..
cd cndrvcups-capt-1.90
nano ./debian/rules
Заменяем (закомментируем) » dh_shlibdeps» на «# dh_shlibdeps«.
dpkg-buildpackage
sudo dpkg -i ../cndrvcups-capt_1.90-1_i386.deb
cd ..
Если при сборке пакета в терминале возникают какие либо ошибки то не пугаемся: скорее всего сборщик ругается на недостающие пакеты, которые можно поставить вручную и повторить процесс сборки.
4. Правильно настраиваем.
sudo /etc/init.d/ccpd stop
sudo gedit /etc/init.d/ccpd
Прописываем новую информацию:
# startup script for Canon Printer Daemon for CUPS (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/cups restart
/usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
/usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
sudo /etc/init.d/ccpd restart
5. Прописываем автозагрузку драйвера.
sudo update-rc.d ccpd defaults 50
П.С. Перезапустить драйвер всегда можно вручную: sudo /etc/init.d/ccpd restart.
Еще надо добавить 2 команды:
1.Разрешаем доступ всем
$ sudo chmod 777 /var/ccpd/fifo0
2.Включаем принтер и делаем доступным
$ sudo chmod 777 /dev/usb/lp0
После этого у меня все заработало)) спасибо большое за труды)
Спасибо за команды… хотя у меня заработало и без них =)
А вот собственно ссылки на зависимости :
и на свеженький драйвер:
Добавить это все в статью и ей цены не будет)
sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787
Entry Num : Spooler : Backend : FIFO path : Device Path : Status
—————————————————————————-
[0] : LBP2900 : : : /dev/usb/lp0 : Modified
akzi@akzi-laptop:~$ sudo /etc/init.d/ccpd restart
/etc/init.d/ccpd: 16: Printer: not found
* “Restarting start-stop-daemon: need one of —start or —stop
Try ‘start-stop-daemon —help’ for more information.
start-stop-daemon: need one of —start or —stop
Try ‘start-stop-daemon —help’ for more information.
[fail]
___________________________________________________
помогите с этой лабудой, не печатает тестовую страницу(
не получается скомандовать sudo /etc/init.d/ccpd restart
есть ещё один интересный момент: в система/администрирование/печать при добавлении принтера(если удалить все, что там есть)-то там видно 8 устройств canon printer daemon port#1—#8
соответственно у них device URI ccp:/var/ccpd/fifo0—7
_____________________________________________________________________
небольшое продвижение(?) изменил init.d
#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (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 перезапускается, но не печатает до сих пор((
зачем столько сложностей? по сути- все что нужно только установить зависимости
и драйвер с canon.com
и поставить принтер через гуи Администрипование-Печать
у меня все встало и даже печатает в виндовс сети
Вам повезло))
Спасибо огромное!! У меня все роботает. Сначала когда редактировал sudo gedit /etc/init.d/ccpd , не роботал, потом изменил назад — все отлично. Еще раз спасибо!!!! удачи вам;)
не работает вообще????????????????????
для того чтоб не мучиться, сделал готовый пакет..
пардон в варианте bash, для Dibian
для Ubuntu просто где apt-get и команды рута добавить sudo
читать тут:
Ну ладно, девайс кое-как запечатал через USB… но как его тебе в винде подцепить? Захожу по сети на убунтовый комп (10.04), там видна только общая папка и Установка принтера в Принтерах и факсах… а где сам принтер и почему он не расшаривается? (В настройках CUPS на локалхосте-631 включены все доп. параметры).
На счет подцепить на Винде: устанавливаем сетевой принтер -> Печать из интернета -> прописываем на принтер . Сам сервер печати на линукс машине должен принимать печать из интернета,и принтер должен быть расшарен. Таким образом избегаем поднятия самбы.
Сейчас в который раз настраивал девайс. Порядок действий такой.
1. Установка зависимостей (ссылка выше)
2. Установка драйвера (выше)
3. sudo /etc/init.d/ccpd stop
4. sudo /etc/init.d/cups restart
5. /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
6. /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
7. sudo /etc/init.d/ccpd restart
8. sudo update-rc.d ccpd defaults 50
9. sudo chmod 777 /var/ccpd/fifo0
10. sudo chmod 777 /dev/usb/lp0
11. Перезагружаем компьютер
Vix
Спасибо — получилось на Ubuntu 10.04, токма все строки скрипта руцями в терменале запускал, после sudo su.
По указанной выше методике принтер не печатает. Пытаюсь настроить принтер со времен версии 8.Х. По результатам установки принтер ни в одной из версий так и не работал нормально. Процесс печати завершался навсегда либо после первого сеанса печати, либо после окончания бумаги в принтере. Дальнейшие манипуляции с принтером ни к чему не приводили.
Для установки в Ubuntu 10.10 потребуется пакет cupsys
всем кто использует принтеры canon — LBP2900, LBP1120
в принципе если подправить вручную то и все lbp по идее будут работать.. я делал для этих двух версий.. всем удачи.
/etc/init.d/ccpd: 15: Printer: not found
* «Stopping start-stop-daemon: need one of —start or —stop
Try ‘start-stop-daemon —help’ for more information.
Почему-то не работает:(( Не рестартует. КТо знает в чём дело?
в /etc/ccpd.conf нужно указать правильно настройки принтера..
посмотри внимательно как это по умолчанию и подправь для себя..
для информации : вынимаешь кабель принтера, вставляешь..
далее в консоле пишешь: dmesg|tail
читаем что увидело ядро и что сделало
lsusb — на каком порту сидим..
полная инфа cat /proc/bus/usb/devices
.. думаю этого будет достаточно чтоб понять..
или скачай мой скрипт и посмотри что он делает..