Список совместимости/Принтеры/HPLIP

Материал из Базы знаний сообщества разработчиков Эльбрус
Перейти к навигации Перейти к поиску
Короткий адрес этой страницы: HCL/Print/HPLIP

Список драйверов

При наличии компьютера Эльбрус следует сверяться с фактически присутствующим набором драйверов в операционной системе. Инструкции приведены далее.

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

  1. отфильтрованный — только называния поддерживаемых устройств.
  2. необработанный — полная техническая информация, с разными вариантами драйверов для каждого устройства;
Версия HPLIP Источник (ОС) Отфильтрованный список Необработанный список
3.17.11 Эльбрус Линукс 4.0 2626 шт. 2708 шт.
3.20.3 Эльбрус Линукс 6.2 2730 шт. 2791 шт.

Общие сведения

Система печати и сканирования HPLIP предназначена для устройств марки Hewlett-Packard и строится вокруг 2 базовых драйверов печати:

  • HPIJS — старый драйвер с упрощённой функциональностью (для принтеров без поддержки языка PostScript);
  • HPCUPS — новый драйвер с расширенной функциональностью.

База данных по поддерживаемым устройствам хранится в файле /usr/share/hplip/data/models/models.dat в следующем виде для каждой модели:

[hp_laserjet_5100_series]
model1=HP LaserJet 5100 Printer
model2=HP LaserJet 5100Le Printer
model3=HP LaserJet 5100dtn Printer
model4=HP LaserJet 5100se Printer
model5=HP LaserJet 5100tn Printer
support-type=2
scan-type=0
# (и др. сведения)

Здесь указаны характеристики:

  • model1, … — названия всех поддерживаемых разновидностей устройства (с дуплексом, с сетевым интерфейсом и т. д.);
  • support-type — тип драйвера печати:
    • 0 = нет (не поддерживается),
    • 1 = HPIJS,
    • 2 = HPCUPS;
  • scan-type — тип драйвера сканирования (для МФУ):
    • −2 = устройство не может быть использовано как сканер с компьютера (хотя само умеет отправлять изображения);
    • −1 = нет поддержки устройства в HPLIP;
    • 0 = нет сканера в самом устройстве;
    • 1, 2, … — условный номер протокола сканирования (есть поддержка в HPLIP).

Получить полный список имеющихся в HPLIP описаний устройств печати можно командой:

grep -o -e 'model[0-9]\+=\(.\+\)' /usr/share/hplip/data/models/models.dat \
| grep -v -e ' \(Designjet Scanner\|Sender\|Scanjet\) ' -e ' Scanner$' \
| cut -d'=' -f2 \
| sed \
	-e 's/[[:blank:]]\{2,\}/ /g' \
	-e 's/^[[:blank:]]\|[[:blank:]]$//g' \
	-e 's/[[:blank:]]-\+[[:blank:]]/ /g' \
	-e 's/[[:blank:]]-\+[^[:blank:]]/ /g' \
| sort \
| uniq

Рекомендуется сохранить полученный результат в файл для последующего изучения и/или обработки, для чего добавить к последней команде перенаправление стандартного вывода:

| uniq >hplip_raw.txt

Ввиду того, что в файле models.dat устройства перечисляются не только по наименованию марки и модели, но также с указанием типа устройства (принтер, сканер, МФУ), цветности, формата, и т. п. избыточных характеристик, причём с употреблением терминов вразнобой, а также с неоднородной расстановкой знаков препинания и регистра символов, то даже после отсева сканеров, корректировки пунктуации и удаления дубликатов список будет выглядеть громоздко. Для приведения такого списка к единообразному виду можно использовать следующий набор команд (при условии, что список был ранее сохранён в файл hplip_raw.txt):

sed \
	-e 's/ Color Multifunction Printer with Edgeline Technology$//g' \
	-e 's/ Printer\/Advanced Profiling Solution Bundle$//g' \
	-e 's/ Home Photo Center$//g' \
	-e 's/Printer Scanner Copier/PSC/g' \
	-e 's/\/Scanjet .\+$//g' \
	-e 's/Enterprise Multifunction/Enterprise MFP/g' \
	-e 's/Multifunction M/MFP M/g' \
	-e 's/\(C[0-9]\+[^ ]*\) \(Designjet [0-9]\+\)/\2 \1/g' \
	-e 's/color/Color/g' \
	-e 's/Deskjet/DeskJet/g' \
	-e 's/Designjet/DesignJet/g' \
	-e 's/ENVY/Envy/g' \
	-e 's/flow/Flow/g' \
	-e 's/Laserjet/LaserJet/g' \
	-e 's/Mfp/MFP/g' \
	-e 's/\(Officejet\|Oficejet\)/OfficeJet/g' \
	-e 's/ \([Ss]eries\)//g' \
	-e 's/ \(w\/sheetfeeder\|with Battery\|[Cc]apable\|[Ee]ngine\)//g' \
	-e 's/ \(All-[Ii]n-[Oo]ne\|All-in_One\|Copier\|e-AiO\)//g' \
	-e 's/ \(e-All-[Ii]n-[Oo]ne\|eMFP\|eMultifunction\)//g' \
	-e 's/ \(ePrinter\|Plotter\|Printer\)//g' \
	-e 's/[ -][AEGJjKN][0-9]\{3\}[a-z-]*$//g' \
	-e 's/[ -][BH][6-7][0-9]\{2\}[a-z-]*$//g' \
	-e 's/ \(Desktop\|Mobile\|Wireless\)$//g' \
	-e 's/ \(Multifunction\|Multifuntion\|Multi-Function\)$//g' \
	-e 's/ \(Digital\|Inkjet\|Mopier\|[Pp]hoto\|Roll\)$//g' \
	-e 's/ \(Black and White\|Color\|Compact\|Mono\|Monochrome\)$//g' \
	-e 's/ \(Graphics\|Drafting\|Enterprise\|Office\)$//g' \
	-e 's/ \(Post[Ss]cript\|Production\|Professional\|Wide Format\)$//g' \
	-e 's/ \(Plus\|Premium\|Premier\)$//g' \
	-e 's/^\(Business Inkjet\|OfficeJet\|PSC\|Photosmart\)/HP \1/g' \
	hplip_raw.txt \
| sort \
| uniq >hplip_filtered.txt

Тогда вместо

Apollo 2100 Printer
HP Business Inkjet 3000 Printer
HP C3180A Designjet 200 Printer
HP CM8050 Color Multifunction Printer with Edgeline Technology
HP Color LaserJet CM1015 Multifunction Printer
HP DesignJet T2500 36-in PostScript eMultifunction Printer
HP Designjet Z2100 24 in GP Photo Printer/Advanced Profiling Solution Bundle
HP Deskjet 3052A e-All-in-One Printer J611e
HP Deskjet 3052A e-All-in-One Printer J611f
HP Officejet 6500 All-in-One Printer E709a
HP Photosmart 7150 Printer
Officejet 6500 E710
Photosmart 7150 Series Printer

будет получаться

Apollo 2100
HP Business Inkjet 3000
HP CM8050
HP Color LaserJet CM1015
HP DesignJet 200 C3180A
HP DesignJet T2500 36-in
HP DesignJet Z2100 24 in GP
HP DeskJet 3052A
HP OfficeJet 6500
HP Photosmart 7150