Canon LBP 2900 vs Ubuntu 10.04

Canon LBP 2900 vs Ubuntu 10.04



Продолжаем цикл статей о моем освоении Убунты, и на сей раз пост будет посвящен тому, как я заставлял принтер 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.

  • Victor

    Еще надо добавить 2 команды:
    1.Разрешаем доступ всем
    $ sudo chmod 777 /var/ccpd/fifo0
    2.Включаем принтер и делаем доступным
    $ sudo chmod 777 /dev/usb/lp0

    После этого у меня все заработало)) спасибо большое за труды)

  • Mig

    Спасибо за команды… хотя у меня заработало и без них =)

  • Victor

    А вот собственно ссылки на зависимости :


    и на свеженький драйвер:

    Добавить это все в статью и ей цены не будет)

  • Arsen

    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 перезапускается, но не печатает до сих пор((

  • Xela

    зачем столько сложностей? по сути- все что нужно только установить зависимости


    и драйвер с canon.com

    и поставить принтер через гуи Администрипование-Печать

    у меня все встало и даже печатает в виндовс сети

  • Mig

    Вам повезло))

  • Yaroslav

    Спасибо огромное!! У меня все роботает. Сначала когда редактировал sudo gedit /etc/init.d/ccpd , не роботал, потом изменил назад — все отлично. Еще раз спасибо!!!! удачи вам;)

  • Alexandr

    не работает вообще????????????????????

  • http://startup-altai.ru/goto/aHR0cDovL3d3dy5uaXh0ZWNoLnJ1 Vix

    для того чтоб не мучиться, сделал готовый пакет..
    пардон в варианте bash, для Dibian
    для Ubuntu просто где apt-get и команды рута добавить sudo
    читать тут:

  • http://startup-altai.ru/goto/aHR0cDovL25hcy50dmVyLnJ1 Pesh

    Ну ладно, девайс кое-как запечатал через USB… но как его тебе в винде подцепить? Захожу по сети на убунтовый комп (10.04), там видна только общая папка и Установка принтера в Принтерах и факсах… а где сам принтер и почему он не расшаривается? (В настройках CUPS на локалхосте-631 включены все доп. параметры).

  • DAZAR

    На счет подцепить на Винде: устанавливаем сетевой принтер -> Печать из интернета -> прописываем на принтер . Сам сервер печати на линукс машине должен принимать печать из интернета,и принтер должен быть расшарен. Таким образом избегаем поднятия самбы.

  • Victor

    Сейчас в который раз настраивал девайс. Порядок действий такой.
    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. Перезагружаем компьютер

  • ZeKe

    Vix
    Спасибо — получилось на Ubuntu 10.04, токма все строки скрипта руцями в терменале запускал, после sudo su.

  • Seven

    По указанной выше методике принтер не печатает. Пытаюсь настроить принтер со времен версии 8.Х. По результатам установки принтер ни в одной из версий так и не работал нормально. Процесс печати завершался навсегда либо после первого сеанса печати, либо после окончания бумаги в принтере. Дальнейшие манипуляции с принтером ни к чему не приводили.

  • Victor

    Для установки в Ubuntu 10.10 потребуется пакет cupsys

  • http://startup-altai.ru/goto/aHR0cDovL3ZpeGRlYi5ibG9nc3BvdC5jb20v VIX



    всем кто использует принтеры 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.

    Почему-то не работает:(( Не рестартует. КТо знает в чём дело?

  • http://startup-altai.ru/goto/aHR0cDovL25peHRlY2gucnU= Vix

    в /etc/ccpd.conf нужно указать правильно настройки принтера..
    посмотри внимательно как это по умолчанию и подправь для себя..
    для информации : вынимаешь кабель принтера, вставляешь..
    далее в консоле пишешь: dmesg|tail
    читаем что увидело ядро и что сделало
    lsusb — на каком порту сидим..
    полная инфа cat /proc/bus/usb/devices
    .. думаю этого будет достаточно чтоб понять..
    или скачай мой скрипт и посмотри что он делает.. :)

  • Артем

    Предлагаю собранный и протестированный опыт из разных мсточников по установке CANON LBP2900 НА УБУНТУ 12.10 Перейдите по ссылке

    Успеха!

    Артем