Содержание
Автоматическая установка
Пользователем coden в соответствующей теме был предложен разработанный им на основе данных из разных источников скрипт автоматической установки и настройки драйвера Linux CAPT Printer Driver v2.71 для принтеров Canon: LBP-810, LBP-1120, LBP-1210, LBP2900, LBP3000, LBP3010, LBP3018, LBP3050, LBP3100, LBP3108, LBP3150, LBP3200, LBP3210, LBP3250, LBP3300, LBP3310, LBP3500, LBP5000, LBP5050, LBP5100, LBP5300, LBP6000, LBP6018, LBP6020, LBP6200, LBP6300, LBP6300n, LBP6310, LBP7010C, LBP7018C, LBP7200C, LBP7210C, LBP9100C, LBP9200C на Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04, 14.10, 15.04, 15.10, 16.04 32-битной и 64-битной архитектуры. Если вы уже делали какие-либо действия по установке принтера этой серии, в текущей системе, то перед началом установки, следует отменить эти действия. При отсутствии пакетов драйвера они автоматически загружаются из интернета в папку скрипта. Для обновления драйвера сначала удаляете старую версию через скрипт, затем устанавливаете новую также через скрипт.
Чтобы воспользоваться скриптом, необходимо скачать его и запустить через терминал:
Материалы для загрузки
Установка драйвера вручную
Скачать драйвер на сайте Canon.
Распаковать архив, перейти в распакованную папку, установить по очереди:
cndrvcups-common.deb
cndrvcups-capt.deb
Не включая принтер регистрируем его в системе
Вместо LBP2900 укажите свою модель принтера, а вместо CNCUPSLBP2900CAPTK.ppd укажите название ppd вашего принтера из ниже указанной таблицы
Имя принтера | Имя файла PPD |
---|---|
LBP9100C | CNCUPSLBP9100CCAPTK.ppd |
LBP7200C series | CNCUPSLBP7200CCAPTK.ppd |
LBP7200Cdn (network mode) | CNCUPSLBP7200CCAPTK.ppd |
LBP7018C / LBP7010C | CNCUPSLBP7018CCAPTK.ppd |
LBP6300 | CNCUPSLBP6300CAPTK.ppd |
LBP6200 | CNCUPSLBP6200CAPTK.ppd |
LBP6000 LBP6018 | CNCUPSLBP6018CAPTK.ppd |
LBP5300 | CNCUPSLBP5300CAPTK.ppd |
LBP5100 | CNCUPSLBP5100CAPTK.ppd |
LBP5050 series | CNCUPSLBP5050CAPTK.ppd |
LBP5000 | CNCUPSLBP5000CAPTK.ppd |
LBP3500 | CNCUPSLBP3500CAPTK.ppd |
LBP3310 | CNCUPSLBP3310CAPTK.ppd |
———————————————— | ———————————————— |
Имя принтера | Имя файла PPD |
---|---|
LBP3300 | CNCUPSLBP3300CAPTK.ppd |
LBP3250 | CNCUPSLBP3250CAPTK.ppd |
LBP3210 | CNCUPSLBP3210CAPTK.ppd |
LBP3200 | CNCUPSLBP3200CAPTK.ppd |
LBP3150 / LBP3108 / LBP3100 | CNCUPSLBP3150CAPTK.ppd |
LBP3100 / LBP3108 / LBP3150 | CNCUPSLBP3150CAPTK.ppd |
LBP3010 / LBP3018 / LBP3050 | CNCUPSLBP3050CAPTK.ppd |
LBP3000 | CNCUPSLBP3000CAPTK.ppd |
LBP2900 | CNCUPSLBP2900CAPTK.ppd |
LBP-1210 | CNCUPSLBP1210CAPTK.ppd |
LBP-1120 | CNCUPSLBP1120CAPTK.ppd |
LBP-810 | CNCUPSLBP1120CAPTK.ppd |
———————————————— | ———————————————— |
Через главное меню на панели рабочего стола запускаем программу «Печать» и выбираем правой кнопкой мыши принтер по умолчанию.
Перезагружаем компьютер, включаем принтер и пробуем распечатать. В предварительном просмотре, не забываем настроить параметры печати.
Удаление драйвера установленого вручную
Удаление регистрации принтера
Удаление из автозагрузки ccpd
Решение проблем
Если принтер не начал печатать, значит нужно посмотреть в /dev/usb под каким названием отображается принтер, например если lp2, то отменяем и регистрируем заново
Мониторинг состояния принтера
В комплекте с драйвером поставляется графическая утилита captstatusui при помощи которой можно отслеживать состояние принтера. Использовать её можно следующим образом:
Для того, чтобы мониторинг запускался при каждом включении компьютера сделайте следующее: откройте Параметры системы → Автоматически запускаемые приложения, нажмите на кнопку добавить.
Название: Canon Printing Status Monitor
Команда: captstatusui -e -P
Описание: Скрыто до появления ошибок
С опцией -e утилита не будет показывать свое окно до тех пор, пока не случится ошибка.
GDI-принтеры, в частности Canon LBP2900, это довольно актуальная проблема для linux-пользователей, так как поставщик драйверов для этого чуда не сильно позаботился об их юзаюбельности. У этих драйверов есть open-source форк, но он нестабилен и находится в стадии отлаживания. Пример его использования я приводить не буду, а приведу пример использования проприетарных драйверов от Canon.
Зачем этот пост? Насколько мне известно, множеству людей не удалось заставить работать такой принтер под linux, поэтому я поделюсь с сообществом своей success story.
Основной проблемой является то, что для работы проприетарных драйверов необходим демон ccpd, который несколько мешает работе других принтеров, при этом в случае каких-то непредвиденных обстоятельств и сбоев он приводит к увеличению нагрузки на процессор.
Мой workaround состоит в том, чтобы при подключении принтера, производить его настройку в один клик, а далее, после его отключения, убирать все следы использования.
Все действия я производил на Ubuntu 10.04 LTS, libc6 ver. 2.11. Говорят, что работа драйвера при разных версиях библиотеки libc6 может отличаться.
Для начала нам необходимо скачать проприетарные драйвера c сайта Canon. Путем проб и ошибок я выяснил, что версия 1.60 лучше всех поддается настройке, но это сугубо мое мнение.
Скачиваем архив, распаковываем, и в каталоге drivers находим искомые cndrvcups-capt_1.60-2_i386.deb cndrvcups-common_1.60-2_i386.deb
Устанавливаем их в таком порядке:
sudo dpkg-i cndrvcups-common_1.60-2_i386.deb
sudo dpkg -i cndrvcups-capt_1.60-2_i386.deb
также нам необходимо:
sudo apt-get install cups
Итак, приступим. Для настройки и удаления принтера я набросал bash-скрипт:
#!/bin/bash
if [ $1 = "kill" ]; then sudo killall -9 captmon2
fi
if [ $1 = "start" ] ;then
sudo ccpdadmin -x LBP2900 #удаляем записи о принтере на всякий случай
sudo /etc/init.d/cups stop #останавливаем демон печати
sudo mkdir /var/ccpd
sudo mkdir /var/captmon
sudo mkfifo /var/ccpd/fifo0 #эти файлы почему то не создаются автоматом..
sudo chmod 777 /var/ccpd/fifo0
sudo /etc/init.d/cups start #запускаем демон печати
sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E #регистрируем принтер в системе
sudo cp /home/jamb/scripts/ccpd /etc/init.d/ccpd #заменяем стандартный демон на патченный
sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usblp0 # добавляем принтер, адрес работает почему-то только такой. разработчики?
sudo /etc/init.d/ccpd stop # здесь обязательно надо отрубить ccpd, таков ритуал
sudo /etc/init.d/ccpd start
captstatusui -P LBP2900 # показываем интерфейс управления, там отобразятся события, например замятие бумаги
else if [ $1 = "stop" ] ;then
sudo ccpdadmin -x LBP2900
sudo /etc/init.d/cups stop
sudo /etc/init.d/ccpd stop
fi
fi
Теперь о ритуале запуска.
Во-первых, ccpd надо заменять на патченный, стандартный не справляется. исходную ссылку на него дать не могу, утеряна за давностью лет, но вот он: http://pastebin.com/9vcUtL4f. Все благодарности за патч отправляйте Raphael Doursenaud и Markovtsev Vadim . Копируем содержимое по ссылке в файл ccpd и указываем путь к нему в скрипте, мой путь:
/scripts/ccpd
Во-вторых, если подключить принтер по usb, и довольно долго не запускать скрипт, то вероятность правильной работы устройства очень сильно уменьшается, при этом captstatusui выдает ошибку *socket error*.
Итак, называем основной скрипт как нибудь, например lbp2900, даем ему права на исполнение
chmod +x ./lbp2900
Теперь подключаем принтер к компьютеру, ждем секунды три, и запускаем скрипт
lbp2900 start
если все сделано верно, то появится окошко captstatusui с надписью Ready to print. Можем печатать. Заметьте, теперь в cups два принтера, один поднимается по умолчанию системой и не работает, а второй наш, рабочий. У меня он называется LBP2900-2.
Для отключения принтера выполняем
lbp2900 stop
и вынимаем usb провод.
При этом может возрасти нагрузка на процессор. Это бунтует процесс captmon2, лечится командой
lbp2900 kill
Таким образом, наша система не загрязнена ничем, кроме драйвера для устройства, и довольно быстро настраивается для работы с LBP2900.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Записки по применению свободных технологий в программировании и повседневной работе с персональным компьютером
Canon LBP 2900B + Linux Mint 17
- Получить ссылку
- Электронная почта
- Другие приложения
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
Отправить комментарий
Популярные сообщения из этого блога
Socks5 proxy на CentOS 7
Bitrix24 API – разбор демо приложения третьего типа
Подсветка лестницы
Вступление По мотивам проекта автоматической подсветки лестницы с помощью Arduino, который, в свою очередь, создан по мотивам другого проекта, я дополнил и модернизировал схему и код и получил свой вариант. Это мой первый проект на Arduino, поэтому буду описывать всё "для чайников", т.е. что бы мне же было понятно, если позже захочу к этому вернуться.
Цель проекта Сделать красивую и функциональную подсветку под ступеньками лестницы на второй этаж в частном доме. В тёмное время суток должна загораться "дежурная" подсветка на первой и последней ступеньке, чтобы их было видно. Во время начала подъёма или спуска кого-либо по лестнице должна загораться подсветка всей лестницы. Также захотелось "весёлый" режим работы подсветки на случай праздника.
Что требуется Я использовал китайский аналог Arduino PRO Mini ATMEGA328P 5V 16MHZ в качестве центрального мозга.
Датчики: фоторезистор для замера освещённости (у меня Photoresistor GL5516 LDR), два ультразвуковых даль…
Популярные статьи
Подсветка лестницы
Вступление По мотивам проекта автоматической подсветки лестницы с помощью Arduino, который, в свою очередь, создан по мотивам другого проекта, я дополнил и модернизировал схему и код и получил свой вариант. Это мой первый проект на Arduino, поэтому буду описывать всё "для чайников", т.е. что бы мне же было понятно, если позже захочу к этому вернуться.
Цель проекта Сделать красивую и функциональную подсветку под ступеньками лестницы на второй этаж в частном доме. В тёмное время суток должна загораться "дежурная" подсветка на первой и последней ступеньке, чтобы их было видно. Во время начала подъёма или спуска кого-либо по лестнице должна загораться подсветка всей лестницы. Также захотелось "весёлый" режим работы подсветки на случай праздника.
Что требуется Я использовал китайский аналог Arduino PRO Mini ATMEGA328P 5V 16MHZ в качестве центрального мозга.
Датчики: фоторезистор для замера освещённости (у меня Photoresistor GL5516 LDR), два ультразвуковых даль…