Особенностью этих принтеров HP и им подобных является то, что их программное обеспечение (firmware) не зашито жестко в аппарат, а должно загружаться с компьютера при включении принтера или перед началом печати. В принципе, это мудрое решение, так как позволяет, при необходимости замены firmware, избежать сложную, и порой небезопасную, процедуру перепрошивки аппарата. Для апгрейда достаточно просто указать новый файл прошивки на компьютере, и даже в случае его недееспособности, ничего страшного не произойдет. Но с другой стороны эта особенность и является тем подводным камнем, на который натыкаются пользователи FreeBSD.
Рассмотрим пример подключения принтера HP LaserJet 1018. В Ульяновск.BSD установлен пакет foo2zjs для поддержки рассматриваемых принтеров. С данным пакетом создается файл-пример /usr/local/etc/devd/foo2zjs.conf. В этом файле необходимо раскомментировать и подкорректировать строки, связанные с принтером HP LaserJet 1018:
attach 100 {
match "vendor" "0x03f0";
match "product" "0x4117";
action "/usr/local/bin/arm2hpdl /usr/local/share/foo2zjs/firmware/sihp1018.img > /dev/$device-name";
};
После этого необходимо перезапустить devd:
service devd restart
Этого достаточно для того, чтобы прошивка загружалась всегда при обнаружении подключения принтера. Узнать точные значения vendor и product для вашего принтера можно набрав в консоли команду:
usbconfig dump_device_desc
Затем принтер устанавливается как обычно через меню «Приложения» → «Настройка» → «Настройка печати».
Внимание!
Принтер HP этой серии, да и любой другой USB-принтер может внезапно начать странно себя вести. Странности могут проявляться совершенно различным образом без определенной закономерности. Например, принтер то печатает, то не печатает, то просто моргает лампочками. В этом случае стоит присмотреться к USB-кабелю принтера. И лучше долго не думая заменить его на толстый кабель с ферритовыми кольцами. Такие обычно используются для USB-сканеров. После замены кабеля 99.9% проблем с печатью на таких принтерах сразу исчезают.