Skip Navigation Links | |
Exit Print View | |
System Administration Guide: Printing Oracle Solaris 11 Express 11/10 |
1. Introduction to Printing in the Oracle Solaris Operating System
2. Planning for Printing (Tasks)
3. Setting Up and Administering Printers by Using CUPS (Tasks)
4. Setting Up and Administering Printers by Using Print Manager for LP (Tasks)
Introduction to Print Manager for LP
Notification of Printing Events in Oracle Solaris Desktop
Switching From CUPS to the LP Print Service
How to Enable Print Manager for LP
Managing Network Device Discovery Services (Task Map)
How Auto-Discovery of Devices Works
Issues With the Network-Attached Printer Discovery Service Under LP
How to Enable the Network Device Discovery Service From the Desktop
How to Enable Network Device Discovery Services by Using SMF
Getting Started With Print Manager for LP
About the Print Manager Window
Managing Printers by Using Print Manager for LP (Task Map)
Adding Newly Discovered Printers by Using Print Manager for LP
How To Set Up Auto-Discovered Printers by Using Print Manager for LP
How to Manually Add a Printer by Using Print Manager for LP
Managing Printer Queues by Using Print Manager for LP
How to View or Change a Print Queue's Properties
How to Pause or Resume a Print Queue
Managing Printer Groups and Print Jobs (Task Map)
How to Create a New Printer Group
How to Create a New Search Group
How to Create a New Search Group by Using a Queue Pane Filter
How to View or Change an Existing Search Group's Properties
Managing Print Jobs by Using Print Manager for LP
Managing Print Manager for LP Behavior and Preferences (Task Map)
Setting Preferences That Determine How Print Manager for LP Behaves
Setting Preferences for Local USB Printer Discovery
Settings Preferences for Network-Attached Printer Discovery
Configuring Auto-Discovery Settings for Network-Attached Printers
5. Setting Up and Administering Printers by Using Oracle Solaris Print Manager (Tasks)
6. Setting Up Printers by Using LP Print Commands (Tasks)
7. Administering Printers by Using LP Print Commands (Tasks)
8. Customizing LP Printing Services and Printers (Tasks)
9. Administering the LP Print Scheduler and Managing Print Requests (Tasks)
10. Administering Printers on a Network (Tasks)
11. Administering Character Sets, Filters, Forms, and Fonts (Tasks)
12. Administering Printers by Using the PPD File Management Utility (Tasks)
13. Printing in the Oracle Solaris Operating System (Reference)
14. Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)
|
Discovery of devices, including printers, is accomplished through the Hardware Abstraction Layer (HAL) device registry (database) component. HAL uses D-BUS messaging to notify interested applications about changes to its registry. D-BUS is a messaging bus that passes messages between applications and broadcasts signals that interested applications are able to detect. This messaging service is used by HAL and a number of other applications. HAL provides the framework for device discovery and notification of device configuration changes on a system. In the Oracle Solaris release, this support has been extended to detecting printers that are added or removed from a local system.
The HAL daemon, hald, provides a view of devices that are attached to a local system. This view is updated automatically, as a system's hardware configuration changes, by hotplugging or by other methods. HAL's internal database, also called the HAL device tree, is where device information is stored and maintained. HAL devices are uniquely identified in the HAL database through a Universal Device Identifier (UDI). This database is populated with properties of each device in the HAL database.
The automatic printing configuration feature works with the HAL daemon by listening for sysevents. When a hotplug-capable printer is added to a system, HAL creates a new node in the HAL device tree, as shown in the following example:
/org/freedesktop/Hal/devices/pci_0_0/pci1022_74606/pci108e_534d_3_1/printer_2_0_if0/print
When the device node has been successfully registered in the HAL database, HAL signals interested applications that the device is available. Device removal works similarly.
The network device discovery components are standard service interfaces that are offered by classes of network-attached devices. This module is capable of actively scanning a network for new devices. The service is directly controlled through the svcadm interface. For more information, see the svcadm(1M) man page. svcadm(1M). To determine the device type, an active scan is performed through a Simple Network Management Protocol version 1 (SNMPv1) broadcast. By default, the SNMP based network-attached printer discovery service probes the network for printers every 60 seconds. This property is configurable. See Configuring Auto-Discovery Settings for Network-Attached Printers. During this active scan, SNMP determines the device type by attempting to connect to the device.
Note - Only active device discovery is available in Oracle Solaris. Passive device discovery through the Multicast DNS (mDNS) is not available.
In the Oracle Solaris 11 Express release, the network-attached printer discovery service that is used by the LP print service and its management tools does not work as expected. Any attempts to manually enable the device-discovery/printers:snmp service fails, causing the service to revert to a maintenance state.
Note that if CUPS, the default print service in this Oracle Solaris release is used, the device-discovery/printers:snmp service is not needed. However, if you need to switch to the LP service and network-attached printer discovery is required, this service must be enabled. Prior to enabling the device-discovery/printers:snmp service, complete these steps:
Become superuser.
Install the SUNWnet-snmp-core software package on your system.
# pkg install SUNWnet-snmp-core
Alternatively, you can use the Package Manager GUI to add the software package to your system.
Update the /etc/dbus-1/system.d/hal.conf file, as follows:
# patch -b /etc/dbus-1/system.d/hal.conf <<EOF> +++ hal.conf Sun Sep 6 00:49:33 2009 @@ -32,6 +32,8 @@ send_destination="org.freedesktop.Hal"/> <allow send_interface="org.freedesktop.Hal.Device.CPUFreq" send_destination="org.freedesktop.Hal"/> + <allow send_interface="org.freedesktop.Hal.Device.NetworkDiscovery" + send_destination="org.freedesktop.Hal"/> </policy> <!-- Default policy for the exported interfaces --> EOF
Restart the HAL service.
# svcadm restart hal
Start the device-discovery/printers:snmp service.
# svcadm enable printers:snmp
By default, USB printers that are physically connected to your system are automatically detected and partially configured. Print Manager for LP also has the ability to discover and configure printers that are on a network if the network device discovery service has been enabled.
The network device discovery service cannot be enabled from the desktop until you install the SUNWnet-snmp-core software package. If you attempt to enable the service before installing this package, the system reverts to maintenance state. Before you enable the network device discovery service, perform the workaround that is described in Issues With the Network-Attached Printer Discovery Service Under LP.
System-> Administration-> Services
The Services settings window is displayed.
To disable auto-discovery of devices, deselect this option.
This procedure describes how to enable and disable the network device-discovery/printers service (the HAL add-on module) by using the SMF.
# svcs device-discovery/printers
If the service is online, the following output is displayed:
STATE STIME FMRI online 13:30:22 svc:/network/device-discovery/printers:snmp
If the service is offline, the following output is displayed:
STATE STIME FMRI disabled Dec_12 svc:/network/device-discovery/printers:snmp
# svcadm enable printers:snmp
# svcadm disable printers:snmp
If the module has been successfully enabled, the output is as follows:
# svcs device-discovery/printers STATE STIME FMRI online 13:30:22 svc:/network/device-discovery/printers:snmp
If the module has been successfully disabled, the output is as follows:
# svcs device-discovery/printers STATE STIME FMRI disabled Dec_12 svc:/network/device-discovery/printers:snmp
$ for udi in `hal-find-by-capability --capability printer` ; do ; lshal --show $udi --long ; done
Example 4-1 Determining Which Printers Are Known to the System
This example shows all of the devices discovered by the system snoopy.
mymachine% PS1="$ " /bin/sh $ for udi in `hal-find-by-capability --capability printer` ; do > lshal --show $udi --long ; done udi = '/org/freedesktop/Hal/devices/network_attached/LLADDR_000E7FD91F07' printer.commandset = {'PJL', 'MLC', 'BIDI-ECP', 'PCLXL', 'PCL', 'PDF', \ 'PJL', 'MIME', 'POSTSCRIPT'} (string list) info.product = 'hp color LaserJet 4650' (string) org.freedesktop.Hal.Device.Printer.method_argnames = {'make model'} (string list) org.freedesktop.Hal.Device.Printer.method_execpaths = {'hal_lpadmin --configure'} (string list) org.freedesktop.Hal.Device.Printer.method_signatures = {'ss'} (string list) . . . $