CUPS


 * lpr
 * printcap
 * USB-принтер

Firefox on my Dad’s machine always wants to print to 300 DPI by default. He can manually change it, but it’s annoying. Other browsers pick up the printer default of 600 DPI and are happy, but not Firefox. He posted a bug on Launchpad for it and then afterwards I found a fix for it upstream in Mozilla’s Bugzilla.

It’s as simple as: lpoptions -o Resolution=600dpi

This will add a default resolution to ~/.cups/lpoptions  My ~/.cups/lpoptions contains: Default IP4200 Resolution=600dpi

http://www.freebsd.org/doc/en/articles/cups/index.html - в Handbook описывается обычные принтера

Для вин-принтеров HP http://foo2xqx.rkkda.com/ по-видимому, использующих вот эту хрень

Метапорт /usr/ports/print/cups

make config-recursive -C /usr/ports/print/cups make install clean -C /usr/ports/print/cups

base - +LIBUSB +XPDF. Второго взводить не следует, иначе будет ошибка при сборке и сообщение cups-base-1.4.6_5 pick ghostscript or xpdf, not both.

После того как пересобрал без LIBUSB, то CUPS стал видеть все автоматически. Но как я понимаю, это все работа через ulpt, что есть кривизна. Local Printers: 	USB Printer #1 USB Printer #1 (no reset) HP Printer (HPLIP)

Когда создаешь принтер, то получаешь usb:/dev/ulpt0

ghostscript много настроек - GS_CUPS стоит по умолчанию и куча всего отсального. Драйвера железных принтеров убрал, оставив на всякий случай HP-шные лазерные

Можно из пакета pkg_add -rv cups-base

Удаление cups, cups-base и cups-client make deinstall -C /usr/ports/print/cups Удаление выбранных конфигураций для сборки make rmconfig-recursive -C /usr/ports/print/cups

Настройка
Принтер HP LaserJet P2015dn Printer (CB368A)

Base printer plus: two-sided printing capabilities and networking

HP 53A Black LaserJet Toner Cartridge (Q7553A)

echo 'cupsd_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/cupsd forcestart

Зайти http://localhost:631/

Если пароль root нулевой, то нужно установить - иначе не получается CUPS залогиниться.
 * Add printer
 * Выбираю HP LaserJet Series PCL 4/5 (en) (второй там это DeskJet- это струйные принтера)

В первый раз не работало, после перезагрузки заработало - начал дергать форматы Letter на А4 менять и пр, но не в том дело похоже. При этом при печати из самого интерфейса CUPS его вида из FF - печатает очень грубо текст, как при разрешении 72 что-ли.

Другие варианты работы с принтером
Принтер есть вот тут

CUPS includes drivers for Dymo, Epson, HP, Intellibar, Okidata, and Zebra printers. HP provides open source drivers for most of their printers as part of the HPLIP project. Photo-quality printer drivers are available for Canon, Epson, HP, and others from the Gutenprint open source project.

print/gutenprint-cups и print/hplip,

QT-gui не стоит ставить - очень долго и много ставит

HPLIP expects printers to be attached as a ugen(4) devices. This means that you must NOT have "device ulpt" in your kernel and ulpt must NOT be loaded as a kernel module (you may also want to compile print/cups-base with LIBUSB support). Please, follow the instructions from print/cups-base pkg-message to setup correct permission for usb devices.

In order to enable full functionality of hp tools, users must be added to group `cups'.

 ===>  Registering installation for hplip-3.11.3 ===> Cleaning for foomatic-filters-4.0.1_5 ===> Cleaning for py27-gobject-2.26.0 ===> Cleaning for py27-dbus-0.83.2 ===> Cleaning for py27-qt4-gui-4.8.3,1 ===> Cleaning for py27-qt4-dbus-4.8.3,1 ===> Cleaning for a2ps-a4-4.13b_4 ===> Cleaning for enscript-a4-1.6.4_4 ===> Cleaning for mpage-2.5.6 ===> Cleaning for py27-cairo-1.8.10 ===> Cleaning for py27-sip-4.12.1,1 ===> Cleaning for qscintilla2-2.4.6,1 ===> Cleaning for py27-qt4-core-4.8.3,1 ===> Cleaning for qt4-designer-4.7.3 ===> Cleaning for qt4-declarative-4.7.3 ===> Cleaning for qt4-webkit-4.7.3 ===> Cleaning for qt4-assistant-4.7.3 ===> Cleaning for qt4-opengl-4.7.3 ===> Cleaning for qt4-xmlpatterns-4.7.3 ===> Cleaning for phonon-4.5.0 ===> Cleaning for phonon-gstreamer-4.5.1 ===> Cleaning for qt4-scripttools-4.7.3 ===> Cleaning for qt4-doc-4.7.3 ===> Cleaning for qt4-help-4.7.3 ===> Cleaning for libGLU-7.4.4 ===> Cleaning for qt4-qtestlib-4.7.3 ===> Cleaning for automoc4-0.9.88_1 ===> Cleaning for cmake-2.8.4_1 ===> Cleaning for kdehier4-1.0.9 ===> Cleaning for qt4-clucene-4.7.3 ===> Cleaning for qt4-sqlite-plugin-4.7.3 ===> Cleaning for sqlite3-3.7.6.3 ===> Cleaning for tcl-8.5.9 ===> Cleaning for tcl-modules-8.5.9 ===> Cleaning for hplip-3.11.3 

foomatics filters - по умолчанию

После установки hplib появилось Local Printers: 	HP Printer (HPLIP) но добавить оно пытается сетевой принтер.

hp-setup не видит принтера в упор, даже если указать его USB ID 03f0:3817. Но начинает его видеть после запуска dbus /usr/local/etc/rc.d/dbus forcestart

Просит указать PPD hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz или hp-laserjet_p2015_series-ps.ppd.gz мне кажется подходят, потому что он просто p2015 series без букв. Но в чем разница hpijs-pcl3 и ps?

 find hplip-3.11.5 -name "*2015*" hplip-3.11.5/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz hplip-3.11.5/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz hplip-3.11.5/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz hplip-3.11.5/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz hplip-3.11.5/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz hplip-3.11.5/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz hplip-3.11.5/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz hplip-3.11.5/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz hplip-3.11.5/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz hplip-3.11.5/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz hplip-3.11.5/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz hplip-3.11.5/data/images/devices/hp_laserjet_p2015.png hplip-3.11.3       Drivers and utilities for HP Printers and All-in-One device /usr/local/share/hplip/data/images/devices/hp_laserjet_p2015.png /usr/local/share/ppd/HP/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015_series-ps.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015d_series-hpijs.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015dn_series-hpijs.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015dn_series-ps.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015n_series-hpijs.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015n_series-ps.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015x_series-hpijs.ppd.gz /usr/local/share/ppd/HP/hp-laserjet_p2015x_series-ps.ppd.gz 
 * 1) pkg_info |grep hplip
 * 1) pkg_info -L hplip-3.11.3  | grep 2015

/warning: No PPD found for model laserjet_p2015_series using new algorithm. Trying old algorithm... error: No PPD found for model laserjet_p2015 using old algorithm. error: No appropriate print PPD file found for model hp_laserjet_p2015_series lpr: HP_LaserJet_P2015: unknown printer error: Print command failed with exit code 256!

/usr/local/libexec/cups/backend/hp direct hp:/usb/HP_LaserJet_P2015_Series?serial=00CNBW7B13V4 "HP LaserJet P2015 Series" "HP LaserJet P2015 Series USB 00CNBW7B13V4 HPLIP" "MFG:Hewlett-Packard;MDL:HP LaserJet P2015 Series;CLS:PRINTER;DES:HP LaserJet P2015 Series;SN:00CNBW7B13V4;"

For the impatient, you normally only need the following line in smb.conf to specify the print commands, etc. needed for CUPS: printing = cups

warning: hp-probe should not be run as root/superuser.
 * 1) /usr/local/bin/hp-probe

HP Linux Imaging and Printing System (ver. 3.11.3) Printer Discovery Utility ver. 4.1

Copyright (c) 2001-9 Hewlett-Packard Development Company, LP This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to distribute it under certain conditions. See COPYING file for more details.

Using connection type: usb


 * DEVICE DISCOVERY |

Device URI                                           Model hp:/usb/HP_LaserJet_P2015_Series?serial=00CNBW7B13V4 HP LaserJet P2015 Series Found 1 printer(s) on the 'usb' bus.

 Creates device URIs for local and network connected printers for use with CUPS.

Usage: hp-makeuri [OPTIONS] [SERIAL NO.|USB ID|IP|DEVNODE]

[SERIAL NO.|USB ID|IP|DEVNODE] USB IDs (usb only):             "xxx:yyy" where xxx is the USB bus ID and yyy is the USB device ID. The ':' and all leading zeroes must be present. (Use the 'lsusb' command to obtain this information. See Note 1.) IPs (network only):             IPv4 address "a.b.c.d" or "hostname" DEVNODE (parallel only):        "/dev/parportX", X=0,1,2,...                                                    SERIAL NO. (usb and parallel     "serial no."                                                                    only):

[OPTIONS] To specify the port on a        -p or --port= (Valid values are 1*, 2, and 3. *default) multi-port JetDirect: Show the CUPS URI only (quiet   -c or --cups                                                                    mode): Show the SANE URI only (quiet   -s or --sane                                                                    mode): Show the HP Fax URI only (quiet -f or --fax                                                                     mode): Set the logging level:          -l or --logging= : none, info*, error, warn, debug (*default) Run in debug mode:              -g (same as option: -ldebug) This help information:          -h or --help

Examples: USB:                            $ hp-makeuri 001:002 Network:                        $ hp-makeuri 66.35.250.209 Parallel:                       $ hp-makeuri /dev/parport0 USB or parallel (using serial   $ hp-makeuri US123456789                                                        number):

Notes: 1. Example using 'lsusb' to obtain USB bus ID and USB device ID (example only, the values you obtain will differ) : $ lsusb Bus 003 Device 011: ID 03f0:c202 Hewlett-Packard $ hp-makeuri 003:011 (Note: You may have to run 'lsusb' from /sbin or another location. Use '$ locate lsusb' to determine this.)

See Also: hp-setup 

 /usr/local/bin/hp-align /usr/local/bin/hp-check - warning: dbus daemon is not running. dbus запускался /usr/local/bin/hp-clean /usr/local/bin/hp-colorcal /usr/local/bin/hp-devicesettings /usr/local/bin/hp-fab /usr/local/bin/hp-faxsetup /usr/local/bin/hp-firmware /usr/local/bin/hp-info /usr/local/bin/hp-levels /usr/local/bin/hp-linefeedcal /usr/local/bin/hp-makecopies /usr/local/bin/hp-makeuri /usr/local/bin/hp-mkuri /usr/local/bin/hp-pkservice /usr/local/bin/hp-plugin /usr/local/bin/hp-pqdiag /usr/local/bin/hp-print /usr/local/bin/hp-printsettings /usr/local/bin/hp-probe - Found 1 printer(s) on the 'usb' bus. /usr/local/bin/hp-query /usr/local/bin/hp-scan /usr/local/bin/hp-sendfax /usr/local/bin/hp-setup - окно с настройками /usr/local/bin/hp-systray /usr/local/bin/hp-testpage - не находит принтера /usr/local/bin/hp-timedate /usr/local/bin/hp-toolbox - error: dBus initialization error. Exiting. /usr/local/bin/hp-unload /usr/local/bin/hp-wificonfig /usr/local/bin/hpijs - вообще не запускается молча 

lsusb
make install clean -C /usr/ports/sysutils/usbutils

pkg_info -L usbutils-0.86_1 /usr/local/share/licenses/usbutils-0.86_1/catalog.mk /usr/local/share/licenses/usbutils-0.86_1/LICENSE /usr/local/share/licenses/usbutils-0.86_1/GPLv2 /usr/local/man/man1/usb-devices.1.gz /usr/local/man/man8/lsusb.8.gz /usr/local/bin/usb-devices /usr/local/libdata/pkgconfig/usbutils.pc /usr/local/sbin/lsusb /usr/local/sbin/update-usbids.sh /usr/local/share/usbutils/usb.ids /usr/local/share/usbutils/usb.ids.gz /usr/local/share/doc/usbutils/AUTHORS /usr/local/share/doc/usbutils/ChangeLog /usr/local/share/doc/usbutils/NEWS /usr/local/share/doc/usbutils/README

lsusb  Bus /dev/usb Device /dev/ugen2.2: ID 058f:9254 Alcor Micro Corp. Hub Bus /dev/usb Device /dev/ugen7.3: ID 152e:2507 LG (HLDS) Bus /dev/usb Device /dev/ugen0.2: ID 046d:c501 Logitech, Inc. Cordless Mouse Receiver Bus /dev/usb Device /dev/ugen3.2: ID 03f0:3817 Hewlett-Packard LaserJet P2015 series Bus /dev/usb Device /dev/ugen7.2: ID 0bda:0111 Realtek Semiconductor Corp. Card Reader 

Подключение принтера из MS Windows
Начиная с XP достаточно добавить ссылку http://172.16.0.1:631/printers/HP - ровно также выглядит ссылка в веб-морде капса.
 * 1) Сетевой принтер или принтер, подключенный к другому компьютеру
 * 2) Подключиться к принтеру в Интернете, в домашней сети или в интрасети
 * 3) Далее выбрать драйвер HP Laserjet

По умолчанию в свойствах принтера стоит Использовать анонимную учетную запись, а также можно делать доступ по логину и паролю.

Для более старых версий нужно устанавливать samba

По ссылке http://172.16.0.1:631 - доступна морда капса. Если разрешено управление, то ввод пароля разрешит доступ к управлению. Есть еще доступ с интернета - видимо станет отвечаеть на внешнем интерфейсе.

Еще вариант для подключения принтера из винды это, по-видимому, установка print/cups-samba  и тогда он будет видет автоматически.

Сетевой принтер
snmpwalk -Os -c public -v 1 ip.address.of.printer 1.3.6.1.4.1.11.2.3.9.1.1.7.0