[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here E.8 Permanent Devices and Tentative Devices
HP OpenVMS I/O User’s Reference Manual: OpenVMS Version 8.4 > Appendix E Programming USB Generic Drivers

E.8 Permanent Devices and Tentative Devices

USB devices have OpenVMS device names assigned to them when they are configured; however, if you plug in multiple devices of the same type, in a different order or in different places, they all might have different names. Worse still, the USB bus discovery is asynchronous, and between each boot, the order of device discovery might be different.

It is not advisable for two printers, for example, to change names randomly when the system is booted.

The UCM tries to ensure that names are persistent (permanent) across boots and across hot-plugs. UCM uses two strategies to do this:

  • Serial Number—If a device has a serial number, the vendor/product code part must be unique.

  • Path—The USB bus is a hierarchical topology. Each device can be described by the level (HUB level) and port within the HUB. A path is a six- digit value similar to 1.2.0.0.0.0.

When a device is configured, UCM looks in a database of PERMANENT devices to determine if this device has been seen before. If it has not, the device is configured (as described previously), and the complete information about the device is stored in the permanent database, including the OpenVMS name that was used for it.

In general, the matching of devices in the permanent database is not a heuristic; it is, rather, an exact match.

The exception to this is TEMPLATE devices. Currently, only two—the Mouse and Keyboard—exist. These devices have preallocated entries in the permanent database. A flag tells UCM that if a Mouse or Keyboard is plugged in always to create MOU0 and KBD0, no matter where they are plugged in. Mice and keyboards do not have serial numbers, and it would not be user-friendly to create MOU1 instead of MOU0 simply because someone plugged the connectors into a different USB slot. However, this dates from when making devices permanent and configuring and loading the OpenVMS device was a manual process.

Controlling Device Permanence and Loading

You can use the UCM commands SET AUTO and SHOW AUTO to restrict the automatic recognition of new devices. This can be useful when debugging your USB device or debugging its configuration. For example:

$ UCM SET AUTO/ENABLE=(LOAD)/DISABLE=(PERM)

This command allows the device to be loaded but does not save it in the permanent (on disk) database.

$UCM SET AUTO/DISABLE

This command disables automatic loading of the device. Instead, the device is made “Tentative” – that is, UCM knows that the device is there and what driver to load but requires the UCM command ADD DEVICE to cause it to be made permanent. In addition, the device must then be hot-swapped (unplugged and plugged back in again).

The default is SET AUTO/ENABLE, which enables auto-load and auto-perm. The SHOW AUTO command displays the current settings.

In addition, you can set EXCLUDE and INCLUDE lists. For more information, see the UCM section of the HP OpenVMS System Management Utilities Manual.