The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Печать на принтере HP LaserJet 1020 во FreeBSD 6.1. (print hardware driver freebsd)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: print, hardware, driver, freebsd,  (найти похожие документы)
From: Дмитрий Прокопенко <diozan@inbox.ru.> Date: Mon, 25 Sep 2006 14:31:37 +0000 (UTC) Subject: Печать на принтере HP LaserJet 1020 во FreeBSD 6.1. Оригинал: http://www.diozan.chat.ru/txt/hp1020.txt Основное отличие этого принтера от аналогичных лазерных принтеров 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...), однако команда cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/ulpt0 не имела особого эффекта. После достаточно долгого молчания появлялось сообщение о занятости устройства. Данную проблему я поборол удалив из ядра драйвер ulpt, закоментировав соответствующую строчку в файле конфигурации ядра. #device ulpt # Printer Затем перекомпилировал и переустановил ядро. После загрузки нового ядра, принтер уже не определялся как /dev/ulpt0. Он у меня определился как /dev/ugen0.1. И после этого команда cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/ugen0.1 прошла на ура. Принтер заморгал своими светодиодами, сигнализируя, что программное обеспечение успешно загрузилось. Следующим шагом было создание приемлемого фильтра для печати. Выходным форматом программного обеспечения, из которого осуществляется печать, является Postscript. Однако, foo2zjs этот формат не понимает. В качестве входного формата она принимает pbmraw или bitcmyk. Оба этих формата могут использоваться в качестве выходных программой Ghostscript. Поэтому фильтр для принтера представляет собой связку из Ghostscript, который преобразует Postscript в pbmrawв и foo2zjs, преобразующий pbmraw в ZJS. Я создал два фильтра, для печати на бумаге формата A4 и A5. файл /etc/pf_hp_lj-1020_a4.sh #!/bin/sh /usr/local/bin/gs \ -q \ -dBATCH \ -dSAFER \ -dQUIET \ -dNOPAUSE \ -dDEVICEWIDTHPOINTS=595 \ -dDEVICEHEIGHTPOINTS=830 \ -r600x600 \ -sDEVICE=pbmraw \ -sOutputFile=- - | \ /usr/bin/foo2zjs \ -r600x600 \ -g4958x6917 \ -p1 \ -t \ -z1 файл /etc/pf_hp_lj-1020_a5.sh #!/bin/sh /usr/local/bin/gs \ -q \ -dBATCH \ -dSAFER \ -dQUIET \ -dNOPAUSE \ -dDEVICEWIDTHPOINTS=420 \ -dDEVICEHEIGHTPOINTS=583 \ -r600x600 \ -sDEVICE=pbmraw \ -sOutputFile=- - | \ /usr/bin/foo2zjs \ -r600x600 \ -g3500x4858 \ -p1 \ -t \ -z1 Два этих файла отличаются только циферками размера бумаги и разрешения картинки. После создания фильтров осталось прописать принтеры в систему. Я использую систему печати LPD. Для этого в файле /etc/printcap прописываю следующие строки: LaserJet-1020_A4:sh:if=/etc/pf_hp_lj-1020_a4.sh:lp=/dev/ugen0.1:sd=/var/spool/output/lpd/hp_lj1020_a4:lf=/var/log/lpd-errs LaserJet-1020_A5:sh:if=/etc/pf_hp_lj-1020_a5.sh:lp=/dev/ugen0.1:sd=/var/spool/output/lpd/hp_lj1020_a5:lf=/var/log/lpd-errs Таким образом в системе у меня появилось два принтера 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. После этих манипуляций команда lpr -PLaserJet-1020_A4 /usr/local/share/ghostscript/7.07/examples/tiger.ps должна вывести на печать симпатичного тигра. Для тех, кто использует CUPS следует отметить, что файл /etc/printcap обслуживает эту систему, а не lpd. В принципе никто не мешает использовать параллельно обе эти системы, а что бы не возникло конфликта по использованию этого файла, в конфигурационном файле CUPS-а /usr/local/etc/cups/cupsd.conf указать ему использовать другой файл, вместо /etc/printcap (параметр Printcap). Автоматическую загрузку программного обеспечения так же было нужно предусмотреть. Для этого я использовал usbd. Этот демон, так же запускается из файла /etc/rc.conf путем включения в него строчки usbd_enable="YES". В конфигурационный файл /dev/usbd.conf добавил строчки device "HP LserJet 1020 printer" product 0x2b17 vendor 0x03f0 attach "cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/${DEVNAME}.1" Теперь, после перезапуска usbd, каждое включение принтера у меня начало сопровождаться загрузкой в него программного обеспечения сразу же после включения. Хочу обратить внимание, что числовые параметры product и vendor могут потребовать уточнения, т.к. я не уверен, что они одинаковые для всех экземпляров принтеров. При необходимости это можно сделать посмотрев, при включенном принтере, вывод команды sysctl -a | grep dev.ugen После сих манипуляций я смог успешно залить программное обеспечение в принтер и нормально на нем печатать с приемлемым качеством и скоростью. Проблем не возникло, и я с уверенностью могу сказать, что HP принтеры делать умеет.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 11:06, 25/09/2006 [ответить] [смотреть все]
  • +/
    Спасибо ... весь текст скрыт [показать]
     
  • 1.2, vadiml, 11:49, 25/09/2006 [ответить] [смотреть все]  
  • +/
    я 2 месяц назад под линуксом такое делал, правда я rpm-ку сразу собирал и обновлял для себя foomatik (патч о проделанной работе лежит на багзилле федоры) -- работает
     
     
  • 2.6, Vasja, 00:15, 26/09/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Рад за тебя... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, s1lv3r, 12:27, 25/09/2006 [ответить] [смотреть все]  
  • +/
    /usr/ports/print/foo2zjs
     
  • 1.4, Demimurych, 12:59, 25/09/2006 [ответить] [смотреть все]  
  • +/
    Очень очень большое спасибо
     
  • 1.5, rolano, 16:39, 25/09/2006 [ответить] [смотреть все]  
  • +/
    Огромное спасибо автору статьи.
     
  • 1.7, Ананимуз, 10:12, 26/09/2006 [ответить] [смотреть все]  
  • +/
    я конечно понимаю, что БСДшники на linuxprinting.org не ходят, но там таки давно описана методика
     
  • 1.8, boo, 14:45, 26/09/2006 [ответить] [смотреть все]  
  • +/
    При попытке повторить то же самое выянилось вот что:
    1) В pf_hp_lj-1020_a4.sh в foo2zjs передается 2 опции:
    -t и -z1. У меня foo2zjs , поставленная из портов, их не понимает (в мане про
    них тоже ничего нет):

    # foo2zjs -V
    $Id: foo2zjs.c,v 1.59 2004/10/21 22:36:43 rick Exp $

    2) если убрать эти 2 опции и попробовать выполнить, к примеру,
    lpr -PLaserJet-1020_A4 /usr/local/share/ghostscript/7.07/examples/tiger.ps
    то в итоге из принтера вываливается пустой листок

    не приходилось сталкиваться с чем то подобным?

     
  • 1.9, boo, 16:08, 26/09/2006 [ответить] [смотреть все]  
  • +/
    первая проблема решилась обновлением порта.
    а вот белый лист так и остался белым :(
    ничего не печатается
     
  • 1.10, lamo, 19:10, 26/09/2006 [ответить] [смотреть все]  
  • +/
    а 1018 поднимется?
     
     
  • 2.12, Black Hawk, 14:15, 30/01/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    1018 работает... весь текст скрыт [показать] [показать ветку]
     
  • 1.11, wituS, 08:38, 29/01/2007 [ответить] [смотреть все]  
  • +/
    а когдаж на Canon LBP 1120 выпустят статейку...
    такое складываться впечатление, что Canon LBP 1120 стоит у Линуксойдов и Виндусятников...
     
  • 1.13, sgh, 06:50, 19/03/2007 [ответить] [смотреть все]  
  • +/
    Огромное человечексое Спасибо !! за статью
     
  • 1.14, Maksym, 15:11, 25/12/2007 [ответить] [смотреть все]  
  • +/
    А можно ли настроить принтер HP LaserJet 1022 ?
    Если можно, то как? Спасибо наперед!
     
  • 1.15, Наталья, 13:57, 12/01/2008 [ответить] [смотреть все]  
  • +/
    как  настроить печать с двух сторон и как этим пользоваться
     
  • 1.16, Shooroop, 12:45, 06/09/2008 [ответить] [смотреть все]  
  • +/
    Возникла проблема с печатью картинок. Принтер не может напечатать больше одной из очереди а чаще вообще не печатает. Что делать?
     
  • 1.17, Leonid, 02:08, 27/02/2009 [ответить] [смотреть все]  
  • +/
    Привет всем! Помогите пожалуйста! У меня 1018, отправляю на печать, а в ответ тишина, задание через время пропадает. Я никак не могу понять КУДА и какие команды вы вводите. Помогите дилетанту!!!
     
  • 1.19, Анжелка, 15:31, 04/11/2009 [ответить] [смотреть все]  
  • +/
    Скажите почему текст печатается, а изображения слишком контрастные. Как настроить?
     
  • 1.20, quest, 14:27, 05/01/2010 [ответить] [смотреть все]  
  • +/
    HP1018 всё работает и на ulpt0. FreeBSD 8.0 - Release
     
     
  • 2.24, anonymous, 19:19, 28/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    HP1018 всё работает только на ulpt0. FreeBSD 8.0 - Release
    fixed
     
  • 1.21, Лариса, 20:17, 09/01/2010 [ответить] [смотреть все]  
  • +/
    Помогите,принтер выдает ошибку "The HP LaserJet 1020 has the front cover door open or the cartridge is missing". Картридж заправили,все равно не печатает. Что нужно сделать?
     
     
  • 2.22, hate, 20:43, 09/01/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    >Помогите,принтер выдает ошибку "The HP LaserJet 1020 has the front cover door
    >open or the cartridge is missing". Картридж заправили,все равно не печатает.
    >Что нужно сделать?

    На выбор:

    1 - Купить словарик

    2 - Позвать админа

    3 - Купить коньяк и ещё раз громко позвать Админа пригласив на коньяк

    4 - Пойти к Админу с коньяком и _мягко_ ему намекнуть что есть проблемы с принтером

    5 - Если админа нет то взять словарик и начать изучать инструкцию по использованию данного принтера

    6 - Если все методы испробованы и ничего не получается то нанять Админа, а если нет такого желания то отвезти принтер на сервис предварительно взяв с собой наличные (для ускорения решения вашей проблемы)


        

     
  • 1.25, beibt, 06:36, 05/10/2010 [ответить] [смотреть все]  
  • +/
    Я  приобред  принтер НР Laser Jet 1020,  без устаночного диска (драйвера). Не  смогли бы вы  подсказать ,  где и  как  можно  скачать программу  для  установки принтера  в  компьютер. Просто в  компьютерных  делах  я  совсем  делитант  и  по этому  прошу  прощения  если  посчитаете  вопрос глупым.
     
  • 1.26, Alex, 22:37, 26/10/2010 [ответить] [смотреть все]  
  • +/
    Привет подскажите пожалуйста решение такой проблемке, при отправлении на печать выходит просто почти черный лист ! Что сделать чтоб картридж не гнал полоски ????? Заранее спасибо!
     
  • 1.27, senya87, 13:10, 14/11/2010 [ответить] [смотреть все]  
  • +/
    the hp laserJet 1020 has the front cover door open or the toner cartridges is missing----картридж вставлен,всё что надо закрыто-чего ему ещё надо.В утиль может пора?Как это исправить?
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList