Like many open source operating systems, PC-BSD® uses the Common Unix Printing System () to manage printing. Control Panel provides a graphical front-end for adding and managing printers.
While the graphical utility is easy to use, it may or may not automatically detect your printer depending upon how well your printer is supported by an open source print driver. This section will walk you through a sample configuration for a HP PhotoSmart 3210 printer. Your printer may "just work", allowing you to breeze through the configuration screens. If your printer configuration does not work, read this section more closely for hints on how to locate the correct driver for your printer.
Researching your Printer
Before configuring your printer, it is worth the time to see if a print driver exists for your particular model, and if so, which driver is recommended. If you are planning to purchase a printer, this is definitely good information to know beforehand. You can look up the vendor and model of the printer in the  which will indicate if the model is supported and if there are any known caveats with the print driver.
Figure 8.13a shows a search for our example printer. While the particular model is 3210, the closest driver is in the 3200 series.
Once the model is selected, click on the "Show this printer" button to see the results, as demonstrated in Figure 8.13b.
For this model, the HPLIP driver is recommended and the printer is compatible to the HP DeskJet 990C. In PC-BSD®, the HPLIP driver is available as an optional system component. You can see if the driver is installed, and install it if it is not, using Control Panel ➜ System Manager ➜ System Packages ➜ Hardware-Drivers as seen in Figure 8.13c.
Adding a Printer
Once you know that your printer is supported, make sure that the printer is plugged into your computer or, if the printer is a network printer, that both your computer and the printer are connected to the network. Then, go to Control Panel ➜ Printing or type pc-su system-config-printer. Input the administrative password to see a window similar to Figure 8.13d:
To add a new printer, click New ➜ Printer. The printing utility will pause for a few seconds as as the wizard searches to see if any printers are connected to your computer or network. When it is finished, you should see a screen similar to Figure 8.13e.
In this example, the wizard has found this printer and highlighted the entry for HP Photosmart 3200 (MY65BB21VW045K). The wizard should find any supported printer that is attached to the computer or network and list it as the highlighted entry in the "Devices" frame. If it does not automatically find your printer, read the section Manually Adding a Driver.
If it finds your printer, simply click "Forward" to advance to the screen shown in Figure 8.13f:
Since the configuration wizard found the printer in the previous screen, the "Describe Printer" screen automatically fills out the printer model series, a description, and the hostname of your computer, if the printer is locally attached, or the hostname of the network printer. If you wish, you can change the printer's name or description. Once you click the "Apply" button, the wizard will ask if you would like to print a test page. Ensure the printer has paper and click "Yes" to print the test page. If you can not print a successful test page, see the Printer Troubleshooting section.
Once the printer is created, a screen will open where you can set the properties of the printer. Our sample printer's properties screen is shown in Figure 8.13g:
You may wish to take a few minutes to review the settings in "Policies", "Access Control", "Printer Options", and "Job Options" tabs as these allow you to configure options such as print banners, permissions, the default paper size, and double-sided printing. The available settings will vary, depending upon the capabilities of the print driver.
Manually Adding a Driver
If the print configuration wizard does not automatically list your printer, double-check that it is supported as described in the Researching your Printer section and that HPLIP is installed if it is a HP printer. Also check that the printer is plugged in and powered on.
You can also try to manually add your printer. In the "Select Device" screen (Figure 8.13e) you will need to highlight and configure the type of connection to the printer:
USB: this entry will only appear if a printer is plugged into a USB port and the number of entries will vary depending upon the number of USB ports on the system. If there are multiple USB entries, highlight the one that represents the USB port your printer is plugged into.
Other: this option allows you to manually type in the URI to the printer. A list of possible URIs is available on the .
AppSocket/HP JetDirect: select this option if you are connecting to an HP network printer. You will need to input the IP address of the printer in the "Host" field. Only change the port number if the printer is using a port other than the default of 9100.
IPP: select this option if you are connecting to a printer cabled to another computer (typically running a Microsoft operating system) that is sharing the printer using IPP. You will need to input the IP address of the printer in the "Host" field and the name of the print queue. You can then click the "Verify" button to ensure that you can connect to the print queue.
LPD/LPR: select this option if you are connecting to a printer which is cabled to a Unix computer that is using LPD to share the printer. You will need to select the hostname and queue name from the drop-down menus.
After making your selection and clicking "Forward", you will see the screen in Figure 8.13h.
This screen provides three options for installing the driver. When selecting the driver, look for the one that was recommended by the Open Printing Database for your model.
- Select printer from database: if you highlight the manufacturer name and click "Forward", you will see a list of drivers to choose from. In the example shown in Figure 8.13i, the user has selected HP as the manufacturer. If you see the recommended driver, highlight it and click "Forward" to continue with the printer configuration. If you do not see the recommended driver, click the "Back" button and try option 2 or 3.
- Provide PPD file: a PostScript Printer Description (PPD) is a driver created by the manufacturer that ends in a .ppd extension. Sometimes the file will end with a .ppd.gz extension, indicating that it has been compressed with gzip. If the driver you are looking for was not in the database, see if there is a PPD file on the driver CD that came with the printer or available for download from the manufacturer's website. If so, you can browse to the location of that file using the screen shown in Figure 8.13j, then click Forward to continue with the printer configuration.
- Search for a printer driver to download: if you know the name of the driver that you are looking for, try typing its name or number into the "Search" box. If found, it will display in the "Printer" model drop-down menu.
If you have followed the instructions in Adding a Printer but are unable to successfully print, you may find your answer here. Here are some solutions to common printing problems:
A test page prints but it is all garbled: this typically means that you are using the wrong driver. If your specific model was not listed, click the "Change" button in the "Driver Details" section of the "Settings" tab of the printer and try choosing another driver model that is close to your model number. If trial and error does not fix the problem, see if there are any suggestions for your model in the . A web search for the word freebsd followed by the printer model name may also help you to find the correct driver to use.
Nothing happens when you try to print: in this case, type tail -f /var/log/cups/error_log in a console and then print a test page. The error messages should appear in the console. If the solution is not obvious from the error messages, try a web search for the error message. If you are still stuck, post the error, the model of your printer, and your version of PC-BSD® to either the  forum or the .