svn commit: r44635 - head/en_US.ISO8859-1/books/handbook/disks
Dru Lavigne
dru at FreeBSD.org
Wed Apr 23 17:04:03 UTC 2014
Author: dru
Date: Wed Apr 23 17:04:02 2014
New Revision: 44635
URL: http://svnweb.freebsd.org/changeset/doc/44635
Log:
Editorial review of USB Storage Devices chapter.
Update examples.
Add note for xhci.
Incorporate resources into context.
Sponsored by: iXsystems
Modified:
head/en_US.ISO8859-1/books/handbook/disks/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/disks/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/disks/chapter.xml Wed Apr 23 15:28:20 2014 (r44634)
+++ head/en_US.ISO8859-1/books/handbook/disks/chapter.xml Wed Apr 23 17:04:02 2014 (r44635)
@@ -431,70 +431,70 @@ super-block backups (for fsck -b #) at:
</indexterm>
<para>Many external storage solutions, such as hard drives,
- <acronym>USB</acronym> thumbdrives, and CD/DVD burners, use the
+ <acronym>USB</acronym> thumbdrives, and <acronym>CD</acronym>
+ and <acronym>DVD</acronym> burners, use the
Universal Serial Bus (<acronym>USB</acronym>). &os; provides
- support for these devices.</para>
+ support for <acronym>USB</acronym> 1.x, 2.0, and 3.0 devices.</para>
- <sect2>
- <title>Configuration</title>
-
- <para>The <acronym>USB</acronym> mass storage devices driver,
- &man.umass.4;, is built into the <filename>GENERIC</filename>
- kernel and provides support for <acronym>USB</acronym> storage
- devices. For a custom kernel, be sure that the following
+ <note>
+ <para><acronym>USB</acronym> 3.0 support is not compatible with
+ some hardware, including Haswell (Lynx point) chipsets. If
+ &os; boots with a <errorname>failed with error 19</errorname>
+ message, disable xHCI/USB3 in the system
+ <acronym>BIOS</acronym>.</para>
+ </note>
+
+ <para>Support for <acronym>USB</acronym> storage devices
+ is built into the <filename>GENERIC</filename>
+ kernel. For a custom kernel, be sure that the following
lines are present in the kernel configuration file:</para>
- <programlisting>device scbus
-device da
-device pass
-device uhci
-device ohci
-device ehci
-device usb
-device umass</programlisting>
-
- <para>Since the &man.umass.4; driver uses the
- <acronym>SCSI</acronym> subsystem to access the
- <acronym>USB</acronym> storage devices, any
+ <programlisting>device scbus # SCSI bus (required for ATA/SCSI)
+device da # Direct Access (disks)
+device pass # Passthrough device (direct ATA/SCSI access)
+device uhci # provides USB 1.x support
+device ohci # provides USB 1.x support
+device ehci # provides USB 2.0 support
+device xhci # provides USB 3.0 support
+device usb # USB Bus (required)
+device umass # Disks/Mass storage - Requires scbus and da
+device cd # needed for CD and DVD burners</programlisting>
+
+ <para>&os; uses the &man.umass.4; driver which uses the
+ <acronym>SCSI</acronym> subsystem to access
+ <acronym>USB</acronym> storage devices. Since any
<acronym>USB</acronym> device will be seen as a
- <acronym>SCSI</acronym> device by the system. Depending on
- the <acronym>USB</acronym> chipset on the motherboard,
- <literal>device uhci</literal> or
- <literal>device ohci</literal> is used to provide
- <acronym>USB</acronym> 1.X support. Support for
- <acronym>USB</acronym> 2.0 controllers is provided by
- <literal>device ehci</literal>.</para>
-
- <note>
- <para>If the <acronym>USB</acronym> device is a
- <acronym>CD</acronym> or <acronym>DVD</acronym> burner,
- &man.cd.4;, must be added to the kernel via the line:</para>
-
- <programlisting>device cd</programlisting>
-
- <para>Since the burner is seen as a <acronym>SCSI</acronym>
- drive, the driver &man.atapicam.4; should not be used in the
- kernel configuration.</para>
- </note>
- </sect2>
+ <acronym>SCSI</acronym> device by the system,
+ if the <acronym>USB</acronym> device is a
+ <acronym>CD</acronym> or <acronym>DVD</acronym> burner, do
+ <emphasis>not</emphasis> include <option>device atapicam</option>
+ in a custom kernel configuration file.</para>
+
+ <para>The rest of this section demonstrates how to verify that a
+ <acronym>USB</acronym> storage device is recognized by &os; and
+ how to configure the device so that it can be used.</para>
<sect2>
- <title>Testing the Configuration</title>
+ <title>Device Configuration</title>
<para>To test the <acronym>USB</acronym> configuration, plug in
- the <acronym>USB</acronym> device. In the system message
- buffer, &man.dmesg.8;, the drive should appear as something
- like:</para>
-
- <screen>umass0: USB Solid state disk, rev 1.10/1.00, addr 2
-GEOM: create disk da0 dp=0xc2d74850
-da0 at umass-sim0 bus 0 target 0 lun 0
-da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
-da0: 1.000MB/s transfers
-da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)</screen>
+ the <acronym>USB</acronym> device. Use
+ <command>dmesg</command> to confirm that the drive appears in
+ the system message buffer. It should look something
+ like this:</para>
+
+ <screen>umass0: <STECH Simple Drive, class 0/0, rev 2.00/1.04, addr 3> on usbus0
+umass0: SCSI over Bulk-Only; quirks = 0x0100
+umass0:4:0:-1: Attached to scbus4
+da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
+da0: <STECH Simple Drive 1.04> Fixed Direct Access SCSI-4 device
+da0: Serial Number WD-WXE508CAN263
+da0: 40.000MB/s transfers
+da0: 152627MB (312581808 512 byte sectors: 255H 63S/T 19457C)
+da0: quirks=0x2<NO_6_BYTE></screen>
- <para>The brand, device node (<filename>da0</filename>), and
- other details will differ according to the device.</para>
+ <para>The brand, device node (<filename>da0</filename>), speed,
+ and size will differ according to the device.</para>
<para>Since the <acronym>USB</acronym> device is seen as a
<acronym>SCSI</acronym> one, <command>camcontrol</command> can
@@ -502,26 +502,36 @@ da0: 126MB (258048 512 byte sectors: 64H
attached to the system:</para>
<screen>&prompt.root; <userinput>camcontrol devlist</userinput>
-<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)</screen>
+<STECH Simple Drive 1.04> at scbus4 target 0 lun 0 (pass3,da0)</screen>
+
+ <para>Alternately, <command>usbconfig</command> can be used to
+ list the device. Refer to &man.usbconfig.8; for more
+ information about this command.</para>
- <para>If the drive comes with a file system, it can be mounted.
- Refer to <xref linkend="disks-adding"/> for instructions on
+ <screen>&prompt.root; <userinput>usbconfig</userinput>
+ugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)</screen>
+
+ <para>If the device has not been formatted,
+ refer to <xref linkend="disks-adding"/> for instructions on
how to format and create partitions on the
- <acronym>USB</acronym> drive.</para>
+ <acronym>USB</acronym> drive. If the drive comes with a file
+ system, it can be mounted by <systemitem
+ class="username">root</systemitem> using the
+ instructions in <xref linkend="mount-unmount"/>.</para>
<warning>
<para>Allowing untrusted users to mount arbitrary media, by
enabling <varname>vfs.usermount</varname> as
described below, should not be considered safe from a
- security point of view. Most file systems in &os; were not
+ security point of view. Most file systems were not
built to safeguard against malicious devices.</para>
</warning>
<para>To make the device mountable as a normal user, one
solution is to make all users of the device a member of the
<systemitem class="groupname">operator</systemitem> group
- using &man.pw.8;. Next, ensure that the <systemitem
- class="groupname">operator</systemitem> group is able to
+ using &man.pw.8;. Next, ensure that <systemitem
+ class="groupname">operator</systemitem> is able to
read and write the device by adding these lines to
<filename>/etc/devfs.rules</filename>:</para>
@@ -529,31 +539,37 @@ da0: 126MB (258048 512 byte sectors: 64H
add path 'da*' mode 0660 group operator</programlisting>
<note>
- <para>If <acronym>SCSI</acronym> disks are installed in the
+ <para>If internal <acronym>SCSI</acronym> disks are also installed in the
system, change the second line as follows:</para>
- <programlisting>add path 'da[3-9]*' mode 0660 group operator</programlisting>
+ <programlisting>add path 'da[<replaceable>3</replaceable>-9]*' mode 0660 group operator</programlisting>
<para>This will exclude the first three
<acronym>SCSI</acronym> disks (<filename>da0</filename> to
<filename>da2</filename>)from belonging to the <systemitem
- class="groupname">operator</systemitem> group.</para>
+ class="groupname">operator</systemitem> group. Replace
+ <replaceable>3</replaceable> with the number of internal
+ <acronym>SCSI</acronym> disks. Refer to &man.devfs.rules.5;
+ for more information about this file.</para>
</note>
- <para>Next, enable the &man.devfs.rules.5; ruleset in
+ <para>Next, enable the ruleset in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>devfs_system_ruleset="localrules"</programlisting>
- <para>Next, instruct the running kernel to allow regular users
- to mount file systems. The easiest way is to add the
+ <para>Then, instruct the system to allow regular users
+ to mount file systems by adding the
following line to
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>vfs.usermount=1</programlisting>
- <para>Since this only takes effect after the next reboot use
- &man.sysctl.8; to set this variable now.</para>
+ <para>Since this only takes effect after the next reboot, use
+ <command>sysctl</command> to set this variable now:</para>
+
+ <screen>&prompt.root; <userinput>sysctl vfs.usermount=1</userinput>
+vfs.usermount: 0 -> 1</screen>
<para>The final step is to create a directory where the file
system is to be mounted. This directory needs to be owned by
@@ -571,32 +587,24 @@ add path 'da*' mode 0660 group operator<
<para>Suppose a <acronym>USB</acronym> thumbdrive is plugged in,
and a device <filename>/dev/da0s1</filename> appears. If the
- device is preformatted with a FAT file system, it can be
- mounted using:</para>
+ device is formatted with a <acronym>FAT</acronym> file system, the user can
+ mount it using:</para>
<screen>&prompt.user; <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/<replaceable>username</replaceable></userinput></screen>
<para>Before the device can be unplugged, it
- <emphasis>must</emphasis> be unmounted first. After device
+ <emphasis>must</emphasis> be unmounted first:</para>
+
+ <screen>&prompt.user; <userinput>umount /mnt/<replaceable>username</replaceable></userinput></screen>
+
+ <para>After device
removal, the system message buffer will show messages similar
to the following:</para>
- <screen>umass0: at uhub0 port 1 (addr 2) disconnected
-(da0:umass-sim0:0:0:0): lost device
-(da0:umass-sim0:0:0:0): removing device entry
-GEOM: destroy disk da0 dp=0xc2d74850
-umass0: detached</screen>
- </sect2>
-
- <sect2>
- <title>Further Reading</title>
-
- <para>Beside the <link linkend="disks-adding">Adding
- Disks</link> and <link linkend="mount-unmount">Mounting and
- Unmounting File Systems</link> sections, reading various
- manual pages may also be useful: &man.umass.4;,
- &man.camcontrol.8;, and &man.usbconfig.8; under &os; 8.X
- or &man.usbdevs.8; under earlier versions of &os;.</para>
+ <screen>umass0: at uhub3, port 2, addr 3 (disconnected)
+da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
+da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached
+(da0:umass-sim0:0:0:0): Periph destroyed</screen>
</sect2>
</sect1>
More information about the svn-doc-head
mailing list