SCSA2USB(4D) Devices SCSA2USB(4D)
NAME
scsa2usb - SCSI to USB bridge driver
SYNOPSIS
storage@unit-addressDESCRIPTION
The
scsa2usb driver is a
USBA (Solaris USB architecture) compliant
nexus driver that supports the
USB Mass Storage Bulk Only Transport Specification 1.0 and
USB 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 driver also supports a
ugen(4D) interface allowing raw
access to the device, for example by libusb applications, bypassing
the child
sd(4D) or
st(4D) driver. Because a libusb application might
change the state of the device, you should not access the disk or
tape concurrently.
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(4D) or
st(4D).
This driver supports multiple LUN devices and creates a separate
child device info node for each LUN. All child LUN nodes attach to
sd(4D) for disks or
st(4D) for tapes.
In previous releases, all USB disk storage devices were treated as
removable media devices and managed by
rmformat(1) and volume
management software. In the current release, however, only disk
storage devices with a removable bit (RMB) value of
1 are removable.
(The RMB is part of the device's SCSI INQUIRY data.) See SCSI
specifications T10/995D Revision 11a, T10/1236-D Revision 20 or
T10/1416-D Revision 23 for more information. However, for backward
compatibility, all USB disk storage devices can still be managed by
rmformat(1). With or without a volume manager, you can mount, eject,
hot remove and hot insert a 1394 mass 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 overriding 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 override information.
For example, by adding the following to the
scsa2usb.conf file, many
USB memory sticks and card readers might operate more reliably:
attribute-override-list = "vid=* reduced-cmd-support=true";
Note that this override applies to all USB mass storage devices and
might be inappropriate for a USB CD writer. If so, you can add an
entry for each device to the attribute override list.
If USB mass storage support is considered a security risk, this
driver can be disabled in
/etc/system as follows:
exclude: scsa2usb
Alternatively, you can disable automatic handling of a device as
described in the following subsection.
Using Volume Management
Disk storage devices are managed by Volume Manager. Software that
manages removable media creates a device nickname that can be listed
with
eject(1) or
rmmount(1). A device that is not mounted
automatically can be mounted using
rmmount(1) under
/rmdisk/label.
Note that the
mount(8) and
mount(8) commands do not accept nicknames;
you must use explicit device names with these commands.
See
rmmount(1) to unmount the device and
eject(1) to eject the media.
If the device is ejected while it is mounted, volume management
software unmounts the device before ejecting it. It also might kill
any active applications that are accessing the device.
Volume management software is hotplug-aware and normally mounts file
systems on USB mass storage devices if the file system is recognized.
Before hot removing the USB device, use
eject(1) to unmount the file
system. After the device is removed, a console warning, such as "The
disconnected device was busy, please reconnect," might display. The
warning is harmless and you can ignore it.
You can disable the automatic mounting and unmounting of removable
devices by inserting a entry for a removable device in
/etc/vfstab.
In this entry, you must set the
mount at boot field to
no. See
vfstab(5).
Using mount and
umount Use
mount(8) to explicitly mount the device and
umount(8) to unmount
the device. Use
eject(1) to eject the media. After you have
explicitly mounted a removable device, you cannot use a nickname as
an argument to
eject.
Removing the disk device while it is being accessed or mounted fails
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.
DEVICE SPECIAL FILES
Disk block special file names are located in
/dev/dsk, while 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(4D) or
st(4D).
IOCTLS
Refer to
dkio(4I) and
cdio(4I).
ERRORS
Refer to
sd(4D) for disks or
st(4D) 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(4D) or
st(4D).
/dev/dsk/cnt
nd
ns
n Block files for disks.
/dev/rdsk/cnt
nd
ns
n Raw files for disks.
/dev/usb/*/*/* ugen(4D) nodes
/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/amd64/scsa2usb 64-bit x86 ELF kernel module
/kernel/drv/sparcv9/scsa2usb 64-bit SPARC ELF kernel module
/kernel/drv/scsa2usb.conf Can be used to override specific characteristics.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-------------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-------------------------------+
|Architecture | SPARC, x86, PCI-based systems |
+---------------+-------------------------------+
SEE ALSO
cdrw(1),
eject(1),
rmformat(1),
rmmount(1),
ieee1394(4D),
sd(4D),
st(4D),
ugen(4D),
usba(4D),
pcfs(4FS),
cdio(4I),
dkio(4I),
scsi(5),
vfstab(5),
attributes(7),
cfgadm_scsi(8),
cfgadm_usb(8),
fdisk(8),
mount(8),
umount(8) Writing Device Drivers System Administration Guide, Volume I Universal Serial Bus Specification 2.0 Universal Serial Bus Mass Storage Class Specification Overview 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 SCSI Specification
T10/995D Revision 11a -- March 1997
SCSI Specification
T10/1236-D Revision 20 -- July 2001
SCSI Specification
T10/1416-D Revision 23 -- May 2005
DIAGNOSTICS
Refer to
sd(4D) and
st(4D).
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...
Cannot access <device>. Please reconnect. There was an error in accessing the mass-storage device during
reconnect. Please reconnect the device.
Device is not identical to the previous one on this port. Please disconnect and reconnect. Another USB device has been inserted on a port that was connected
to a mass-storage device. Please disconnect the USB device and
reconnect the mass-storage device back into that port.
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.
Please disconnect and reconnect this device. A hotplug of the device is needed before it can be restored.
The following messages may be logged into the system log. They are
formatted in the following manner:
<device path><scsa2usb<instance number>): message...
Invalid <record> in scsa2usb.conf file entry. An unrecognized record was specified in the
scsa2usb.conf file.
Pkt submitted with 0 timeout which may cause indefinite hangs. An application submitted a request but did not specify a timeout.
Syncing not supported. Syncing after a panic is not supported. The filesystem may be
corrupted.
scsa2usb.conf override: <record>. An override record specified in
scsa2usb.conf was applied.
Examples of an override record applied to a device with vendor ID
123 and product ID 456 are:
vid=0x123 pid=0x456 reduced-cmd-support=true
or
vid=* reduced-cmd-support=true
...meaning that the override record is applied to this device and
all other USB mass storage devices.
NOTES
The Zip 100 drive does not comply with
Universal Serial Bus Specification 1.0 and cannot be power managed. Power Management
support for Zip 100 has been disabled.
If the system panics while a UFS file system is mounted on the mass
storage media, no syncing will take place for the disk 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.
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.
May 23, 2021 SCSA2USB(4D)