Основное отличие этого принтера от аналогичных лазерных принтеров HP
заключается в использовании иного формата данных, передаваемых принтеру.
Это теперь уже не старый добрый PCL, а ZJS (Zenographics ZjStream
printer format). Этот формат не понимает основной принтерный фильтр
Ghostscript. Но благодаря Рику Ричардсону (Rick Richardson), появилась
программа foo2zjs, которая позволила преобразовать принтерный вывод в
требуемый нам формат. Данную программу можно найти по адресу http://foo2zjs.rkkda.com/ .
Под FreeBSD-6.1 скомпилировалась и установилась без проблем, только вместо make
нужно было использовать gmake.
Другой особенностью принтера HP LaserJet 1020 является то, что его
программное обеспечение (firmware) не зашито жестко в аппарат, а должно
быть загружено с компьютера при включении принтера или перед началом
печати. В принципе, это мудрое решение, так как позволяет, при
необходимости замены firmware, избежать сложную, и порой небезопасную,
процедуру перепрошивки аппарата. Для апгрейда достаточно просто указать
новый файл прошивки на компьтере, и даже в случае его недееспособности,
ничего страшного не произойдет. Но с другой стороны эта особенность и
явилась тем подводным камнем, на который наткнулись пользователи
FreeBSD. Програмное обеспечение принтера никак не хотело грузиться. И я
оказался не первый, кто столкнулся с этой проблемой.
Загрузка программного обеспечения принтера производится путем посылки
файла на устройство принтера (ulpt...), однако команда
прошла на ура. Принтер заморгал своими светодиодами, сигнализируя, что
программное обеспечение успешно загрузилось.
Следующим шагом было создание приемлемого фильтра для печати. Выходным
форматом программного обеспечения, из которого осуществляется печать,
является Postscript. Однако, foo2zjs этот формат не понимает. В качестве
входного формата она принимает pbmraw или bitcmyk. Оба этих формата
могут использоваться в качестве выходных программой Ghostscript. Поэтому
фильтр для принтера представляет собой связку из Ghostscript, который
преобразует Postscript в pbmrawв и foo2zjs, преобразующий
pbmraw в ZJS. Я создал два фильтра, для печати на бумаге формата A4 и A5.
Два этих файла отличаются только циферками размера бумаги и разрешения
картинки.
После создания фильтров осталось прописать принтеры в систему. Я
использую систему печати LPD. Для этого в файле /etc/printcap прописываю
следующие строки:
Таким образом в системе у меня появилось два принтера LaserJet-1020_A4 и
LaserJet-1020_A5. Диспечер печати KDE их видит и может обслуживать. В
Open Office для добавления принтера существует программа spadmin.
Каталоги спуллера /var/spool/output/lpd/hp_lj1020_a4 и
/var/spool/output/lpd/hp_lj1020_a5 так же нужно создать.
Запуск демона lpd производится путем занесения строчки lpd_enable="YES"
в файл /etc/rc.conf.
Для тех, кто использует CUPS следует отметить, что файл /etc/printcap
обслуживает эту систему, а не lpd. В принципе никто не мешает
использовать параллельно обе эти системы, а что бы не возникло
конфликта по использованию этого файла, в конфигурационном файле CUPS-а
/usr/local/etc/cups/cupsd.conf указать ему использовать другой файл,
вместо /etc/printcap (параметр Printcap).
Автоматическую загрузку программного обеспечения так же было нужно
предусмотреть. Для этого я использовал usbd. Этот демон, так же
запускается из файла /etc/rc.conf путем включения в него строчки
usbd_enable="YES". В конфигурационный файл /dev/usbd.conf добавил
строчки
Теперь, после перезапуска usbd, каждое включение принтера у меня начало
сопровождаться загрузкой в него программного обеспечения сразу же после
включения. Хочу обратить внимание, что числовые параметры product и
vendor могут потребовать уточнения, т.к. я не уверен, что они одинаковые
для всех экземпляров принтеров. При необходимости это можно сделать
посмотрев, при включенном принтере, вывод команды
sysctl -a | grep dev.ugen
После сих манипуляций я смог успешно залить программное обеспечение в
принтер и нормально на нем печатать с приемлемым качеством и скоростью.
Проблем не возникло, и я с уверенностью могу сказать, что HP принтеры
делать умеет.
779 Прочтений • [Печать на принтере HP LaserJet 1020 во FreeBSD 6.1. (print hardware driver freebsd)] [08.05.2012] [Комментариев: 0]