hpoj reference: ptal-connect and ptal-print

The ptal-connect command-line utility provides access to the various stream services on the device. ptal-print is a symlink alias for ptal-connect that defaults to connecting to the print service. They are similar to a telnet client, in that once connected to the service on the device, data on standard input is sent to the device over the open channel as "forward" data, and any "reverse" data received from the device over the open channel is sent to standard output.


The syntax of ptal-connect and ptal-print is as follows:
	ptal-connect [devname] action [options...]
	ptal-print [devname] [options...]


Service name lookup is part of the 1284.4 protocol, and is simulated by ptal-mlcd and by the JetDirect firmware for MLC mode. Therefore, you should usually be able to specify the service name for well-known services. For other services, you may need to specify both -service for 1284.4 mode and -socket for MLC mode.

-print is used by ptal-cups (the PTAL CUPS backend) to pass printer-ready data to the device.

"-service ECHO" is useful for verifying basic device connectivity, because text you send in the forward direction is echoed in the reverse direction. (However, this service may not work properly on the OfficeJet LX and 300 series.)

-scan only connects to the scan service on the device and doesn't in an of itself start a scan operation; use libsane-hpoj for that. It is not recommended to call "ptal-connect -scan" directly, because in certain cases it may make the scan service unusable for subsequent actual scans (due to improper negotiated packet sizes) until the device is power-cycled or ptal-mlcd is restarted.

ptal-mlcd supports several "virtual" services which do not involve the device in any way.

Most if not all devices have a limit of one connection to each service at any given time. Subsequent connections will fail.

The "datalen" parameters to -fwdlen and -revlen do not include the 6-byte header inherent in the MLC and 1284.4 protocols. The requested sizes are not guaranteed to be honored, because the device is permitted to reduce either or both sizes. For MLC mode, the negotiated packet sizes for a given service are fixed after the first negotiation, and subsequent requests are ignored. For 1284.4 mode, different sizes may be honored each time. Some combinations of sizes may have erroneous results on some models.

Specifying -infretry causes failed connection attempts to be retried indefinitely, even in situations where the connection would never be successful. Other (non-negative) retry options may cause fewer retries than expected, depending on the nature of the connection failure.

If you're connecting through an HP JetDirect print server (i.e. with a PTAL device name prefix of hpjd:), then the following limitations apply: