Webmiscreants

Saturday, July 31, 2010 08:01
About
Contact
Dvds_owned
Howto_P1006
Howto_freebsd_embperl
Main
Project
Printing with the HP P1006 LaserPrinter in FreeBSD 8.0

IMPORTANT! The HP P1006 printer must be found as a generic usb device by the Freebsd kernel. You MUST rebuild the kernel without ulpt in order to use ugen devices . This is the only way this printer can work, wether you wish to use foo2xqx driver or hplip. Compile and install a new kernel with a configuration file that doesn't include the line "device ulpt".

Simple directions to compile a new FreeBSD kernel without ulpt

Note: It is highly preferable to create a new kernel config file by making a copy of GENERIC ,renaming your copy CUSTOM or similar and using that - and to not make your changes directly to the stock GENERIC config file. However if you are new to all this, these directions will do the job. As root:

# vi /usr/src/sys/i386/conf/GENERIC
You must comment out item "device ulpt"
# cd /usr/src/
# make buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
# reboot

Part I


Installing HP P1006 in FreeBSD with stream wire protocol driver "HP LaserJet P1006 Foomatic/foo2xqx" . You will need the foo2xqx driver, this is part of the foo2zjs driver package.

Install from ports:
gmake-3.81_2 GNU version of 'make' utility
ghostscript-gpl-8.61_5 GPL Postscript interpreteri
cups-base-1.3.7_2 Common UNIX Printing System
cups-pstoraster-8.15.4_1 Postscript interpreter for CUPS printing to non-PS prin ters
cupsddk-1.2.3 CUPS Driver Development Kit
hpijs-2.1.4_1 Drivers and support resources for HP Inkjet Printers
foomatic-db-hpijs-1.4 Foomatic data for the HPIJS printer drivers
foomatic-filters-3.0.2_4 Foomatic wrapper scripts
foo2zjs-20070120_1 Driver for printers that use the ZjStream wire protocol
Note: do not install hplip. You will either use foo2xqx -OR- hplip, not both.

You need to be sure these line are in your /etc/rc.conf
usbd_enable="YES"
cupsd_enable="YES"

You should add this to your /etc/devfs.rules
add path 'ugen*' group cups
add path 'ugen*' mode 0660

You must be sure to add your user to the cups group in order to have permission to print. You will also have to add that user to cups user database and grant that user print permission on your printer.

Part II


You must find and obtain the firmware file sihpP1006.img to be able to use your printer.

http://foo2zjs.rkkda.com/firmware/sihpP1006.tar.gz

If the above link fails you should to go to http://foo2xqx.rkkda.com or google for sihpP1006.tar.gz or perhaps email him.

IMPORTANT! The sihpP1006.img file is not usable as is, you must first unpack the .dl file from it. As:

#arm2hpdl sihpP1006.img > sihpP1006.dl

Turn the printer on. It should run briefly and stop. Make sure to have some paper in the bottom tray. Now you are ready to upload firmware to printer as:

#cat /home/baron/hp_firmware/sihpP1006.dl >/dev/ugen0.1

If firmware load is successfull you should hear the printer motor run briefly as printer re-initializes, it should sound similar to sound made when printer is powered on. Be aware that every time you want to print with this printer you must power on and then upload the firmware to it. It will continue to work until you power down the printer or the system.

I assume you have successfully installed cups. You should now go to the cups config utility and look for your printer at http://localhost:631. If cups isnt running on localhost:631, you should attempt to reboot and see if cupsd starts. If not then examine your rc.conf to be sure cupsd_enable=YES is there.

If you have not installed your HP P1006 printer in cups you should do so now.
Name your physical printer and its location(anything, not important)
Select Internet Protocol IPP
Device URI: usb:/dev/ugen0.1 (likely location, check /dev if this fails)
make: HP
model: HP P1006 Foomatic/foo2xqx (en)
Note that only if you have installed hpijs and foo2zjs properly will you should see the correct driver in the cups drop down driver list of HP printers. The driver you want is named HP P1006 Foomatic/foo2xqx.

Once driver is installed and printer firmware is sent to the printer, you should be able to print to lpr from any app. I have had no problems printing from Firebird, emacs, abiword, mutt, and can print text files to lpr at console as normal.



Last Modified 06/13/08 01:14
Copyright © 2005,2006,2007,2008 Baron Woodward