Некоторые мультифункциональные устройства, принтеры и сканеры не работают «из коробки» в Linux, но поставляются с драйвером. Естественно, по инструкции идущей в комплекте их установить невозможно, поэтому и появился этот раздел в ЧаВо. Рассматриваемый дистрибутив - Ubuntu 10.04.
/etc/cups/
;/usr/lib/cups/filter
;/etc/cups/ppd/
;blacklist usblp
modprobe -r usblp
sudo dpkg -i scan_xrwc5020_1.0.0.12_i386.deb
;# Detect Sane scanner # Xerox WorkCentre 5016 ATTRS{idVendor}=="0924", ATTRS{idProduct}=="4271", ENV{libsane_matched}="yes"
# Change group to scanner for sane devices ENV{libsane_matched}=="yes", GROUP="scanner"
scanner
:addgroup --system scanner
usermod -a -G scanner ubuntu_user
sudo udevadm trigger
2);При печати из-под Linux эта модель Xerox не умеет брать бумагу из обходного лотка в положении A4L (только А4, короткой стороной к принтеру). Техподдержка сообщила, что это «конструктивная особенность».
При печати по сети на стороне клиента нельзя сменить формат бумаги для печати.
Для корректной работы этих МФУ достаточно установить Samsung Unified Linux Driver и добавить пользователя в группу lp
.
Если не хочется использовать убогий GUI от Samsung, то можно установить файлы вручную…
Во время добавления принтера в CUPS необходимо выбрать драйвер pxlmono (Generic PCL 6/PCL XL Printer Foomatic/pxlmono) 3)
Для подключения в Windows этого принтера можно использовать драйвер «Универсальный - Generic Mono XPS Class Driver».
Во время установки принтера необходимо выбрать драйвер generic PCL 6/PCL XL 4)
Он же Sagem какой-то…
Для запуска сканера необходимо скачать драйвер с офф. сайта, распаковать и запустить ту часть, которая относится к сканеру для установки драйвера spll2 в sane.
Чтобы заработало сканирование от обычного пользователя, надо этого пользователя добавить в группу lp.
Функция «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 и установлен cupswrapper драйвер с оффсайта
Диагноз: не печатает
Лечение: для того, чтобы принтер начал печатать необходимо помимо установки cupswrapper-драйвера по инструкции установить ещё и LPD-драйвер.
Если печать внезапно прекращается, принтер ставится в паузу, и в логах есть сообщения от apparmor, то можно отключить apparmor для cups следующим образом:
aa-complain /usr/sbin/cupsd
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
Старый принтер с программным интерфейсом 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