Это старая версия документа!
Содержание
Принтеры
Некоторые мультифункциональные устройства, принтеры и сканеры не работают «из коробки» в Linux, но поставляются с драйвером. Естественно, по инструкции идущей в комплекте их установить невозможно, поэтому и появился этот раздел в ЧаВо. Рассматриваемый дистрибутив - Ubuntu 10.04.
Установка МФУ Xerox 5016
Установка принтера
- качаем драйвер для принтера с офсайта;
- распаковываем .deb-файл для принтера xrworkcentre5020b_1.0.0_5_i386.deb;
- копируем файлы mimexrrb1.convs mimexrrb1.types в
/etc/cups/
; - копируем файлы pstoxrpre1 pstoxrraster rastertoxrrb1 в
/usr/lib/cups/filter
; - копируем файл wc5020b.ppd в
/etc/cups/ppd/
; - перезапускаем CUPS;
- добавляем принтер в CUPS
- если через Web-интерфейс, то указываем путь к файлу wc5020b.ppd;
- если через GUI, то выбираем производителя Xerox, модель WorkCentre-5020;
- чтобы заработала сетевая печать в Ubuntu 12.04: 1)
- добавить модуль usblp в «чёрный список»
- /etc/modprobe.d/blacklist-usblp.conf
blacklist usblp
- перезагрузиться или выгрузить модуль вручную:
modprobe -r usblp
- при печати по сети из Windows в настройках принтера указать вручную лоток и ориентацию бумаги в лотке, иначе принтер будет выдавать ошибку C0 и не печатать;
- настройки лотка хранятся в реестре в ветке HKCU;
Установка сканера:
- качаем драйвер для сканера с офсайта;
- устанавливаем .deb-файл для сканера:
sudo dpkg -i scan_xrwc5020_1.0.0.12_i386.deb
; - создаём файл /etc/udev/rules.d/98-xerox-wc5016.rules:
- /etc/udev/rules.d/98-xerox-wc5016.rules
# Detect Sane scanner # Xerox WorkCentre 5016 ATTRS{idVendor}=="0924", ATTRS{idProduct}=="4271", ENV{libsane_matched}="yes"
- создаём файл /etc/udev/rules.d/99-sane-group.rules:
- /etc/udev/rules.d/99-sane-group.rules
# Change group to scanner for sane devices ENV{libsane_matched}=="yes", GROUP="scanner"
- добавляем группу
scanner
:
addgroup --system scanner
- добавляем пользователя в группу:
usermod -a -G scanner ubuntu_user
- отсоединяем USB-шнур от сканера или перезагружаемся или выполняем:
sudo udevadm trigger
2); - устанавливаем xsane (simple-scan умирает в самом конце сканирования).
Примечания
При печати из-под Linux эта модель Xerox не умеет брать бумагу из обходного лотка в положении A4L (только А4, короткой стороной к принтеру). Техподдержка сообщила, что это «конструктивная особенность».
При печати по сети на стороне клиента нельзя сменить формат бумаги для печати.
МФУ Samsung SCX-4100 (Xerox WorkCentre PE 114)
Для корректной работы этих МФУ достаточно установить Samsung Unified Linux Driver и добавить пользователя в группу lp
.
Если не хочется использовать убогий GUI от Samsung, то можно установить файлы вручную…
Принтер Xerox Phaser 3155
Во время добавления принтера в CUPS необходимо выбрать драйвер pxlmono (Generic PCL 6/PCL XL Printer Foomatic/pxlmono) 3)
Для подключения в Windows этого принтера можно использовать драйвер «Универсальный - Generic Mono XPS Class Driver».
Принтер Xerox Phaser 3210
Во время установки принтера необходимо выбрать драйвер generic PCL 6/PCL XL 4)
Принтер HP LaserJet 1020
- aptitude install foo2zjs
- sudo mv sihp1020.dl /usr/share/foo2zjs/firmware/
- sudo chown root. /usr/share/foo2zjs/firmware/*
- sudo reboot
- добавить принтер через http://localhost:631 и выбрать драйвер HP LaserJet 1020 Foomatic/foo2zjs (recommended)
Samsung ML-191x
- найти здесь и скачать Unified Linux Driver;
- распаковать его;
- установить принтер, указав ему PPD из распакованного архива;
- задать параметры принтера по-умолчанию
Philips LaserMFD 6020
Он же Sagem какой-то…
Для запуска сканера необходимо скачать драйвер с офф. сайта, распаковать и запустить ту часть, которая относится к сканеру для установки драйвера spll2 в sane.
Чтобы заработало сканирование от обычного пользователя, надо этого пользователя добавить в группу lp.
Hewlett-Packard Smart Install
Функция «Smart Install» - это когда принтер при подключении к компу распознаётся как USB Mass Storage device. 5)
Принтер находится в этом режиме, если значение параметра bNumInterfaces
= 1:
lsusb -d 03f0:042a -v | grep bNumInterfaces
Чтобы перевести принтер в обычный режим: 6)
sudo usb_modeswitch -v 03f0 -p 042a -M 505554202F6465762F666561747572655374617475732E786D6C20485454502F312E310D0A434F4E54454E542D4C454E4754483A203232320D0A555345522D4147454E543A68702050726F78792F332E300D0A484F53543A6C6F63616C686F73743A333931300D0A0D0A3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0D0A3C6665617475726553746174757320786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E636522207873693A6E6F4E616D657370616365536368656D614C6F636174696F6E3D22666561747572655374617475732E787364223E0D0A20203C736D617274496E7374616C6C3E64697361626C65643C2F736D617274496E7374616C6C3E0D0A3C2F666561747572655374617475733E0D0A0D0A -n -2 474554202F6465762F666561747572655374617475732E786D6C20485454502F312E310D0A434F4E54454E542D4C454E4754483A20300D0A555345522D4147454E543A68702050726F78792F332E300D0A484F53543A6C6F63616C686F73743A333931300D0A0D0A -n -R
Затем выключить/включить электропитание принтера.
ИЛИ
Перезагрузить комп два раза?
Brother HL-5440D
Дано: установлен принтер Brother HL-5440D и установлен cupswrapper драйвер с оффсайта
Диагноз: не печатает
Лечение: для того, чтобы принтер начал печатать необходимо помимо установки cupswrapper-драйвера по инструкции установить ещё и LPD-драйвер.
AppArmor
Если печать внезапно прекращается, принтер ставится в паузу, и в логах есть сообщения от apparmor, то можно отключить apparmor для cups следующим образом:
aa-complain /usr/sbin/cupsd
Debugging
Quick debugging of a Linux printer via cups command line tools Step by step cups debugging ( here with a network printer) Which printer queue do I have configured ? lpstat -p printer epson is idle. enabled since Sat Dec 24 13:18:09 2017 #here I have a printer called 'epson", doing nothing, that the cups daemon considers as enabled Which connection am I using to get to this printer ? lpstat -v device for epson: lpd://epson34dea0.local:515/PASSTHRU # here the locally configured 'epson' printer queue is backed by a network device at the adress epson34dea0.local, to which I am sending my print jobs via the lpd protocol Is my printer ready ? lpq epson is ready no entries # here my local print queue 'epson' is accepting print jobs ( which does not say anything about the physical device, it might be offline If here you local print queue 'epson' is not ready, you can try to reenable it in the cups system with: sudo cupsenable epson If you notice that the printer is disabled all the time, because for instance of a flaky network, you can edit /etc/cups/printers.conf and change the ErrorPolicy for each printer from stop-printer to retry-job. It should be also possible to set this parameter in cupsd.conf Finally you can print a test page with: lpr /usr/share/cups/data/testprint
Canon LBP-810
Старый принтер с программным интерфейсом GDI. Драйвер был получен реверс-инжинирингом7) протокола и, хоть и датируется 2004 годом, но успешно собирается под современные дистрибутивы из исходников. Качаем сорцы с официального сайта, отсюда или берём из зеркала. Распаковываем:
tar xzf capt-0.1.tar.gz
Чтобы собрать код современным компилятором, в опции gcc нужно добавить -std=gnu89
- иначе будет ругаться на INLINE функции. Для этого редактируем Makefile и добавляем опцию к CFLAGS8).
Компилируем9) и устанавливаем: 10)
make make install service cups restart
После перезапуска CUPS добавляем принтер через Web-интерфейс или GUI. Главное, что нужно сделать после добавления - сходить в свойства и поставить URI принтера как file:/dev/null
- иначе, CUPS при печати переключит принтер в неправильный режим, устройство /dev/usb/lp0 пропадёт и печать остановится.
Вот примерный путь распечатки: Приложение → CUPS → postscript → PBM → capt → USB
Шагов много, проблемы вероятнее всего таятся на последних трёх. Если они возникли - смотрим в /tmp/capt.log и /var/log/cups/error_log. Ещё можно воспользоваться служебной утилитой, скормив ей тестовый postscript файл:
cat a_image.ps | capt-print
Если это работает, а CUPS всё равно не печатает - проверяем политики безопасности и право CUPS запускать бинарник capt. Также можно изучить подробнее PPD файл, его можно будет найти в /etc/cups/ppd/ и строка FoomaticRIPCommandLine
отвечает за запуск конвертации и печати.
gcc
и glibc-dev