|C H A P T E R 4|
Peripherals for Sun Ray DTUs
This chapter contains information about selected USB, parallel, and serial devices and printing from Sun Ray DTUs.
There are two kinds of peripherals: serial and parallel. Serial peripherals enable RS-232-style serial connections to the Sun Ray DTU. Parallel peripherals enable printing and come in two types: adapters and direct USB-connected printers.
Third-party adapters are useful for supporting legacy serial and parallel devices.
Sun Ray Server Software recognizes a parallel printer with an adapter as a USB printer.
Sun Ray Server Software creates a device directory called IEEE802.MACID in the /tmp/SUNWut/units directory. This directory contains the MAC address for each DTU on the interconnect. The IEEE802.MACID directory for each DTU contains dev and devices directories. The Sun Ray dev directory contains a representation of the logical topology of the devices connected to the DTU. The Sun Ray devices directory contains a representation of the physical topology of some of the devices connected to the DTU.
|Note - Sun Ray Server Software does not create device nodes for every USB device. Some USB device drivers export their device interfaces through other mechanisms than a traditional UNIX device node.|
Directories correspond to buses and hubs, and files correspond to ports. Hub directories are named according to the port on the upstream hub into which they are attached.
In Sun Ray devices, device nodes are created for each serial or printer port on an attached USB device. The device nodes are created in the hub directory corresponding to the hub to which they are attached. They are named:
If the USB device has multiple identical ports (for example, two serial ports), the name is followed by :n where n is a numerical index, starting at 1.
The following is a typical device node path:
Device links are created under the dev directory. A link to each serial node is created in dev/term, and a link to each parallel node is created in dev/printers.
Typical device links are:
where index is an increasing alphabetical character, starting at a.
If the manufacturer name is not available, the USB vendor and product ID numbers are used for the name of the device link.
Some device nodes are owned by the user whose session is active on the DTU, while others may be owned by root or by other users that may have had previously active sessions on the DTU. Device permissions, access controls and ownership rules are determined by the class of device. For serial and parallel devices, only the user whose session is active on the DTU or the superuser have permission to use the attached device. If there is no user with an active session, superuser owns the serial and parallel device nodes. This rule may not hold for other classes of USB devices connected to the DTU.
The following description of the behavior of USB devices when sessions are connected and disconnected from a DTU applies only to USB serial and USB parallel devices. Other device classes may have different semantics regarding ownership and device lease times.
Changing the active session on a DTU changes the ownership of the device nodes to the user associated with the new session. A session change occurs whenever a user:
In a failover environment, you can use the utselect or utswitch command to change a session. A session change causes all devices currently open by a non-root user to be closed after 15 seconds. Any input or output to or from any affected device results in an error. Devices currently opened by the superuser remain unaffected by the session change.
|Note - When a session is changed, any input or output in progress on a device node opened by a non-root user is cancelled after 15 seconds. If the original session is restored within 15 seconds, the ownership is not relinquished, and input and output continue uninterrupted.|
Mass storage device nodes are block special nodes. They are created in the dev/dsk directory. Note that for mass storage devices, device nodes are not created in the devices directory and no device links are created.
Device nodes are named with a partition identifier suffix. The device node representing the whole disk does not have such a suffix. For example:
Disk operations such as eject should be directed at the whole disk. Partition operations such as mount should be directed at individual partitions. See TABLE 4-2 for examples.
When a mass storage device is plugged into the DTU, if it has an OS-recognizablefile system, it is automatically mounted on a directory under the user’s mount parent directory. The mount parent directory is located in $DTDEVROOT/mnt/. The user can also locate mount points by using the -l option to the utdiskadm command:
When the user’s session disconnects from the DTU, the user loses access rights to the mass storage device, and all pending I/O to the device is aborted. This can cause the data on the device to be corrupted. Users should use utdiskadm -r to unmount all filesystems safely before hotdesking or unplugging the disk from the DTU. They should also close all references to files and directories in the mount point to ensure that the device in question is not busy.
|Caution - Linux does not immediately write data to disks. Failure to run utdiskadm -rbefore unplugging mass storage devices will cause loss of data. Make sure your users run utdiskadm -rbefore they unplug any mass storage device.|
TABLE 4-2 is a summary of common disk operations and the commands used to perform them. Refer to the man pages for more information on the individual commands.
Sun Ray Server Software supports PostScript printers connected directly to a USB port on the Sun Ray DTU or connected through a USB-to-parallel port adapter. For non-PostScript printer support, refer to Non-PostScript Printers.
|Note - The lp subsystem opens the device node as superuser for each print request, so print jobs are not affected by hotdesking.|
The following generic instructions may vary slightly from one operating system implementation to another but should provide enough information to enable an administrator to set up basic printing services.
Make sure to choose Other so that you can enter the device node from Step 4 above.
|Note - For SLES 9, perform the following additional steps:|
The Open Source libusb-based applications provided with the standard Linux distributions can be used to drive USB-based devices attached to Sun Ray DTUs. For example, for Sane, see www.sane-proj.org; for Gphoto, see www.gphoto.org.
|Note - Sane can be used in Sun Ray implementations if built with threads enabled. Sane binaries with threads enabled are available at the Sun Download Center (SDLC), or they can be built from source.|