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