Меню

настройка hp 1020 ubuntu

HP LaserJet 1020 + Ubuntu

Часто после переустановки системы я бился в конвульсиях при попытке снова заставить печатать HP LJ 1020, многократно, выполняя каждый раз полуосознанные команды и действия и непонятно после чего он начинал работать. Я качал с офсайта hplip последней версии и это не помогало, софт у HP постоянно ВИСНЕТ, в множестве мест, в куче этапов настройки софт виснул и не настраивал. Иногда удавалось что-то сделать через GUI. Каждый раз тратя несколько часов и уйму нервов, поэтому понятно почему я создал топик.

Сегодня я открыл способ как заставить работать этот принтер и проверил это на «чистом» компьютере с Ubuntu 12.04, который еще не знавал этого принтера прежде.

Надо просто подключить принтер и выполнить

Что обидно, GUI установка плагина сопровождалась повисанием намертво диалога установки. Так же и со свежей версией HPLIP с офсайта — тоже виснет. Вот так HP пишет GUI-софт. Хорошо хоть консольная версия работает. dmesg говорит что apparmor заблокировал действия какой-то утилиты от hp.

ЗЫ Тема для того чтобы я сам не забыл как принтер настраивать и чтобы другие узнали если проблемы, а интернет завален сообщениями о проблемах с такими принтерами под Linux.

источник

Настройка hp 1020 ubuntu

Принтеры HP LaserJet 1000, 1005, 1018 и 1020 сразу после включения питания не имеют в себе прошивку (firmware, arm binary). Операционная система при обнаружении принтера должна «залить» в него необходимую прошивку и после этого работать как с обычным принтером. (Именно этим объясняется тот факт, что если не выключая принтер перезагрузиться из известной нам операционной системы от MS в Linux, принтер будет работать).

Как происходит «заливка» прошивки?

В современном Linux события о появлении новых устройств обрабатывает специальная служба udev. Правила обработки событий, т.е. что будет происходить при обнаружении новой железки, находятся в /etc/udev/rules.d/. В Ubuntu правила для принтеров обсуждаемых в данной статье находятся в файле /etc/udev/rules.d/85-hplj10xx.rules (пример для Ubuntu Gutsy).

Если правила в udev есть, почему принтер не работает?

Дело в том, что правила есть, а самих прошивок нет. Причины этого не понятны, но и не особо интересны. Мы можем скачать их сами и положить туда, где udev, в соответствии с правилами, их найдёт.

В Ubuntu по умолчанию установлен пакет foo2zjs, которые содержит необходимые нам утилиты:

  • getweb — утилита которая «сливает» прошивки с foo2zjs.rkkda.com (вызывается следующим образом: getweb 1020 — скачает прошивку для HP LaserJet 1020)
  • arm2hpdl — утилита, которая добавляет необходимые заголовки для принтера HP к бинарному файлу arm (смотрите man arm2hpdl), после добавления заголовков прошивку можно заливать в принтер (этим и занимается udev)

Для проверки можно залить прошивку вручную следующим образом:

cat sihp1020.dl > /dev/usb/lp0

cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/usb/lp0

где /dev/usb/lp0 нода устройства принтера. Нода может быть и другой, например /dev/usblp0, чтобы узнать наверняка, можно посмотреть

после включения принтера. Хотя, если в выводе dmesg есть строка вида

usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17

то это не начит, что устройство принтера является /dev/usblp0. Надо пробовать разные варианты. В момент залития прошивки принтер должен немного погудеть, покрутить валиком, помигать лампочками.

Положить нужно в каталог /usr/share/foo2zjs/firmware/ .

А теперь готовое решение в виде скрипта. Проверено в Ubuntu 7.04 и 7.10

printers=»1000 1005 1018 1020″

sudo cp $dl /usr/share/foo2zjs/firmware/$dl

Чем данное решение лучше других, которые можно найти в интернет?

Другие решения помимо основной задачи, а именно, установки прошивок, выполняют другие лишние действия, например, заново устанавливают foo2zjs (который уже есть в системе), но не из deb-пакета, а из исходных кодов. Это не даёт преимуществ, но может создать проблемы при обновлении системы.

Читайте также:  настройка домена для почты exchange

источник

Подключение принтера HP LJ 1010/1015/1018/1020 в Linux Debian(Ubuntu) c CUPS 1.4 и выше

При обновлении версии CUPS возникла проблемма его несовместимости с загруженным модулем usbpl, необходимый для загрузки firmware в принтер. При их одновременной работе возникает конфликт на шине usb(одновременное обращение), отражающееся в логах системы /var/log/syslog следующим образом:
————————
Jul 1 02:18:57 kernel: [ 3115.009361] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
————————
Вариант решения данной проблемы:
— Загрузить модуль сразу после включения принтера
— Выгрузить модуль сразу после заливки filmware

Для этого делаем следующее:

0) Отключаем принтер
1) Установим необходимые пакеты

2) Скачаем требуемое filmware для принтера сконвертируем и разместим в соответствующих папках:

3) Создадим правило для диспетчера устройств udev для загрузки модуля при включении принтера.

Указываем Vid и Pid своего принтера! Пример приведён для 1018.

4) Перезагружаем диспетчер устройств udev

5) Редактируем сценарий foo2zjs, выполняющийся при обнаружении принтера (отключаем модуль ядра usbpl сразу после загрузки firmware). Имя файла зависит от модели вашего принтера!(для 1000/1005/1018/1020 — /usr/sbin/hplj1018 )

ищем и корректируем процесс загрузки firmware

изменение сводится к добавлению строк

6) Включаем принтер и смотрим логи

при корректной работе в них будет следующее:
———————
Jul 1 01:56:12 kernel: [ 1749.871946] CE: hpet increased min_delta_ns to 20113 nsec
Jul 1 02:18:39 kernel: [ 3097.400294] usb 1-2.5: new high speed USB device number 8 using ehci_hcd
Jul 1 02:18:40 kernel: [ 3097.512010] usb 1-2.5: New USB device found, idVendor=03f0, idProduct=4117
Jul 1 02:18:40 kernel: [ 3097.512084] usb 1-2.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 1 02:18:40 kernel: [ 3097.512098] usb 1-2.5: Product: HP LaserJet 1018
Jul 1 02:18:40 kernel: [ 3097.512109] usb 1-2.5: Manufacturer: Hewlett-Packard
Jul 1 02:18:40 kernel: [ 3097.512120] usb 1-2.5: SerialNumber: KP03QAY
Jul 1 02:18:40 mtp-probe: checking bus 1, device 8: «/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5»
Jul 1 02:18:40 mtp-probe: bus: 1, device: 8 was not an MTP device
Jul 1 02:18:40 udev-configure-printer: add /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5/1-2.5:1.0
Jul 1 02:18:40 udev-configure-printer: parent devpath is /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5
Jul 1 02:18:40 udev-configure-printer: Device vendor/product is 03F0:4117
Jul 1 02:18:40 udev-configure-printer: MFG:Hewlett-Packard MDL:HP LaserJet 1018 SERN:- serial:KP03QAY
Jul 1 02:18:40 kernel: [ 3097.779667] usblp1: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117
Jul 1 02:18:40 kernel: [ 3097.781597] usbcore: registered new interface driver usblp
Jul 1 02:18:40 udev-configure-printer: add /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5/1-2.5:1.0/usb/lp1
Jul 1 02:18:41 kernel: [ 3098.989429] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
Jul 1 02:18:43 /usr/sbin/hplj1018: foo2zjs: loading HP LaserJet 1018 firmware /lib/firmware/hp/sihp1018.dl to /dev/usb/lp1 .
Jul 1 02:18:43 /usr/sbin/hplj1018: foo2zjs: . download successful.
Jul 1 02:18:56 udev-configure-printer: parent devpath is /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.5
Jul 1 02:18:56 udev-configure-printer: MFG:Hewlett-Packard MDL:HP LaserJet 1018 SERN:- serial:KP03QAY
Jul 1 02:18:57 kernel: [ 3115.009361] usb 1-2.5: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
Jul 1 02:18:58 kernel: [ 3116.139386] usbcore: deregistering interface driver usblp
Jul 1 02:18:58 kernel: [ 3116.139675] usblp1: removed
Jul 1 02:18:58 /usr/sbin/hplj1018: foo2zjs: . kernel module usblp disable now.
———————

источник

HP LaserJet 1020, принт-сервер и GNU/Linux

Дата релиза: 14 сентября 2008 г.

В этой статье я расскажу как подружить через сеть принтеры HP LaserJet линейки 10xx и операционные системы семейства GNU/Linux. Данный метод был опробован на Ubuntu Linux 8.04.1 и Debian Lenny (netinst).

Отмечу, что уже в этом случае есть небольшие различия в настройке, так что если у вас другой дистрибутив — будьте осторожнее и лучше не выполняйте непонятные для вас команды. Там, где команды для Ubuntu и Debian отличаются, я буду давать их отдельно.

О железе. Сам я пользуюсь маршрутизатором D-Link DI-704P, к которому подключёны компьютеры, а так же принт-сервер D-Link DP-301U, к которому в свою очередь и подключён наш источник проблем — лазерный принтер HP LaserJet 1020. Если у вас другая конфигурация и принтер 10xx, то этот способ всё-равно должен сработать. Но не ручаюсь за модель 1018: как я понял, он, будучи подучи подключённым к принт-серверу и управляемый специализированной программой PS Monitor под Windows, печатать всё-равно отказывается.

Читайте также:  настройка phoca guestbook для joomla 3

Итак, сначала обрисую проблему, а затем займёмся её решением, благо оно на самом деле довольно простое.

Это происходит потому, что наш принтер использует технологию WPS (Windows Printing System). Заключается она в следующем: маршрутизатор запросов печати принимает данные от приложений, которые хотят воспользоваться принтером, и перенаправляет их на провайдер печати. Провайдер печати преобразует передаваемые данные к виду, пригодному для передачи, принтеру (в т.ч. и по сети). Он же и возвращает необходимую информацию от принтера приложению, производя обратное преобразование. Так же в этой системе может существовать специальный монитор, следящий за работой принтера, исправляющий возникающие ошибки и выполняющий прочие функции.

В нашем случае не хватает как-раз такого монитора. Если конкретнее, то при включении наш принтер по большому счёту представляет из себя просто высокотехнологичный, но бесполезный кусок железа. В нём нет прошивки. Если подключение производится по USB, то вроде бы всё понятно: принтер определяется UDEV, после чего для него создаётся нода и выполняется специальное правило, подгружающее прошивку. Но как быть, если принтер физически не подключён к ПК? Выход есть. Рассмотрим процесс настройки принтера с самого начала.

Перво-наперво делаем бекап оригинальных файлов, с которыми будем работать.

P.S. Символ $ перед командой означает, что достаточно прав пользователя, а # — нужны полномочия администратора. Лучше используйте две сессии в терминале.

Нам понадобится Common UNIX Printing System или, проще говоря, CUPS, а так же набор драйверов (на самом деле драйверов много больше, просто в этом пакете есть PPD для нашей линейки 10xx). Устанавливаем, соглашаясь с загрузкой зависимостей:

Но, скорее всего, всё это уже установлено в вашей системе.

После этого запустите любой веб-браузер и откройте следующий адрес (подключение к Интернет не потребуется):

Будет показана стартовая страница настройки CUPS. Далее по шагам (по завершении каждого жмите «Continue»):

Введите (произвольно) название, место расположения и описание принтера соответственно.

Из раскрывающегося списка выберите «LPD/LPR Host or Printer»

Здесь нам предлагают указать полный LPD-адрес до принтера. Его можно узнать в веб-меню принт-сервера (по умолчанию это http://192.168.0.10) на вкладке «Home», раздела «Printer Status», после «Printer Name». Должно быть что-то вроде «PS-C6D4D2-U1». Таким образом, в зависимости от настроек принт-сервера, нужно ввести:

4. Make/Manufacturer for Printer

В этом меню необходимо выбрать производителя и модель принтера. Мы используем имеющиеся у нас драйверы, так что в «Make» выбирем «HP», а после нажатия «Continue» отметим пункт «HP LaserJet 1020 Foomatic/foo2zjs (recommended) (en)». Нажмите «Add Printer».

После этого вас потребуют ввести имя пользователя, имеющего привилегии администратора (root) и пароль. Всё, основная часть настройки принтера позади. Теперь вы можете заглянуть, при необходимости, в раздел «Manage printers» главного меню настройки CUPS и обнаружить там свой принтер. Помимо всего прочего можно сделать данный принтер используемым по умолчанию, нажав на кнопку «Set As Default», а так же произвести его настройку в меню «Set Printer Options».

Если появились проблемы, то в Интернете есть уйма информации по «банальной» установке и настройке принтера под GNU/Linux и, думаю, читатель без труда её отыщет. В этом материале рассказывается не об этом.

Читайте также:  настройка hdr в samsung ks

Теперь настало время перейти к оживлению нашего принтера.

Итак, всё вроде бы настроено, но при попытке произвести пробную печать, воспользовавшись кнопкой «Print Test Page», получаем молчание, хотя если посмотреть в лог принт-сервера, то задание для печати там должно быть. Как уже писалось выше, на данный момент в принтере отсутствуют «мозги». Чтобы это исправить, нам будет нужна сама прошивка, в последствии немного модифицированная.

Загружаем прошивку: Модифицируем для возможности загрузки «печатью», удаляем оригинал, после чего переносим прошивку на новое место:

Теперь, убедившись что принт-сервер и CUPS настроены верно, снова произведём тестовую печать, но в этот раз уже определённого файла (наверно уже догадались какого 😉 ):

Принтер должен зашевелиться! Но ничего не печатать. С этого момента он обрёл разум и теперь может печатать что вы укажете, но до первой перезагрузки, после которой процедуру «печати» прошивки нужно будет повторить. На этом можно было бы и закончить, но рассмотрим как можно сделать процесс «оживления» более удобным, чтобы не требовалось каждый раз лезть в терминал.

Сделаем скрипт и иконку для него в главном меню (с картинкой только для Ubuntu, т.к. в пакет foo2zjs для Debian соответствующая gif’ка не входит). Начнём со скрипта. Создадим его и выставим права чтения и исполнения для всех пользователей ПК:

Следующая страшнющая с виду команда (всё это — одна строка) создаст ярлык запуска «Активация принтера» с изображением самого принтера и добавит его в меню «Приложения» — «Прочие»:

Debian: Если боитесь испортить меню (у меня всё сработало), запустите входящий с состав обоих дистрибутивов или и создайте значок самостоятельно. Так же использование этих программ может понадобится для активации иконки, если вы добавите её командой.

Теперь у вас есть кнопка активации принтера, которую при желании можно вынести и на gnome-panel (в команду-скрипт добавлять не решился 🙂 )

Вариант для тех, у кого в аптайме не недели и месяцы, да и принтер включён не постоянно.

Здесь будет рассмотрено, как изменить один фильтр для CUPS, добавив запуск нашего скрипта после каждой подачи задания на печать, что избавит вас от специального тыканья по кнопке. Конечно, если вы много и часто печатаете, то этот вариант вас, полагаю, не устроит. Но для тех, кто не держит принтер постоянно в режиме готовности и не печатает тонны документов, он вполне подойдёт.

Проведя не очень большое, но достаточно нудное исследование, я обнаружил в своей системе скрипт-фильтр на Perl, который исполняется при каждой печати. Его-то и было решено модифицировать. Наше задание с прошивкой будет добавляться после основного. Хотя и после первой печати основное задание пропадает, а «печатается» только прошивка (конечно, если не была загружена до этого), но зато потом она будет подгружаться уже после основного задания, не задерживая его. Теперь рассмотрим как это реализовать.

Сначала идут такие же действия, как и в предыдущем варианте:

Но затем никаких значков создавать не будем, а просто добавим в тот самый скрипт пару строк:

Теперь можете произвести пробную печать и в случае успеха перейти к Заключению 🙂

Автор статьи искренне надеется, что его труд не прошёл даром и помог читателю. Если же вас постигла неудача — не отчаивайтесь. Внимательно повторите шаги, попробовав сделать что можете «вручную» (всякое возможно, в т.ч. дистрибутивно-специфические отличия), предварительно подчистив то, что насоздавали и восстановив файлы из заблаговременно созданного бекапа: или потом

Если возникли вопросы или хотите что-то уточнить/дополнить, то свяжитесь со мной по электронной почте. Удачи!

Текст документа распространяется под лицензией GNU Free Documentation Licence

источник