FreeBSD

FreeBSD: Установка и настройка CUPS с принтером HP1018

CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.200px-CUPS.svg_

Решил для себя сделать небольшое руководство по установке принт-сервера CUPS на домашний сервер под FreeBSD10

И так поехали:

 # uname -a
FreeBSD alexnettm.org.ua 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014  root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

Samba сервер у меня уже был настроенный, ставим принт-сервер CUPS

Устанавливаем все нужные пакеты из портов:

# cd /usr/ports/print/cups && make install clean
# cd /usr/ports/print/cups-base && make install clean
# cd /usr/ports/print/cups-bjnp && make install clean
# cd /usr/ports/print/cups-client && make install clean
# cd /usr/ports/print/cups-image && make install clean
# cd /usr/ports/print/cups-pdf && make install clean
# cd /usr/ports/print/cups-pk-helper && make install clean
# cd /usr/ports/print/cups-pstoraster && make install clean
# cd /usr/ports/print/cups-samba && make install clean
# cd /usr/ports/print/cups-smb-backend && make install clean
# cd /usr/ports/print/gutenprint-cups && make install clean
# cd /usr/ports/print/foomatic-db && make install clean
# cd /usr/ports/print/foomatic-db-engine && make install clean
# cd /usr/ports/print/foomatic-db-hpijs && make install clean
# cd /usr/ports/print/foomatic-filters && make install clean
# cd /usr/ports/print/gutenprint-foomatic && make install clean
# cd /usr/ports/print/ghostscript9 && make install clean
# cd /usr/ports/print/ghostview && make install clean

Устанавливаем HPLIP для поддержки принтеров HP

# cd /usr/ports/print/hplip && make install clean

Устанавливаем foo2zjs

# cd /usr/ports/print/foo2zjs && make install clean

Должно быть так:

# portversion -v | grep cups
cups-1.5.4                  =  up-to-date with port
cups-base-1.5.4_1           =  up-to-date with port
cups-bjnp-1.2.1_4           =  up-to-date with port
cups-client-1.5.4_1         =  up-to-date with port
cups-image-1.5.4_1          =  up-to-date with port
cups-pdf-2.6.1_1            =  up-to-date with port
cups-pk-helper-0.2.5        =  up-to-date with port
cups-pstoraster-8.15.4_7    =  up-to-date with port
cups-samba-6.0_7            =  up-to-date with port
cups-smb-backend-1.0_6      =  up-to-date with port
gutenprint-cups-5.2.8_1     =  up-to-date with port
py27-cups-1.9.66            =  up-to-date with port
# portversion -v | grep foomatic
foomatic-db-20140106        =  up-to-date with port
foomatic-db-engine-4.0.9,2  =  up-to-date with port
foomatic-db-hpijs-1.4       =  up-to-date with port
foomatic-filters-4.0.17     =  up-to-date with port
gutenprint-foomatic-5.2.8_1  =  up-to-date with port
# portversion -v | grep hplip
hplip-3.14.1                =  up-to-date with port

Создаем директории:

# mkdir /usr/local/share/foo2zjs/firmware
# mkdir /usr/local/share/foo2zjs/icm
# mkdir /usr/local/share/foo2hp/icm
cd /tmp

Скачиваем прошивки:

# getweb all

После закачки копируем закаченные файлы:

cp DL*.icm CP*.icm km2430*.icm /usr/local/share/foo2zjs/icm
cp sihp*.img /usr/local/share/foo2zjs/firmware
cp hpclj26*.icm km2430*.icm /usr/local/share/foo2hp/icm
rm *.icm *.img

Переходим в /usr/local/share/foo2zjs/firmware

cd /usr/local/share/foo2zjs/firmware

Преобразовываем прошивку утилитой arm2hpdl:

arm2hpdl sihp1000.img > sihp1000.dl
arm2hpdl sihp1005.img > sihp1005.dl
arm2hpdl sihp1018.img > sihp1018.dl
arm2hpdl sihpP1005.img > sihpP1005.dl
arm2hpdl sihpP1006.img > sihpP1006.dl
arm2hpdl sihpP1505.img > sihpP1505.dl

Копируем /usr/local/share/examples/cups/ulpt-cupsd.conf -> /usr/local/etc/devd/

# cp /usr/local/share/examples/cups/ulpt-cupsd.conf /usr/local/etc/devd/

Создаем правило:

attach 120 {
device-name "ulpt[0-9]+";
match "vendor" "0x03f0";
match "product" "0x4117";
action "cat /usr/local/share/foo2zjs/firmware/sihp1018.dl > /dev/$device-name";
};

Прописываем это в /usr/local/etc/devd/ulpt-cupsd.conf после строк:

attach 110 {
device-name "ulpt[0-9]+";
action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name";
};

Для печати из под Windows машин делаем следующее:

Раскомментируем строчки:
в файле /usr/local/etc/cups/mime.types:

application/octet-stream

в файле /usr/local/etc/cups/mime.convs:

application/octet-stream application/vnd.cups-raw 0 -

Если установлен ghostscript, то закомментировать строку в:
в файле /usr/local/etc/cups/mime.convs:

application/vnd.cups-postscript application/vnd.cups-raster 100 pstoraster

Делаем рестарт cupsd:

# service cupsd restart

Создаем файл devfs.rules в /etc/

touch /etc/devfs.rules

Добавляем доступ группе ‘cups’ к устройствам в /dev

[system=10]
add path 'unlpt*' mode 0660 group cups
add path 'ulpt*' mode 0660 group cups
add path 'lpt*' mode 0660 group cups
add path 'usb*' mode 0770 group cups
add path 'ugen*' mode 0660 group cups
add path 'usb/*' mode 0660 group cups

В /etc/rc.conf добавляем строчку:

devfs_system_ruleset="system"

Делаем рестарт devfs:

# /etc/rc.d/devfs restart

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

Установка принтера.

В адресной строке браузера вводим
https://ip:631
меню -> < Администрирование>
пункт -> < Добавить принтер>
выбираем HP LaserJet 1018 (HP LaserJet 1018)
жмем -> < продолжить> — ставим галочку < Разрешить совместный доступ к этому принтеру>
жмем -> < продолжить>
жмем -> < выбрать модель>
я выбрал
жмем -> < добавить принтер>
жмем — < сохранить параметры>
Все принтер установлен.
Проверяем — < обслуживание> -> < печать пробной страницы>
cups2
Если по https://ip:631 нет доступа, проблема может быть в cupsd.conf там необходимо добавить ServerAlias (имя сервера)
Ещё была проблема что принтер в CUPS по адресу https://ip:631 отсутствовал, решилось добавлением в devfs.rules строчки:

add path 'usb/*' mode 0660 group cups

Оставить комментарий