Next Previous Contents

2. Configuring the Printer Host.

2.1 Configuring a Linux/Unix Host to share a PPA printer using Samba.

It is assumed that pnm2ppa is installed and working to provide local printing services on the Host, and that lpr will invoke a full set of print filters, as (e.g.) in Red Hat 6.2. The PPA printer is installed with the printer name lp, and samba is assumed to be installed. General Samba configuration issues involving security levels, network password, etc, are outside the scope of this document (see the SMB-HOWTO). You must log in as root to configure Samba.

Here is a sample entry setting up two public printer shares in the Host's /etc/smb.conf file. The printer HP722C-PPA is for printing by a Client that sends PPA output from pnm2ppa or the HP drivers across the network, and HP722-PS is for Clients that produce PostScript output:

[HP722C-PPA]
    comment = HP 722C printer on Linux (PPA input)
    path = /var/tmp
    printer name = lp
    writable = yes
    public = yes
    printable = yes
    print command = lpr -l -r -h -P %p %s
[HP722C-PS]
    comment = HP 722C printer on Linux (Postscript input)
    path = /var/tmp
    printer name = lp
    writable = yes
    public = yes
    printable = yes
    print command = lpr -r -h -P %p %s
The only differences besides the names are that the print command for HP722-PPA uses the " -l " "pass-through" option so print filters are not applied. The path entry uses /var/tmp because this is (presumably) a world-readable and -writable area for temporary files.

After editing /etc/smb.conf to include these entries, save it, and test its syntax with Samba's testparm utility. Then restart samba (run "/etc/rc.d/init.d/smb restart" on Red Hat).

2.2 Configuring a Windows Host to share a PPA printer with non-Windows Clients.

The Host is assumed to be a Window 98 system, and the PPA printer is assumed to be a HP722C installed with the native HP PPA drivers supplied on HP's installation CD. Some details may vary on other Windows versions.

First set up a shared printer that can accept PPA input from both networked Windows Clients, and from networked non-Windows Clients that use pnm2ppa.

You may be able to avoid disabling bi-directional communication by using an emulated Postscript printer to serve non-Windows Clients without using pnm2ppa (see below).

To turn off bi-directional communication between the Windows Host and the printer, open the Settings/Printers folder, then right-click on the printer icon, and open the Properties dialog. Select the Details tab, and click on Spool Settings, then choose the setting "Disable bi-directional support for this printer". If you have any difficulties, try rebooting Windows after the change, or see HP's support document http://www.hp.com/cposupport/printers/support_doc/bpd06455.html about disabling bi-directional communication.

To set up the Host to share the printer, right-click on its icon in the Settings/Printers folder, and select Sharing, then assign it a Share Name like HP722C-PPA , and enter a Comment Line like "HP 722C printer on Windows 98 (PPA input)".

You may now also wish to set up an emulated Postscript printer that accepts Postscript input from the Client, and prints it using HP's PPA drivers running on the Host, instead of on the Client. See the section Emulating a PostScript printer on a Windows Host

If you have installed and successfully tested the emulated printer, set it up for sharing on the network. Right-click on its icon in the Settings/Printers folder, and select Sharing, then assign it a Share Name like HP722C-PS, and enter a Comment Line like "HP 722C printer on Windows 98 (PostScript input)".

The emulated printer will appear like a Postscript printer to the Clients. If it provides acceptable printing services to the non-Windows clients, you will not need to connect pnm2ppa printers to HP722C-PPA, and will be able to re-enable bi-directional communication between the HP drivers and the printer. (However, the extra processing involved in the emulation may be unacceptably slow, or turn out to use too much of the host's CPU)


Next Previous Contents