1scsa2usb(7D) Devices scsa2usb(7D)
2
3
4
6 scsa2usb - SCSI to USB bridge driver
7
9 storage@unit-address
10
11
13 The scsa2usb driver is a USBA (Solaris USB architecture) compliant
14 nexus driver that supports the USB Mass Storage Bulk Only Transport
15 Specification 1.0 and USB Control/Bulk/Interrupt (CBI) Transport Speci‐
16 fication 1.0. The scsa2usb driver also supports USB storage devices
17 that implement CBI Transport without the interrupt completion for sta‐
18 tus (that is, Control/Bulk (CB) devices.) It supports bus-powered and
19 self-powered USB mass storage devices. This nexus driver is both a USB
20 client driver and a SCSA HBA driver. As such, the scsa2usb driver only
21 supports storage devices that utilize the above two transports.
22
23
24 The scsa2usb driver also supports a ugen(7D) interface allowing raw
25 access to the device, for example by libusb(3LIB) applications, bypass‐
26 ing the child sd(7D) or st(7D) driver. Because a libusb application
27 might change the state of the device, you should not access the disk or
28 tape concurrently.
29
30
31 The scsa2usb nexus driver maps SCSA target driver requests to USBA
32 client driver requests.
33
34
35 The scsa2usb driver creates a child device info node for each logical
36 unit (LUN) on the mass storage device. The standard Solaris SCSI disk
37 driver or tape driver is attached to those nodes. Refer to sd(7D) or
38 st(7D).
39
40
41 This driver supports multiple LUN devices and creates a separate child
42 device info node for each LUN. All child LUN nodes attach to sd(7D) for
43 disks or st(7D) for tapes.
44
45
46 In previous releases, all USB disk storage devices were treated as
47 removable media devices and managed by rmformat(1) and volume manage‐
48 ment software. In the current release, however, only disk storage
49 devices with a removable bit (RMB) value of 1 are removable. (The RMB
50 is part of the device's SCSI INQUIRY data.) See SCSI specifications
51 T10/995D Revision 11a, T10/1236-D Revision 20 or T10/1416-D Revision 23
52 for more information. However, for backward compatibility, all USB disk
53 storage devices can still be managed by rmformat(1). With or without a
54 volume manager, you can mount, eject, hot remove and hot insert a
55 1394 mass storage device as the following sections explain.
56
57
58 Some devices may be supported by the USB mass storage driver even
59 though they do not identify themselves as compliant with the USB mass
60 storage class.
61
62
63 The scsa2usb.conf file contains an attribute-override-list that lists
64 the vendor ID, product ID, and revision for matching mass storage
65 devices, as well as fields for overriding the default device
66 attributes. The entries in this list are commented out by default and
67 may be uncommented to enable support of particular devices.
68
69
70 Follow the information given in the scsa2usb.conf file to see if a par‐
71 ticular device can be supported using the override information. Also
72 see http://www.sun.com/io. For example, by adding the following to the
73 scsa2usb.conf file, many USB memory sticks and card readers might oper‐
74 ate more reliably:
75
76 attribute-override-list = "vid=* reduced-cmd-support=true";
77
78
79
80 Note that this override applies to all USB mass storage devices and
81 might be inappropriate for a USB CD writer. If so, you can add an entry
82 for each device to the attribute override list.
83
84
85 If USB mass storage support is considered a security risk, this driver
86 can be disabled in /etc/system as follows:
87
88 exclude: scsa2usb
89
90
91
92 Alternatively, you can disable automatic handling of a device as
93 described in the following subsection.
94
95 Using Volume Management
96 Disk storage devices are managed by Volume Manager. Software that man‐
97 ages removable media creates a device nickname that can be listed with
98 eject(1) or rmmount(1). A device that is not mounted automatically can
99 be mounted using rmmount(1) under /rmdisk/label. Note that the
100 mount(1M) and mount(1M) commands do not accept nicknames; you must use
101 explicit device names with these commands.
102
103
104 See rmmount(1) to unmount the device and eject(1) to eject the media.
105 If the device is ejected while it is mounted, volume management soft‐
106 ware unmounts the device before ejecting it. It also might kill any
107 active applications that are accessing the device.
108
109
110 Volume management software is hotplug-aware and normally mounts file
111 systems on USB mass storage devices if the file system is recognized.
112 Before hot removing the USB device, use eject(1) to unmount the file
113 system. After the device is removed, a console warning, such as "The
114 disconnected device was busy, please reconnect," might display. The
115 warning is harmless and you can ignore it.
116
117
118 You can disable the automatic mounting and unmounting of removable
119 devices by inserting a entry for a removable device in /etc/vfstab. In
120 this entry, you must set the mount at boot field to no. See vfstab(4).
121 See the System Administration Guide, Volume I and Solaris Common Desk‐
122 top Environment: User's Guide for details on how to manage a removable
123 device with CDE and Removable Media Manager. See dtfile.1X under CDE
124 for information on how to use Removable Media Manager.
125
126 Using mount and umount
127 Use mount(1M) to explicitly mount the device and umount(1M) to unmount
128 the device. Use eject(1) to eject the media. After you have explicitly
129 mounted a removable device, you cannot use a nickname as an argument to
130 eject.
131
132
133 Removing the disk device while it is being accessed or mounted fails
134 with a console warning. To hot remove the disk device from the system,
135 unmount the file system, then kill all applications accessing the
136 device. Next, hot remove the device. A storage device can be hot
137 inserted at any time.
138
139
140 For a comprehensive listing of (non-bootable) USB mass-storage devices
141 that are compatible with this driver, see www.sun.com/io.
142
144 Disk block special file names are located in /dev/dsk, while raw file
145 names are located in /dev/rdsk. Tape raw file names are located in
146 /dev/rmt. Input/output requests to the devices must follow the same
147 restrictions as those for SCSI disks or tapes. Refer to sd(7D) or
148 st(7D).
149
151 Refer to dkio(7I) and cdio(7I).
152
154 Refer to sd(7D) for disks or st(7D) for tapes.
155
157 The device special files for the USB mass storage device are created
158 like those for a SCSI disk or SCSI tape. Refer to sd(7D) or st(7D).
159
160 /dev/dsk/cntndnsn
161
162 Block files for disks.
163
164
165 /dev/rdsk/cntndnsn
166
167 Raw files for disks.
168
169
170 /dev/usb/*/*/*
171
172 ugen(7D) nodes
173
174
175 /dev/rmt/[0- 127][l,m,h,u,c][b][n]
176
177 Raw files for tapes.
178
179
180 /vol/dev/aliases/zip0
181
182 Symbolic link to the character device for the media in Zip drive 0
183
184
185 /vol/dev/aliases/jaz0
186
187 Symbolic link to the character device for the media in Jaz drive 0.
188
189
190 /vol/dev/aliases/rmdisk0
191
192 Symbolic link to the character device for the media in removable
193 drive 0. This is a generic removable media device.
194
195
196 /kernel/drv/scsa2usb
197
198 32-bit x86 ELF kernel module
199
200
201 /kernel/drv/amd64/scsa2usb
202
203 64-bit x86 ELF kernel module
204
205
206 /kernel/drv/sparcv9/scsa2usb
207
208 64-bit SPARC ELF kernel module
209
210
211 /kernel/drv/scsa2usb.conf
212
213 Can be used to override specific characteristics.
214
215
217 See attributes(5) for descriptions of the following attributes:
218
219
220
221
222 ┌─────────────────────────────┬──────────────────────────────┐
223 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
224 ├─────────────────────────────┼──────────────────────────────┤
225 │Architecture │SPARC, x86, PCI-based systems │
226 ├─────────────────────────────┼──────────────────────────────┤
227 │Availability │SUNWusb │
228 └─────────────────────────────┴──────────────────────────────┘
229
231 cdrw(1), eject(1), rmformat(1), rmmount(1), cfgadm_scsi(1M),
232 cfgadm_usb(1M), fdisk(1M), mount(1M), umount(1M), dtfile.1X (in CDE man
233 pages), libusb(3LIB), scsi(4), vfstab(4), attributes(5),
234 ieee1394(7D)sd(7D), st(7D), ugen(7D), usba(7D), pcfs(7FS), cdio(7I),
235 dkio(7I)
236
237
238 Writing Device Drivers
239
240
241 System Administration Guide, Volume I
242
243
244 Solaris Common Desktop Environment: User's Guide
245
246
247 Universal Serial Bus Specification 2.0
248
249
250 Universal Serial Bus Mass Storage Class Specification Overview 1.0
251
252
253 Universal Serial Bus Mass Storage Class Bulk-Only Transport Specifica‐
254 tion 1.0
255
256
257 Universal Serial Bus Mass Storage Class Control/Bulk/Interrupt (CBI)
258 Transport Specification 1.0
259
260
261 System Administration Guide: Basic Administration
262
263
264 SCSI Specification T10/995D Revision 11a — March 1997
265
266
267 SCSI SpecificationT10/1236-D Revision 20 — July 2001
268
269
270 SCSI SpecificationT10/1416-D Revision 23— May 2005
271
272
273 http://www.sun.com/io
274
276 Refer to sd(7D) and st(7D).
277
278
279 In addition to being logged, the following messages may appear on the
280 system console. All messages are formatted in the following manner:
281
282 Warning: <device path> (scsa2usb<instance number>): Error Message...
283
284
285
286 Cannot access <device>. Please reconnect.
287
288 There was an error in accessing the mass-storage device during
289 reconnect. Please reconnect the device.
290
291
292 Device is not identical to the previous one on this port. Please dis‐
293 connect and reconnect.
294
295 Another USB device has been inserted on a port that was connected
296 to a mass-storage device. Please disconnect the USB device and
297 reconnect the mass-storage device back into that port.
298
299
300 Reinserted device is accessible again.
301
302 The mass-storage device that was hot-removed from its USB slot has
303 been re-inserted to the same slot and is available for access.
304
305
306 Please disconnect and reconnect this device.
307
308 A hotplug of the device is needed before it can be restored.
309
310
311
312 The following messages may be logged into the system log. They are for‐
313 matted in the following manner:
314
315 <device path><scsa2usb<instance number>): message...
316
317
318
319 Invalid <record> in scsa2usb.conf file entry.
320
321 An unrecognized record was specified in the scsa2usb.conf file.
322
323
324 Pkt submitted with 0 timeout which may cause indefinite hangs.
325
326 An application submitted a request but did not specify a timeout.
327
328
329 Syncing not supported.
330
331 Syncing after a panic is not supported. The filesystem may be cor‐
332 rupted.
333
334
335 scsa2usb.conf override: <record>.
336
337 An override record specified in scsa2usb.conf was applied. Examples
338 of an override record applied to a device with vendor ID 123 and
339 product ID 456 are:
340
341 vid=0x123 pid=0x456 reduced-cmd-support=true
342
343 or
344
345 vid=* reduced-cmd-support=true
346
347 ...meaning that the override record is applied to this device and
348 all other USB mass storage devices.
349
350
352 The Zip 100 drive does not comply with Universal Serial Bus Specifica‐
353 tion 1.0 and cannot be power managed. Power Management support for Zip
354 100 has been disabled.
355
356
357 If the system panics while a UFS file system is mounted on the mass
358 storage media, no syncing will take place for the disk mass-storage
359 device. (Syncing is not supported by the scsa2usb driver.) As a result,
360 the file system on the media will not be consistent on reboot.
361
362
363 If a PCFS file system is mounted, no syncing is needed and the filesys‐
364 tem will be consistent on reboot.
365
366
367 If a mass-storage device is busy, system suspend cannot proceed and the
368 system will immediately resume again.
369
370
371 Attempts to remove a mass-storage device from the system will fail. The
372 failure will be logged to the console. An attempt to replace the
373 removed device with some other USB device will also fail. To success‐
374 fully remove a USB mass-storage device you must "close" all references
375 to it.
376
377
378 An Iomega Zip 100Mb disk cannot be formatted on an Iomega Zip250 drive.
379 See the Iomega web site at http://www.iomega.com for details.
380
381
382 Concurrent I/O to devices with multiple LUNs on the same device is not
383 supported.
384
385
386 Some USB CD-RW devices may perform inadequately at their advertised
387 speeds. To compensate, use USB CD-RW devices at lower speeds (2X versus
388 4X). See cdrw(1) for details.
389
390
391 This driver also supports CBI devices that do not use USB interrupt
392 pipe for status completion.
393
394
395
396SunOS 5.11 28 Jul 2008 scsa2usb(7D)