magist3r 22.09.2010 15:51

How-to`sУстановка принтера Canon LBP-1120/810 в linux

Добрый день, уважаемое сообщество. Сегодня я хочу поделиться рецептиком по приготовлению сабжевого принтера в Linux. Ничего нового я не изобрел, просто допилил напильником то, что сумел найти. Проприетарные дрова ввиду их глючности я выкинул, и данный рецептик относится к Ъ-опенсорсным дровам=). Всех интересующихся прошу под кат.

Итак, приступим. Для приготовления нам понадобятся:
ПринтерgccmakeТарболл с драйверомПрямые руки1) gcc и make устанавливаем с помощью пакетного менеджера, в моем случае так:
1
sudo zypper in make gcc


2) Скачиваем архив с драйвером. Тут я сделаю оговорку. Мне пришлось внести небольшие изменения в исходники драйвера, чтобы он стал вменяемо печатать. Изменения коснулись двух файлов:
1
diff capt.h capt.h.new


24c24
< //#define PIXELS_BY_ROW (LINE_SIZE*8)
---
> #define PIXELS_BY_ROW (LINE_SIZE*8)
27c27
< #define ROWS_BY_BAND 104 // number of rows in a band
---
> //#define ROWS_BY_BAND 104 // number of rows in a band
29c29
< //#define ROWS_BY_BAND 13 // number of rows in a band
---
> #define ROWS_BY_BAND 13 // number of rows in a band

1
diff capt.c capt.c.new


77,78c77,78
< int topskip=0;
< int leftskip=0;
---
> int topskip=120;
> int leftskip=130;

Без этих изменений у меня на одном листе печаталась половина одной страницы и половина другой, а также изображение сдвигалось немного влево и вниз. Что характерно, в свойствах принтера имеются опции leftskip и topskip, но их изменение никак не влияет на выводимое изображение, поэтому пришлось прописывать жестко в коде.
Но мы отвлеклись=). Скачать драйвер с моими изменениями можно отсюда, оригинальный драйвер тут.

3) Распаковываем и устанавливаем драйвер.
1
2
3
4
tar -xzf capt-0.1.1.tar.gz
cd capt-0.1.1
make
sudo make install


4) Перезапускаем сервер cups.
1
sudo /etc/init.d/cups restart


5) Добавляем принтер в cups. Для этого заходим через браузер на http://localhost:631/, Администрирование -> Добавить принтер. Далее выбираем подключение LPT #1 (главное не usb!!!), вводим имя принтера, затем выбираем из списка наш драйвер (Canon LBP-810 foomatic/capt), жмем добавить принтер, выбираем тип бумаги А4. Далее отправляем тестовую страницу на печать и радуемся=)))

PS. Все вышеописанное проводилось на openSUSE 11.3 c cups-1.4.4 на борту. Принтер исправно печатает, в том числе и по сети. Перезагрузки, включение/отключение принтера драйвер переносит нормально, не жрет проц, в отличие от проприетарщины.=)
PS2. Если у кого возникнут проблемы, велкам в комменты, будем решать вместе.
PS3. Огромное спасибо автору оригинального драйвера за проделанную работу.



Тэги: capt drivers lbp1120 Linux
+ 9 -
Похожие Поделиться

krig 22.09.2010 16:27 #
затем выбираем из списка наш драйвер (Canon LBP-810 foomatic/capt)

Для 1120 выбирать то же самое или там Canon LBP-1120 foomatic/capt будет в списке?
magist3r 22.09.2010 16:36 #
Canon LBP-810 foomatic/capt для обоих принтеров.
Sylar 22.09.2010 17:43 #
CAPT...
Сколько ж нервов мне Canon 3010 попортил :)
magist3r 22.09.2010 19:09 #
вот вот=) я уж сегодня собирался притащить с работы другой принтер, но вот сначала решил попытать счастья еще раз. как оказалось не зря=)
dr_magnus 23.09.2010 00:12 #
а под Арчем кто-нить пробовал?
делаю по инструкции, а в итоге при печати пробной страницы - "Статус: Остановлено".
есть идеи?
magist3r 23.09.2010 11:11 #
хм. надо логи cups посмотреть на предмет ошибок. и еще лог дравйвера в /tmp/capt.log
magist3r 23.09.2010 11:21 #
Попробуйте capt-print testfile, если на печатает - то проблема в настройках.
magist3r 23.09.2010 12:42 #
и проверьте подключение. должно быть что-то вроде parallel:/dev/lp0
depeche 23.09.2010 10:59 #
розстановка костылей и подпорок...

а жаль, что кенон делает галимые дрова.
magist3r 23.09.2010 11:13 #
ну расстановку костылей приходилось делать именно для кэноновских дров. тут вроде все работает, тьфу тьфу тьфу=))
depeche 23.09.2010 19:31 #
ну да. я был чуть невнимательный. кенон делает ужасные дрова. может быть, лучше было б, если бы он их не делал вообще.
magist3r 23.09.2010 20:08 #
ну тут скорее протокол capt насквозь проприетарный и недокументированный виноват. Но вообще да, принтеры canon сам не куплю и никому не посоветую именно изза дров.
Vedbmak 23.09.2010 20:28 #
С LBP1120 намучался сильно. У меня заработал вот этот метод (тьфу-тьфу) работает и сейчас. http://vk.it-sfera.com.ua/164.html
Правда на украинском, но кому надо тот поймет.
depeche 23.09.2010 20:52 #
украинский - прекрасный язык.)
Vedbmak 23.09.2010 20:53 #
Да кто ж спорит ( Я то сам с Украины)
magist3r 23.09.2010 22:09 #
ого, полностью переписан скрипт ccpd=))) вот где настоящие костыли. А у Вас captmon не начинает со временем кушать процессор? И нормально работает, если сначала загрузить систему, а потом только включить принтер? Я именно из-за таких вот проблем выкинул проприетарные дровишки.
magist3r 23.09.2010 22:09 #
немного не туда ответил=)
shydla 24.09.2010 12:34 #
Под убунтой еще проще, тупо заходишь на сайт производителя и скачиваешь драйвер, скрипт сам подтянет все необходимое. Драйвер есть для 1120, он же подходит для 810 (только USB).
magist3r 24.09.2010 14:42 #
если вы внимательно читали топик, то там написано, что проприетарные дрова (читай с сайта производителя) жуткого качества и то работают, то нет.
shydla 24.09.2010 14:49 #
3 года, в 2 разных конторах ни одной жалобы...
Joshua Sturmvogel 09.01.2017 22:11 #
Попробую динозавра поднять. суть проблемы такова:
запустил принтсервер на orangepi Zero + СUPS + LBP-810

одну страницу печатает нормально, но если несколько - то режет изо вдоль по пол страницы и печатает только 2.5 листа. потом процесс останавливается.

надеюсь что правленный драйвер в этом поможет, но ссылка больше не работает. может кто-то поделится?