scsa2usb(7D)
NAME
scsa2usb - SCSI to USB bridge driver
SYNOPSIS
storage@unit-address
DESCRIPTION
The scsa2usb driver is a USBA (Solaris USB architecture)
compliant nexus driver that supports the USB Mass Storage
Bulk Only Specification 1.0 and USB Mass Storage
Control/Bulk/Interrupt (CBI) Transport Specification 1.0.
The scsa2usb driver also supports USB storage devices that
implement CBI Transport without the interrupt completion for
status (that is, Control/Bulk (CB) devices.) It supports
bus-powered and self-powered USB mass storage devices. This
nexus driver is both a USB client driver and a SCSA HBA
driver. As such, the scsa2usb driver only supports storage
devices that utilize the above two transports.
The scsa2usb nexus driver maps SCSA target driver requests
to USBA client driver requests.
The scsa2usb driver creates a child device info node for
each logical unit (LUN) on the mass storage device. The
standard Solaris SCSI disk driver or tape driver is attached
to those nodes. Refer to sd(7D) or st(7D).
This driver supports multiple LUN devices and creates a
separate child device info node for each LUN. All child LUN
nodes attach to sd(7D) for disks or st(7D) for tapes.
All USB disk storage devices are treated as removable media
devices. Thus, a USB disk storage device can be formatted by
rmformat(1) and managed by Volume Manager. With or without
Volume Manager, you can mount, eject, hot remove and hot
insert a USB disk storage device, as the following sections
explain.
Some devices may be supported by the USB mass storage driver
even though they do not identify themselves as compliant
with the USB mass storage class.
The scsa2usb.conf file contains an attribute-override-list
that lists the vendor ID, product ID, and revision for
matching mass storage devices, as well as fields for over-
riding the default device attributes. The entries in this
list are commented out by default, and may be uncommented to
enable support of particular devices.
Follow the information given in the scsa2usb.conf file to
see if a particular device can be supported using the over-
ride information. Also see http://www.sun.com/io.
Using Volume Management
Disk storage devices are managed by Volume Manager. vold(1M)
creates a device nickname which can be listed with eject(1).
The device is mounted using volrmmount(1) under
/rmdisk/label.
See volrmmount(1M) to unmount the device and eject(1) to
eject the media. If the device is ejected while it is
mounted, vold(1M) unmounts the device before ejecting it. It
also kills any active applications that are accessing the
device.
Hot removing a disk storage device with vold(1M) active will
fail with a console warning. To hot remove or insert a USB
disk storage device, first stop vold(1M) by issuing the com-
mand /etc/init.d/volmgt stop. After the device has been
removed or inserted, restart vold(1M) by issuing the com-
mand /etc/init.d/volmgt start.
You can also permanently disable vold for removable devices
by commenting out the rmscsi line in vold.conf. See the Sys-
tem Administration Guide, Volume I and Solaris Common Desk-
top Environment: User's Guide for details on how to manage a
removable device with CDE and Removable Media Manager. See
dtfile.1X under CDE for information on how to use Removable
Media Manager.
Using mount(1M) and umount(1M)
Use mount(1M) to mount disk devices and umount(1M) to
unmount disk devices. Use eject(1) to eject the media. No
vold nicknames can be used. (vold.1m is disabled.)
Removing the storage device while it is being accessed or
mounted will fail with a console warning. To hot remove the
disk device from the system, unmount the file system, then
kill all applications accessing the device. Next, hot remove
the device. A storage device can be hot inserted at any
time.
For a comprehensive listing of (non-bootable) USB mass-
storage devices that are compatible with this driver, see
www.sun.com/io_technologies.
DEVICE SPECIAL FILES
Disk block-special file names are located in /dev/dsk; raw
file names are located in /dev/rdsk. Tape raw file names are
located in /dev/rmt. Input/output requests to the devices
must follow the same restrictions as those for SCSI disks or
tapes. Refer to sd(7D) or st(7D).
IOCTLS
Refer to dkio(7I) and cdio(7I).
ERRORS
Refer to sd(7D) for disks or st(7D) for tapes.
FILES
The device special files for the USB mass storage device are
created like those for a SCSI disk or SCSI tape. Refer to
sd(7D) or st(7D).
/dev/dsk/cntndnsn
Block files for disks.
/dev/rdsk/cntndnsn
Raw files for disks.
/dev/rmt/[0-127][l,m,h,u,c][b][n]
Raw files for tapes.
/vol/dev/aliases/zip0
Symbolic link to the character device for the media in
Zip drive 0.
/vol/dev/aliases/jaz0
Symbolic link to the character device for the media in
Jaz drive 0.
/vol/dev/aliases/rmdisk0
Symbolic link to the character device for the media in
removable drive 0. This is a generic removable media
device.
/kernel/drv/scsa2usb
32-bit ELF kernel module for original USBA framework.*
/kernel/drv/sparcv9/scsa2usb
64-bit ELF kernel module for original USBA framework.*
(SPARC only)
/kernel/drv/scsa2usb.conf
Configuration file; can be used to override specific
characteristics for scsa2usb module.
/kernel/drv/usba10_scsa2usb
32-bit ELF kernel module for USBA 1.0 framework.*
/kernel/drv/sparcv9/usba10_scsa2usb
64-bit ELF kernel module for USBA 1.0 framework.*
(SPARC only)
/kernel/drv/usba10_scsa2usb.conf
Configuration file; can be used to override specific
characteristics for usba10_scsa2usb module.
* Please see www.sun.com/desktop/whitepapers.html for more
information on USB dual framework implementation, USBA 1.0,
and USB 2.0.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| ____________________________|_____________________________|_
| Architecture | PCI-based systems |
| ____________________________|_____________________________|_
| Availability | SUNWusb (All architectures)|
| | SUNWusbx (SPARC only) |
|_____________________________|_____________________________|
SEE ALSO
cdrw(1), eject(1), rmformat(1), volrmmount(1),
cfgadm_scsi(1M), cfgadm_usb(1M), fdisk(1M), mount(1M),
umount(1M), vold(1M), scsi(4), attributes(5), sd(7D),
st(7D), usba(7D), pcfs(7FS), cdio(7I), dkio(7I)
Writing Device Drivers
System Administration Guide, Volume I
Solaris Common Desktop Environment: User's Guide
Universal Serial Bus Specification 2.0
Universal Serial Bus Mass Storage Class Specification Over-
view 1.0
Universal Serial Bus Mass Storage Class Bulk-Only Transport
Specification 1.0
Universal Serial Bus Mass Storage Class
Control/Bulk/Interrupt (CBI) Transport Specification 1.0
System Administration Guide: Basic Administration
http://www.sun.com/desktop/whitepapers.html
http://www.sun.com/io
DIAGNOSTICS
Refer to sd(7D) and st(7D).
In addition to being logged, the following messages may
appear on the system console. All messages are formatted in
the following manner:
Warning: <device path> (scsa2usb<instance number>):
Error Message...
or
Warning: <device_path> (usba10_scsa2usb<instance number>):
Error Message...
Cannot access device. Please reconnect <name>.
There was an error in accessing the mass-storage dev-
ice during reconnect. Please reconnect the device.
luns (adjusting to 1).
Device reported incorrect luns (adjusting to 1) or device reports
The mass-storage device reported that it supports an
invalid number of LUNs. The driver has adjusted the
number of LUNs supported to 1.
unmount and eject.
Device is busy and cannot be suspended. Please close files,
The system wide suspend failed because the mass-
storage device was busy. Close the device. If a disk,
unmount the file system and eject the media before
retrying the suspend.
disconnect and reconnect.
Device is not identical to the previous one on this port. Please
Another USB device has been inserted on a port that
was connected to a mass-storage device. Please discon-
nect the USB device and reconnect the mass-storage
device back into that port.
Disconnected device was busy, please reconnect.
Disconnection of the mass-storage device failed
because the device was busy. Please reconnect the dev-
ice.
Reinserted device is accessible again.
The mass-storage device that was hot-removed from its
USB slot has been re-inserted to the same slot and is
available for access.
Syncing not supported.
While a system is panicking, a file system is mounted
on the disk mass-storage media. Syncing is not sup-
ported by scsa2usb driver.
NOTES
The Zip 100 drive does not comply with Universal Serial Bus
Specification 1.0 and cannot be power managed. Power Manage-
ment support for Zip 100 has been disabled.
If the system panics while a UFS file system is mounted on
the disk mass storage media, no syncing will take place for
the mass-storage device. (Syncing is not supported by the
scsa2usb driver.) As a result, the file system on the media
will not be consistent on reboot.
If a PCFS file system is mounted, no syncing is needed and
the filesystem will be consistent on reboot.
If a mass-storage device is busy, system suspend cannot
proceed and the system will immediately resume again.
Attempts to remove a mass-storage device from the system
will fail. The failure will be logged to the console. An
attempt to replace the removed device with some other USB
device will also fail. To successfully remove a USB mass-
storage device you must "close" all references to it.
An Iomega Zip 100Mb disk cannot be formatted on an Iomega
Zip250 drive. See the Iomega web site at
http://www.iomega.com for details.
Concurrent I/O to devices with multiple LUNs on the same
device is not supported.
Some USB CD-RW devices may perform inadequately at their
advertised speeds. To compensate, use USB CD-RW devices at
lower speeds (2X versus 4X). See cdrw(1) for details.
This driver also supports CBI devices that do not use USB
interrupt pipe for status completion.
Man(1) output converted with
man2html