HP LaserJet Pro P1102 / P1102w :  foo2zjs - foo2hp - foo2xqx - foo2lava - foo2qpdl - foo2oak
Support for linux printer drivers
The fastest message board... ever.
Instructions on Installing HP LaserJet P1102 on FreeBSD 8.1
Posted by: bahman.kahinpour ()
Date: January 28, 2011 04:22PM

After going through a hard time on installing HP LaserJet P1102 on FreeBSD 8.1, I decided to write this.

*** Installing HP LaserJet P1102 on FreeBSD 8.1 ***

Note: {HP's propietary software} HPLIP 3.10.9 doesn't work for this printer.

** PART ONE: Disable the fake CD-ROM feature **

The printer has a built-in fake CD-ROM feature which prevents it from working correctly on non-Windows PCs. Once it is connected to a Windows PC, a CD-ROM appears containing Windows drivers. In order for HP LaserJet P1102 to work correctly on a FreeBSD PC, you must disable this feature.

1.Connect the printer to a Windows PC. (Unfortunately you have to connect it to a Windows PC which is too bad.)
2.Insert the original driver CD. (The physical CD-ROM that ships with the product, NOT THIS FAKE CD-ROM).
3.Run SIUtility.exe or SIUtility64.exe from UTIL folder to disable this fake CD feature. (It's called “HP Smart Install”

Now, life becomes easier. Connect your HP LaserJet P1102 to your FreeBSD PC. Printer should be recognized and /dev/ulpt0 appears.


1.Update your Ports Collection tree.
2.Install Common Unix Printing System (CUPS).

# cd /usr/ports/print/cups
# make install clean

3.Add cupsd_enable=”YES” to /etc/rc.conf

# ee /etc/rc.conf

4.Start CUPS now. (You do not need to restart your FreeBSD)

# /usr/local/etc/rc.d/cupsd start

4.Install Foomatic Filters.

# cd /usr/ports/print/foomatic-filters
# make install clean


foo2zjs in the Ports Collection is a little old and it does not work with HP LaserJet P1102. (Checked Jan 29,2011) Go to foo2zjs.rkkda.com and download http://foo2zjs.rkkda.com/foo2zjs.tar.gz.

# cd ~
# wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
# gzip -dc foo2zjs.tar.gz | tar -xvf -
# cd foo2zjs
# gmake
# gmake install
# gmake install-hotplug
# ./freebsd-install

Please note that you do not need any firmware download for this printer. (Any of these ./getweb stuff) Now restart the CUPS.

# gmake cups

Now, make sure that your printer is recognized on your FreeBSD system. Check dmesg and verify that printer is recognized. Make sure that /dev/ulpt0 exists.

Plug out your printer and plug it in again. (In order for the permission in the devfs to be correct. They should be writable for the printer nodes in the /dev)

Now, open your browser and goto http://localhost:631. Click on the Administration and Add Printer. Your printer should be recognized and also there is a special filter (driver) for that in the next pages.

Use /dev/ulpt0 as the URI.

Good Luck
Bahman Kahinpour

"UNIX is simple. It just takes a genius to understand its simplicity." – Dennis Ritchie

Edited 1 time(s). Last edit at 01/28/2011 04:53PM by rickrich.

Options: ReplyQuote
Re: Instructions on Installing HP LaserJet P1102 on FreeBSD 8.1
Date: July 04, 2013 03:20AM

The root cause of issue seems with the printers were having "Smart Installer" (Drivers are integrated on printer itself with in built memory which will not be removed physically.

Hence it is deteting as "Mass Storage Device" which is showing as nor mal USB drive. But it was not turning as printer device.

To resolve the issue we need to disable "Smart Install" Feature on printer.

First download Complete drivers from HP site for both Windows XP 32 bit and Windows 32 bit OS.

First start installation of printer drivers on Windows XP 32/Windows 7 32 OS installed system and connect USB cable when it prompts.After getting successful installation,

You may run SIUtility64.exe or SIUtility.exe utility from CD without installing on XP Machine

Disable "Smart Install" feature from printer by following below steps.

Insert Printer driver CD on PC/Laptop.

Find X64\SIUtility64.exe for 64bit or SIUtility.exe for 32bit on UTIL folder

Click on above exe file.

Then choose "Ddisable smart install on printer" (Now smart installer permanently disabled on printer)
Now disconnect USB cable from XP 32 bit /Windows 7 32bit system,

Start installation with Downloaded Full driver solution

Connect printer with USB cable when it prompts connect.

Now installation should complete without any issue.

Printer should not detected as "Mass Storage Device"

Options: ReplyQuote
Re: Instructions on Installing HP LaserJet P1102 on FreeBSD 8.1
Posted by: rickrich ()
Date: July 05, 2013 11:38AM

From the INSTALL file:
    The printers HP LaserJet Pro P1102, HP LaserJet Pro CP1025, and simliar
    models have a virtual CD-ROM (a fake USB CD drive) in USB mode.  You can
    disable this three ways:

    Method 1:
        NOTE: this is a non-open-source method!
        - Connect the printer to a Windows PC and turn it on.
          The fake CD-ROM appears on Windows.
        - Insert the original Driver CD that ships with the printer
        - Run SIUtility.exe or SIUtility64.exe from the UTIL folder and

    Method 2:
        - Install usb_modeswitch and usb_modeswitch-data from your distro's
          repository. I.E.:
            # yum install usb_modeswitch usb_modeswitch-data
            $ sudo apt-get install usb-modeswitch-data
            Surf to: http://www.draisberghof.de/usb_modeswitch/
        - Power cycle the printer.

    Method 3:
        NOTE: this is a non-open-source method!
        - Execute:
            $ wget http://hplipopensource.com/hplip-web/smartinstall/\
            $ sh SmartInstallDisable-Tool.run

Options: ReplyQuote
Re: Instructions on Installing HP LaserJet P1102 on FreeBSD 8.1
Posted by: utoha ()
Date: January 27, 2017 02:26PM

On FreeBSD 10.3, when I run gmake install I meet the following error.

# Dependencies...
*** Error: gs is not installed!
*** Install ghostscript (gs) package
gmake: *** [Makefile:393: all-test] Error 1

gs is installed via pkg system. Where should it be located?

Options: ReplyQuote
Re: Instructions on Installing HP LaserJet P1102 on FreeBSD 8.1
Posted by: rickrich ()
Date: January 27, 2017 03:07PM

From the Makefile:

$ type gs
gs is /usr/bin/gs

[rick@freebsd /usr/home/rick]$ type gs
gs is /usr/local/bin/gs

Either one works.

Edited 1 time(s). Last edit at 01/27/2017 03:16PM by rickrich.

Options: ReplyQuote

Sorry, only registered users may post in this forum.
This forum powered by Phorum.