Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Canon LaserShot LBP-1120(и др.)  (Прочитано 30995 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Canon LaserShot LBP-1120(и др.)
« : 26 Мая 2009, 20:00:51 »
Вообщем маленькая предыстория:
Цитировать
У меня стоит Ubuntu 11.04 64-bit, есть принтер Canon LaserShot LBP-1120. Выполнив установку драйверов от canon, столкнулся с такой проблемой, что проццес /etc/init.d/ccpd не запускался при загрузке системы, и печать работала толко в таком порядке: 1.Включить принтер 2. запустить /etc/init.d/ccpd. Но как оказалось потом, если не остановить ccpd иногда процесс captmon очень сильно загружает процессор. Воощем немножко покопавшись у меня получилось всё нормально настроить.

1. Устанавливаем драйвера от Canon
(Нажмите, чтобы показать/скрыть)

2. Создаем правила в udev для автоматического запуска ccpd при включении принтера.
2.1. Включаем принтер и набираем в теминале:
        sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0)Нам выкинет кучу всякой информации, типа:
(Нажмите, чтобы показать/скрыть)
Нам будет нужно то, что выделено красным.
2.2. Создаём файл /etc/udev/rules.d/10-udev-capt-lbp.rules
Пишем в нём текст такого содержания:
Цитировать
SUBSYSTEM=="usb", ATTRS{serial}=="043B2AEe", ACTION=="add", GROUP="captprint", RUN+="/etc/init.d/ccpd start"
SUBSYSTEM=="usb", ATTRS{serial}=="043B2AEe", ACTION=="remove", GROUP="captprint", RUN+="/etc/init.d/ccpd stop"
Проверьте, чтобы значение ATTRS{serial} в данном файле, совпало с тем, что вывела у вас sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0) (у меня например есть две строчки ATTRS{serial}="XXXYYY", но нам нужна та, которая рядом с ATTRS{product}=="Canon CAPT USB Printer",
я её выделил красным цветом
(Нажмите, чтобы показать/скрыть)
2.3. Обновляем правила в udev:
sudo udevadm control --reload-rules
И на этом всё.

Поддерживаемые принтеры:
    
(Нажмите, чтобы показать/скрыть)

Проверено на kUbuntu 11.04 Alpha-2 x86_64
« Последнее редактирование: 20 Марта 2011, 19:04:08 от Pryanik_rap »
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн Mr.Green

  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #1 : 01 Июня 2009, 11:33:19 »
при попытке зарегить принтер в демоне ccpd
sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp0пишет что такого файла или директории нет...хотя все на самом деле на месте...

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #2 : 01 Июня 2009, 18:58:04 »
А подробнее? Чего нет /usr/sbin/ccpdadmin или /dev/usb/lp0?
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн prid

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #3 : 17 Июня 2009, 15:20:49 »
Я всё сделал по инструкции, но при попытке напечатать пробную страницу в состоянии принтера написано "Обработка" и всё. Если принтер выключить-включить пишет что не найден драйвер и предлагает установку... Ubuntu 9.04 32bit

Оффлайн fizzz

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #4 : 21 Июля 2009, 09:32:09 »
Я всё сделал по инструкции, но при попытке напечатать пробную страницу в состоянии принтера написано "Обработка" и всё. Если принтер выключить-включить пишет что не найден драйвер и предлагает установку... Ubuntu 9.04 32bit
У меня та жеп проблема!

Оффлайн genrich

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #5 : 21 Июля 2009, 10:47:37 »
Ставил так.
1.Устанавливаем драйвера от Canon
2.Скачиваем http://files.canon-europe.com/files/soft31118/software/CAPTDRV180.tar.gz
3.Распаковываем архив
tar xvf CAPTDRV180.tar.gz
Заходим в создавшеюся дирикторию, находим там папку Driver/Debian/ и устанавливаем оба пакета, удовлетворяя зависимости, которые они требуют
sudo dpkg -i --force-architecture cndrvcups-common_1.80-1_i386.deb
sudo dpkg -i --force-architecture cndrvcups-capt_1.80-1_i386.deb
* Для 32-битных систем(i386) опцию --force-architecture надо убрать.
4.$ sudo /etc/init.d/cups stop
5.$ sudo mkdir /var/ccpd
6.$ sudo mkdir /var/captmon
7.$ sudo mkfifo /var/ccpd/fifo0
8.$ sudo chmod 777 /var/ccpd/fifo0
9.Перегружаем CUPS(Common Unix Printing Service)
sudo /etc/init.d/cups restart
10.Регистрируем принтер в системе
sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
* Название принтера и *.ppd файл можно поменять в зависимости от вашего принтера
11.Регистрируем принтер в демоне ccpd
sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usblp0
12.Создаем скрипты автозапуска ccpd при подключении принтера к системе.
13.Создаем файл следующего содержания и сохраняем в /etc/hal/fdi/policy/30-hal-printer-test.fdi

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- -*- SGML -*- -->
<deviceinfo version="0.2">

<device>
<match key="printer.description" contains="Canon LASER SHOT LBP-1120">
<match key="printer.commandset" contains="CAPT">
<append key="info.callouts.add" type="strlist">hal_test_canon_printer</append>
<append key="info.callouts.remove" type="strlist">hal_test_canon_printer</append>
</match>
</match>
</device>
</deviceinfo>
* Если модель другая, то опять же замените её.
14. Создаем файл следующего содержания и сохраняем в  /usr/lib/hal/scripts/hal_test_canon_printer

#!/bin/sh
#

Canon_add="/tmp/hal-test-Canon-add"
Canon_remove="/tmp/hal-test-Canon-remove"

if [ "${HALD_ACTION}" = "add" ]
then
# date > ${Canon_add}
#  env >> ${Canon_add}
/etc/init.d/ccpd start
fi

if [ "${HALD_ACTION}" = "remove" ]
then
#  date > ${Canon_remove}
#  env >> ${Canon_remove}
/etc/init.d/ccpd stop
fi
15. Скачиваем скрипт ccpd
wget http://public.celtiore.fr/Canon/ibex/ccpd
16. Копируем скрипт в /etc/init.d/
cp ccpd /etc/init.d/ccpd
17. chmod a+x /etc/init.d/ccpd
18. Запускаем демон печати
/etc/init.d/ccpd start
19. Добавляем в автозагрузку
sudo update-rc.d ccpd defaults 20
20. Создаем кнопку запуска печати (команда)
sudo /etc/init.d/ccpd restart
 После отправки первого документа на печать приходится нажимать кнопку запуска печати. Дальше работает без проблем.

Оффлайн prid

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #6 : 20 Октября 2009, 17:14:03 »
Спасибо, genrich, работает. Только при каждой загрузке системы ищет драйвер и пишет что не найден на Canon Laser Shot LBP-1120... может его нужно было обозвать не LBP1120 а именно "Canon Laser Shot LBP-1120"? Мож тогда не будет искать дрова..

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #7 : 20 Октября 2009, 21:36:39 »
А вот это зачем?
Цитировать
15. Скачиваем скрипт ccpd
wget http://public.celtiore.fr/Canon/ibex/ccpd
16. Копируем скрипт в /etc/init.d/
cp ccpd /etc/init.d/ccpd

Он же вместе с установкой пакетов создаёт этот скрипт.
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн genrich

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #8 : 21 Октября 2009, 16:01:38 »
Со скриптом, созданным во время установки принтер печатать отказывается.

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #9 : 21 Октября 2009, 18:43:42 »
Мда.... Canon реально дали почву для шаманства)))
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн genrich

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #10 : 21 Октября 2009, 18:46:20 »
А вообще ставить можно с помощью скрипта установки.
Сайт установочных скриптов: http://blog.celtiore.fr/
Устанавливается в пол пинка. Работает без проблем. Единственно, что требуется, создать кнопку запуска печати (приложение в терминале sudo /etc/init.d/ccpd restart)

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #11 : 22 Октября 2009, 13:14:23 »
Ну вот те самые два скрипта, которые я предлагаю - эт как раз избавление от надобности вручную запускать ccpd. То есть система при обнаружении принтера, автоматически запускает ccpd, и при его отключении отрубает демон.
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн Pryanik_rap

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #12 : 29 Апреля 2010, 23:37:43 »
В связи с переходом на 10.04 и (наверно) удалением из него HAL разработчиками, перестал работать мой метод, приведенный в первом посте. Поэтому  пришлось изобретать новый велосипед.

Воощем первый шаг стандартный:
1. Устанавливаем драйвера от Canon
(Нажмите, чтобы показать/скрыть)

2. Создаем правила в udev для автоматического запуска ccpd при включении принтера.
2.1. Включаем принтер и набираем в теминале:
        sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0)Нам выкинет кучу всякой информации, типа:
(Нажмите, чтобы показать/скрыть)
Нам будет нужно то, что выделено красным.
2.2. Создаём файл /etc/udev/rules.d/10-udev-capt-lbp.rules
Пишем в нём текст такого содержания:
Цитировать
SUBSYSTEM=="usb", ATTRS{serial}=="043B2AEe", ACTION=="add", GROUP="captprint", RUN+="/etc/init.d/printing_start"
SUBSYSTEM=="usb", ATTRS{serial}=="043B2AEe", ACTION=="remove", GROUP="captprint", RUN+="/etc/init.d/printing_stop"
Проверьте, чтобы значение ATTRS{serial} в данном файле, совпало с тем, что вывела у вас sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0) (у меня например есть две строчки ATTRS{serial}="XXXYYY", но нам нужна та, которая рядом с ATTRS{product}=="Canon CAPT USB Printer",
я её выделил красным цветом
2.3. Создаем группу captprint  и позволяем ей выполнять три команды от root без запроса пароля.
2.3.1. Создаем группу:
sudo addgroup captprint2.3.2. Открываем файл /etc/sudoers постредством команды sudo visudo и добавляем туда следующую строчку:
Цитировать
%captprint ALL=NOPASSWD: /etc/init.d/ccpd, /usr/bin/killall, /etc/init.d/cups
2.4. Создаём два простеньких скрипта:
Первый сохраняем в /etc/init.d/printing_start
Цитировать
#!/bin/bash

sudo /etc/init.d/cups restart

sleep 4

sudo /etc/init.d/ccpd restart

exit 0

Второй сохраняем в /etc/init.d/printing_stop
Цитировать
#!/bin/bash

sudo /etc/init.d/ccpd stop
sudo killall -9 captmon
sleep 3

sudo /etc/init.d/cups restart

exit 0
2.5. Делаем всё исполняемым:
sudo chmod +x /etc/init.d/printing_stop && sudo chmod +x /etc/init.d/printing_start  && sudo chmod +x  /etc/udev/rules.d/10-udev-capt-lbp.rules2.6. Обновляем правила в udev:
sudo udevadm control --reload-rules
И на этом всё.

Итак смысл всего этого:
Система при подключении принтера перезагружает сервер печати CUPS и CCPD(запускает его, если не запущен). При отключении принтера она останавливает CCPD, убивает процесс captmon(который по истечению некоторого времени начинает терроризировать процессор) и перезагружает сервер печать CUPS.
Порядок действий таков:
сначала включаем принтер, ждем 6 секунд, только потом отправляем на печать документ.
« Последнее редактирование: 29 Апреля 2010, 23:40:09 от Pryanik_rap »
Kubuntu 11.04 x86_64. KDE: 4.6.1, Qt: 4.7.2
AMD Athlon 64 X2 4600, 3Gb Ram, NVDIA GTS 250

Оффлайн genrich

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #13 : 30 Апреля 2010, 19:59:50 »
Pryanik_rap!
Громадное человеческое спасибо!!! Все прекрасно работает.

Оффлайн Andronik

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Canon LaserShot LBP-1120(и др.)
« Ответ #14 : 25 Мая 2010, 13:59:37 »
Все сделал по инструкции Pryanik_rap. При включении принтера ccpd автоматом не запускается, при выключении - captmon не убивается... :(
ОС: Ubuntu 10.04, ПК: Intel Celeron 1,7MHz, RAM 512 МБ.
« Последнее редактирование: 25 Мая 2010, 14:04:30 от twemas »

 

Страница сгенерирована за 0.071 секунд. Запросов: 25.