- Добавляем Cаnon LBP-810 в CUPS
- Установка драйвера Canon CAPT для принтеров Canon LBP
- Материалы для загрузки
- Решение проблем
- Мониторинг состояния принтера
- Ссылки
- Владельцам принтеров Canon LBP810 LBP1120
- Re: Владельцам принтеров Canon LBP810 LBP1120
- Re: Владельцам принтеров Canon LBP810 LBP1120
- Re: Владельцам принтеров Canon LBP810 LBP1120
- Re: Владельцам принтеров Canon LBP810 LBP1120
- CAPT Linux driver
- Download
- Install notes
- Supported printers and kernel versions
- Unsupported kernel versions
- Tools and Techniques
- Thanks
- Canon LBP810
- Re: Canon LBP810
- Re: Canon LBP810
- Re: Re: Canon LBP810
- Re: Canon LBP810
- Re: Re: Canon LBP810
- Re: Canon LBP810
Добавляем Cаnon LBP-810 в CUPS
Дома с давних времён валялся без дела древний GDI принтер Canon-LBP-810. Попросили меня подключить его для эпизодической распечатки бумажек. Так как это win-принтер, официальные драйвера существуют лишь под Windows, причём не новее версии XP. Мне даже выдали под это дело системних уровня Pentium-IV, на поверку оказавшийся. Тудорашем*!
Ностальгия — это хорошо, однако в современном мире использовать XP страшновато. Решил попробовать завести принтер в Linux и раскопал для этого заброшенный драйвер. В этой записи освещу шаги, необходимые для его работы в современном окружении.
Первым делом необходимо установить gcc, cups и glibc-dev. Чтобы собрать код современным компилятором, в опции gcc нужно добавить -std=gnu89 — иначе будет ругаться на INLINE функции. Для этого редактируем Makefile и добавляем опцию к CFLAGS
Теперь собираем и устанавливаем:
$ make
$ sudo make install
Для справки, этим шагом мы установили два бинарника и PPD файл. Первый бинарник называется capt и занимается непосредственно отправкой stdin на принтер через устройство /dev/usb/lp0. Второй бинарник называется capt-print и служит для отладки. Это простой shell-скрипт для преобразования postscript файлов в формат PBM, который понимает первый бинарник. PPD файл — это по сути конфигурация-обёртка для CUPS, точно так-же генерирующая PBM и отправляющая её программе capt.
Теперь перезапускаем CUPS и идём добавлять новый принтер. LBP-810 должен быть в списке. Главное, что нужно сделать после добавления — сходить в свойства и поставить URI принтера как file:/dev/null — иначе, в моём случае, CUPS при печати переключал принтер в неправильный режим, устройство /dev/usb/lp0 пропадало и печать не шла.
Можно отправлять задания на печать! Если что-то не работает, вот примерный путь распечатки:
Приложение -> CUPS -> postscript -> PBM -> capt -> USB
Шагов много, проблемы вероятнее всего таятся на последних трёх. Если они возникли — смотрим в /tmp/capt.log и /var/log/cups/error_log. Ещё можно воспользоваться служебной утилитой, скормив ей тестовый postscript файл:
Если это работает, а CUPS всё равно не печатает — проверяем политики безопасности и право CUPS запускать бинарник capt. Также можно изучить подробнее PPD файл, его можно будет найти в /etc/cups/ppd/ и строка FoomaticRIPCommandLine отвечает за запуск конвертации и печати.
Ну и конечно проверьте, что принтер включён в розетку и в нём есть бумага 😉
* Тудораш — первый сервер FedoraMD, трудившийся с 2007 по 2008 год
Установка драйвера Canon CAPT для принтеров Canon LBP
Пользователем 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-битной архитектуры. Если вы уже делали какие-либо действия по установке принтера этой серии, в текущей системе, то перед началом установки, следует отменить эти действия. При отсутствии пакетов драйвера они автоматически загружаются из интернета в папку скрипта. Для обновления драйвера сначала удаляете старую версию через скрипт, затем устанавливаете новую также через скрипт.
Чтобы воспользоваться скриптом, необходимо скачать его и запустить через терминал:
chmod +x canon_lbp_setup.sh
Материалы для загрузки
Установка драйвера принтера Canon CAPT — Рабочая актуальная документация по установке драйвера от французских пользователей
How to install Canon LBP printers in Ubuntu — Radu Cotescu’s professional blog — Первый найденный мной скрипт по установке принтера от программиста Раду Cotescu
Решение проблем
Если принтер не начал печатать, значит нужно посмотреть в /dev/usb под каким названием отображается принтер, например если lp2, то отменяем и регистрируем заново
sudo ccpdadmin -x LBP2900 sudo ccpdadmin -p LBP2900 -o /dev/usb/lp2
Мониторинг состояния принтера
В комплекте с драйвером поставляется графическая утилита captstatusui при помощи которой можно отслеживать состояние принтера. Использовать её можно следующим образом:
captstatusui -P название_вашего_принтера>
Для того, чтобы мониторинг запускался при каждом включении компьютера сделайте следующее: откройте Параметры системы → Автоматически запускаемые приложения, нажмите на кнопку добавить.
Название: Canon Printing Status Monitor
Команда: captstatusui -e -P
Описание: Скрыто до появления ошибок
С опцией -e утилита не будет показывать свое окно до тех пор, пока не случится ошибка.
Ссылки
canon.jp — официальная страница драйвера CAPT для систем семейства Linux, там выложен драйвер, исходники драйвера, список изменений в драйвере, минимальные требования драйвера, инструкция по установке (на японском), дополнительная информация
Экспериментальный драйвер от нашего соотечественника. На данный момент нестабилен и поддерживает только LBP2900 (также имеется экспериментальная поддержка LBP3000 и LBP3010/LBP3018/LBP3050), но лишён многих недоработок фирменного драйвера.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Владельцам принтеров Canon LBP810 LBP1120
Родные драйвера сразу отправляем в /dev/null. Идем на сайт: http://www.boichat.ch/nicolas/capt/ Закачиваем архив capt версии 0.1, думаю дальнейшее развитие не предвидится но и оно работает на порядок лучше.
Собираем кто как умеет. Копируем capt и capt-printer в /usr/bin, либо в /usr/local/bin при этом попраправив ссылку в capt-printer. Копируем Canon-LBP-810-capt.ppd в /usr/share/cups/model. Проверить можно напечатать страницу в файл и cat test.ps | capt-printer
Далее заходим на http://127.0.0.1:631 Выбираем добавить принтер, далее заполняем инфо, при выборе девайса выбираем левый порт я выбирал file:/dev/null можно выбрать «serial port #8» или подобное кроме usb Выбираем модель canon lbp810 и можно спокойно печатать через cups.
Re: Владельцам принтеров Canon LBP810 LBP1120
Таким образом у меня работают 10 принтеров 1120. Хочу сказать что работают на порядок лучше чем с родным драйвером.
Re: Владельцам принтеров Canon LBP810 LBP1120
Re: Владельцам принтеров Canon LBP810 LBP1120
Хы, работает. Надо же. Правда, не без плясок с бубном. А как его научить по команде
печатать нормально русские буквы? Где почитать? Я вроде где-то видел, но не могу вспомнить.
Re: Владельцам принтеров Canon LBP810 LBP1120
>печатать нормально русские буквы? Где почитать? Я вроде где-то видел, но не могу вспомнить.
CAPT Linux driver
Canon printer using CAPT protocol are GDI printers (or winprinters), using a proprietary and undocumented protocol, that I reverse engineered (see Tools and Techniques).
You can download here a driver for Linux.
You must use an USB cable to connect your printer. If it only has a parallel port, I’m sorry but my driver won’t work.
This driver should support both A4 and Letter sized paper, but I only tested it with A4 sized paper.
Download
Version 0.1 (August 17 2004): capt-0.1.tar.gz
Install notes
Follow the instructions presented on the README file in the package.
Supported printers and kernel versions
This driver has been reported to work with these kernel versions and distributions:
Kernel 2.6.7 or greater (Gentoo)
This driver works with these printers:
Canon LBP-1120 (it has been reported to work better than the official Canon drivers)
It should work with other CAPT printers, but it needs to be confirmed.
Unsupported kernel versions
This driver has been reported NOT to work with these kernel versions:
Tools and Techniques
Here is the way I followed to write this driver:
I installed the Windows driver on a XP computer, then ran and installed USB Snoop to catch USB transmission. And then followed these steps:
Disconnect the USB Printer cable
Print simple document (only a few points)
Wait for the printer to start its engine
Then wait for the page to print, disconnect the USB cable, copy the log file somewhere else and delete the original.
If you only want to analyse the data sent to the printer before it effectively print the page, which is very useful if you don’t want to waste paper and let you analyse the compression protocol, just follow these steps after the printer engine starts:
Remove the paper before the printer takes it.
Cancel the current job on Windows
Start to print the next page.
Thanks
Rildo Pragana, for his driver for another GDI winprinter (Samsung ML-85G), on which I based my work, and for his articles which helped me a lot.
My sister, Stéphanie Boichat, who was bored with rebooting on Windows to print her documents, lent me her Canon LBP-810, and gave me the opportunity to do this interesting work.
Emanuele Zattin, who reported that this driver works with the Canon LBP-1120.
Canon LBP810
Как заставить LBP810 печатать? В инете пишется, что его вообще нельзя под линуксом заставить работать, но не покупать же новый принтер!
Re: Canon LBP810
Есть такие неполноценные принтеры (а еще и модемы!), в которых часть функций исполняется не аппаратно, как у людей, а программно, операционной системой (догадываетесь какой?), которые называют Win-принтерами или GUI-принтерами. Так что, если нет у вас хитроумного фирменного ПО для вашего Win-принтера (к GUI-принтерам Lexmark таковое прилагается, что радует), то заставить его печатать и вправду нельзя, если только вы не программист, в совершенстве знающий ваш принтер.
Re: Canon LBP810
Рецепт таков: нужно сделать на windows машине «виртуальный» postscript принтер, который перенаправляет все свои задания на «реальный» локальный принтер и расшарить его.
Говорят, что делается всё через GhostScript, но как ни искал в описаниях gs, ни слова о данной проблеме не нашёл. Может кто-нибуть знает и подскажет?
Re: Re: Canon LBP810
Хорошо-то хорошо, да вот есть ли у товарища Windows-машина и локальная сеть вообще, чтобы было где расшарить принтер.
Re: Canon LBP810
На диске cool-linux-cd-2.01, есть cups с фильтрами на этот принтер.
Где его взяли авторы диска я не знаю, но основан он на RedHat 7.3.
Может оттуда и выдрали, а может где еще взяли.
http://sourceforge.net/project/showfiles.php?group_id=55396&release_id=10.
Это если качать вздумаешь. А вообще-то я cups так и не смог заставить
работать, времени нет, своего принтера нет, ну и руки кривоваты. 😉
Re: Re: Canon LBP810
Да, CUPS — штучка такая — может, и будет с этим принтером работать. Я, кстати, без проблем наладил CUPS на многих машинах с Red Hat 8.0. А у вас-то почему не сработало?
Re: Canon LBP810
2 wildhoney
Буду рад получить от вас помощь в настройке CUPS, правда логичнее было
бы по емейлу, наверное. У меня трудности видимо с тем что я сам его
собирал из исходников, и не все нужные ему програмульки и скрыпты
оказались в нужных местах. При попытке что-нибудь отпечатать получаю
сообщение об ошибке. По всяким докам полазил нашел, что сия ошибка
означает отсутствие какого-то скрипта, который таки прописан в
mime.convs или mime.types. Можно было конечно его снести, нахрен, и
попробовать с нуля, (из rpm например родного), но некогда разбираться.
Хотя хотелось бы запустить печать у себя.