mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
8e9c7797c1
commit
4006230734
|
@ -2,7 +2,7 @@
|
|||
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>The Linux SCSI subsystem in 2.4 HOWTO</title>
|
||||
<title>The Linux 2.4 SCSI subsystem HOWTO</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
|
@ -15,9 +15,17 @@
|
|||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<pubdate>2001-03-25</pubdate>
|
||||
<pubdate>2001-04-15</pubdate>
|
||||
|
||||
<revhistory>
|
||||
<revision>
|
||||
<revnumber>1.3</revnumber>
|
||||
<date>2001-04-15</date>
|
||||
<authorinitials>dpg</authorinitials>
|
||||
<revremark>
|
||||
ATAPI CDROM section, alter title, U320, iSCSI
|
||||
</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.2</revnumber>
|
||||
<date>2001-03-25</date>
|
||||
|
@ -94,7 +102,13 @@ subsystem, there is also a description of raw devices in
|
|||
<xref linkend="rawdev">.
|
||||
</para>
|
||||
<para>
|
||||
This document follows on from one written four years ago by Drew
|
||||
For those who have no interest in the SCSI subsystem and just want to get
|
||||
their ATAPI cd writer going, see this <link linkend="sratapi">section</link>.
|
||||
It may also be useful to browse the SCSI <link linkend="arch">architecture
|
||||
</link> section.
|
||||
</para>
|
||||
<para>
|
||||
This document follows on from one written five years ago by Drew
|
||||
Eckhardt called the SCSI-HOWTO [see reference <link linkend="W7">W7</link>].
|
||||
That document described the SCSI subsystem in Linux kernel 1.2 and 1.3
|
||||
series. It is still available from the Linux Documentation Project
|
||||
|
@ -110,9 +124,11 @@ The home site and perhaps the most up to date version of this
|
|||
document can be found at
|
||||
<ulink url="http://www.torque.net/scsi/SCSI-2.4-HOWTO">
|
||||
<literal>www.torque.net/scsi/SCSI-2.4-HOWTO</literal></ulink>.
|
||||
At that location this document is rendered in rtf, ps, pdf,
|
||||
a single (large) page of html and multipage html.
|
||||
</para>
|
||||
<para>
|
||||
This document was built on 26th March 2001.
|
||||
This document was built on 15th April 2001.
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
|
@ -172,8 +188,8 @@ Sd is a member of the generic disk family, as is the hd device from the
|
|||
IDE subsystem. Apart from mounting sd devices, the <command>fdisk
|
||||
</command> command is available to view or modify a disk's
|
||||
partition table. Although the <command>hdparm</command> command is
|
||||
primarily intended for IDE disks, some options work on SCSI
|
||||
disks.
|
||||
primarily intended for ATA disks (also known as IDE or EIDE disks), some
|
||||
options work on SCSI disks.
|
||||
</para>
|
||||
<para>
|
||||
Sr is a member of the CD-ROM subsystem. Apart from mounting file
|
||||
|
@ -405,7 +421,7 @@ three categories (e.g. scanners) also appear as sg devices.
|
|||
<para>
|
||||
Pseudo devices [see <xref linkend="llevelpseudo">] can cause devices
|
||||
that are usually not considered as SCSI to appear as SCSI device names.
|
||||
For example an IDE ATAPI CD-ROM may be picked up by the ide-scsi pseudo
|
||||
For example an ATAPI CD-ROM may be picked up by the ide-scsi pseudo
|
||||
driver and mapped to <filename>/dev/scd0</filename> .
|
||||
</para>
|
||||
<para>
|
||||
|
@ -541,14 +557,14 @@ The Linux kernel configuration is usually found in the kernel source in
|
|||
the file: <filename>/usr/src/linux/.config</filename> . It is not
|
||||
recommended to edit this file directly but to use one of these configuration
|
||||
options:
|
||||
<programlisting>
|
||||
make config
|
||||
- starts a character based questions and answer session
|
||||
make menuconfig
|
||||
- starts a "cursors" based configuration tool
|
||||
make xconfig
|
||||
- starts a X based configuration tool
|
||||
</programlisting>
|
||||
<itemizedlist>
|
||||
<listitem><para><command>make config</command> - starts a character based
|
||||
questions and answer session</para></listitem>
|
||||
<listitem><para><command>make menuconfig</command> - starts a
|
||||
terminal-oriented configuration tool (using ncurses)</para></listitem>
|
||||
<listitem><para><command>make xconfig</command> - starts a
|
||||
X based configuration tool</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
The descriptions of these selections that is displayed by the associated
|
||||
|
@ -574,7 +590,7 @@ CONFIG_SCSI=m
|
|||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Some other common SCSI configuration option follow:
|
||||
Some other common SCSI configuration options are:
|
||||
<programlisting>
|
||||
CONFIG_BLK_DEV_SD [disk (sd) driver]
|
||||
CONFIG_SD_EXTRA_DEVS [extra slots for disks added later]
|
||||
|
@ -634,7 +650,7 @@ boot loader's image from a SCSI disk into memory and executing it. This
|
|||
may require some settings to be changed in the motherboard's BIOS. When
|
||||
more than one SCSI adapter is involved, the SCSI BIOS settings may need
|
||||
to change to indicate which one contains the disk with the boot image.
|
||||
The boot image make also come from an IDE disk, a bootable CD-ROM or
|
||||
The boot image make also come from an ATA (IDE) disk, a bootable CD-ROM or
|
||||
a floppy.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -661,15 +677,16 @@ Some boot parameters related to the SCSI subsystem:
|
|||
debug [increase output to console during boot]
|
||||
nmi_watchdog=0 [turn off NMI watchdog on a SMP machine]
|
||||
max_scsi_luns=1 [limits SCSI bus scans to lun==0]
|
||||
|
||||
* When devfs is in use the initial read-only mount
|
||||
of the root partition can be done via the old
|
||||
/dev/sd<a><n> notation or the new devfs
|
||||
notation (and two of these are shown).
|
||||
The joint "root=/dev/sda6 single" may be useful
|
||||
when disk or adapter changes have broken the
|
||||
kernel boot load.
|
||||
</programlisting>
|
||||
* When devfs is in use the initial read-only mount
|
||||
of the root partition can be done via the old
|
||||
/dev/sd<a><n> notation or the new devfs
|
||||
notation (and two of these are shown).
|
||||
The joint "root=/dev/sda6 single" may be useful
|
||||
when disk or adapter changes have broken the
|
||||
kernel boot load.
|
||||
</para>
|
||||
<para>
|
||||
The "root=" argument may also be a hex number. For example, if the root
|
||||
partition is on <filename>/dev/sda3</filename> then "root=803" is
|
||||
appropriate. The last two digits are the minor device number discussed
|
||||
|
@ -922,7 +939,7 @@ in the file <filename>/usr/src/linux/Documentation/kernel-parameters.txt
|
|||
If SCSI disks are present in the system then it usually is better to
|
||||
build the mid level driver into the kernel. However if the SCSI
|
||||
subsystem is only being used periodically (e.g. to burn CD-Rs on
|
||||
an IDE CD writer) then building the mid level as a module is fine.
|
||||
an ATAPI CD writer) then building the mid level as a module is fine.
|
||||
The module load time options are the same as the driver's built in
|
||||
options:
|
||||
<programlisting>
|
||||
|
@ -979,12 +996,18 @@ New devices can be added using <command>
|
|||
where the variables are host, bus (channel), target (scsi id) and lun. The
|
||||
success (or otherwise) of this command can be determined by sending a
|
||||
subsequent <command>cat /proc/scsi/scsi</command> command.
|
||||
<footnote><para>
|
||||
The parsing of "add-single-device" and "remove-single-device" is rather
|
||||
inflexible. Hence it is best to stay close to the demonstrated syntax
|
||||
with no extra spaces (and no tabs).
|
||||
</para></footnote>
|
||||
</para>
|
||||
<para>
|
||||
The SCSI subsystem does not support hot-plugging of SCSI devices (there are
|
||||
also electrical issues on the associated SCSI bus). It is recommended that
|
||||
those who use add+remove-single-device make sure that other devices on that
|
||||
SCSI bus are inactive if re-plugging is going to take place.
|
||||
The SCSI subsystem does not support hot-plugging of SCSI devices (there may
|
||||
also be electrical issues on the associated SCSI parallel bus). It is
|
||||
recommended that those who use add+remove-single-device make sure that
|
||||
other devices on that SCSI bus are inactive if re-plugging is going to
|
||||
take place.
|
||||
</para>
|
||||
<para>
|
||||
To output a list of internal SCSI command blocks use <command>
|
||||
|
@ -1099,14 +1122,15 @@ part:
|
|||
</mediaobject>
|
||||
|
||||
<para>
|
||||
Many modern IDE CDROM players and all DVD players use the ATAPI standard
|
||||
which then allows them to be controlled by the SCSI subsystem with the
|
||||
ide-scsi lower level pseudo driver. The default action is for the IDE
|
||||
subsystem to take ownership of all IDE devices and in this case the default
|
||||
driver would be <filename>ide-cd.o</filename> . Once the IDE subsystem
|
||||
"owns" an ATAPI CDROM player then this excludes the ide-scsi driver from
|
||||
attaching itself to the same device. In order to change this default
|
||||
action see the following sections on boot and module parameters.
|
||||
This diagram glosses over some of the differences between the
|
||||
protocol stacks. CDROM device names are <emphasis>not</emphasis> maintained
|
||||
by the uniform CDROM layer but rather by each individual protocol stack.
|
||||
In the case of the SCSI subsystem, device names are maintained by the
|
||||
sr driver while the IDE subsystem maintains device names with its
|
||||
central "ide" driver (i.e. not by the ide-cd driver). USB and IEEE1394
|
||||
cd devices names are maintained by their respective stacks. This may
|
||||
partially explain why the <filename>/dev/cdrom</filename> is often a
|
||||
symbolic link to the appropriate subsystem's device name.
|
||||
</para>
|
||||
<para>
|
||||
Two types of SCSI devices are accessible via the sr driver:
|
||||
|
@ -1128,14 +1152,7 @@ configuration parameter CONFIG_SR_EXTRA_DEVS whose default value is 2.
|
|||
<sect2 id="srbparams">
|
||||
<title>sr boot parameters</title>
|
||||
<para>
|
||||
None but the following is related:
|
||||
During the boot sequence of the Linux kernel, the IDE devices are scanned
|
||||
before SCSI devices. This means that if both the ide-cd and ide-scsi drivers
|
||||
are built in, then the ide-cd driver will claim all CDROM devices on the IDE
|
||||
bus(-es). To override this action use the boot parameter "hd<x>=scsi"
|
||||
where <x> is the appropriate drive letter. In this case when the ide-scsi
|
||||
driver is initialized it will find the unclaimed IDE device and "claim" it
|
||||
for the SCSI subsystem.
|
||||
None.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
@ -1151,21 +1168,6 @@ turned off by default. The following module parameter is provided:
|
|||
to override the default. [Currently there seems to be no way to turn on
|
||||
XA mode testing when the sr driver is built into the kernel.]
|
||||
</para>
|
||||
<para>
|
||||
Continuing on with the ATAPI CDROM driver override discussion: for modules
|
||||
this can also be done with <command>insmod ide-cd ignore=hdb</command> to
|
||||
exclude that device. Typically the ide-cd module is loaded automatically
|
||||
so a line in the <filename>/etc/modules.conf</filename> file like:
|
||||
<programlisting>
|
||||
options ide-cd ignore=hdb
|
||||
</programlisting>
|
||||
should work. If the ide-scsi module is loaded after that, it will claim hdb.
|
||||
To check if this has happened examine <command>cat /proc/scsi/scsi</command>.
|
||||
Note that any other IDE CDROM player <emphasis>apart from</emphasis> the one
|
||||
connected to <filename>/dev/hdb</filename> (i.e. first IDE controller, slave
|
||||
device) will still be controlled by the ide-cd module (and hence the IDE
|
||||
subsystem).
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 id="srproc">
|
||||
<title>sr proc interface</title>
|
||||
|
@ -1194,6 +1196,113 @@ the command <command>echo "1" > /proc/sys/dev/cdrom/autoeject</command>.
|
|||
This will cause cdroms to be ejected from the drive when unmounted.
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 id="sratapi">
|
||||
<title>ATAPI cdroms</title>
|
||||
<para>
|
||||
Many Linux users have no SCSI devices (or adapters) in their systems. They
|
||||
become a little perplexed as to why cd writer software (e.g.
|
||||
<command>cdrecord</command> and <command>cdrdao</command>)
|
||||
and cd music reading programs (e.g. <command>cdparanoia</command>) use
|
||||
the Linux SCSI subsystem. The answer is that these programs need lower level
|
||||
access to these devices. ATAPI (ATA Packet Interface) is essentially
|
||||
a SCSI command set sent over an ATA
|
||||
<footnote><para>
|
||||
ATA is the modern name for what was previously known as IDE and/or EIDE.
|
||||
Note that the subsystem that controls ATA devices in Linux is called
|
||||
the "IDE" subsystem for historical reasons.
|
||||
</para></footnote>
|
||||
transport.
|
||||
</para>
|
||||
<para>
|
||||
Currently both <command>cdrecord</command> and <command>cdparanoia</command>
|
||||
interface to the SCSI generic driver (sg) and, in the case of ATAPI
|
||||
cd devices, use the ide-scsi pseudo device driver to access the hardware.
|
||||
This may change in the future as in the 2.4 series kernels a packet
|
||||
interface ioctl has been added to the uniform cdrom layer (see the diagram
|
||||
in the <link linkend="sr">CDROM</link> section above).
|
||||
<footnote><para>
|
||||
Other ATA devices such as tapes and floppies often use the ATAPI interface.
|
||||
However, the vast majority of ATA disks do <emphasis>not</emphasis> use
|
||||
the ATAPI interface.
|
||||
</para></footnote>
|
||||
</para>
|
||||
<para>
|
||||
The default action of the IDE subsystem in Linux is to claim all ATA
|
||||
devices for its drivers. In the case of an ATAPI cd writer, it will be
|
||||
claimed by the ide-cd driver. Once this has happened, the SCSI subsystem
|
||||
is unable to get control over an ATAPI device. The ide-scsi (pseudo
|
||||
lower level SCSI) driver can only register ATAPI devices in the SCSI
|
||||
subsystem that have <emphasis>not</emphasis> already been claimed
|
||||
by IDE subsystem.
|
||||
</para>
|
||||
<para>
|
||||
To change this default action, parameters need to be passed to the IDE
|
||||
subsystem that instruct it not to register a given device. Let us assume that
|
||||
a cd writer is connected to the second IDE controller in the slave
|
||||
position (i.e. <filename>/dev/hdd</filename>). One of the following
|
||||
two techniques may
|
||||
<footnote><para>
|
||||
Another less targeted approach is available when both the ide-cd
|
||||
and ide-scsi drivers are modules. That is to <command>rmmod ide-scsi;
|
||||
rmmod ide-cd; modprobe ide-scsi</command>.
|
||||
</para></footnote>
|
||||
be used:
|
||||
<itemizedlist>
|
||||
<listitem><para>at kernel boot time pass the option: "hdd=scsi"
|
||||
</para></listitem>
|
||||
<listitem><para>load the ide-cd module with
|
||||
<command>modprobe ide-cd ignore=hdd</command>. This can also be
|
||||
accomplished by placing this line: "options ide-cd ignore=hdd"
|
||||
in the <filename>/etc/modules.conf</filename> file
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
The first technique can only be done at boot time (and can be automated
|
||||
using lilo with an "append" in the <filename>/etc/lilo.conf</filename>
|
||||
file). It assumes that the main IDE subsystem driver is built in, which
|
||||
is almost always the case. The second technique assumes that the ide-cd
|
||||
driver is a module which is not normally the case (i.e. most distributions
|
||||
build it in). After one of these techniques has been applied, loading the
|
||||
ide-scsi driver should register the cd writer at <filename>/dev/hdd
|
||||
</filename> as <filename>/dev/sr<n></filename> where the "n" is
|
||||
the next available number.
|
||||
</para>
|
||||
<para>
|
||||
To find out if the above worked, the output of
|
||||
<command>cat /proc/scsi/scsi</command> can be checked. Perhaps a simpler
|
||||
method is to observe the "drive name:" line of
|
||||
<command>cat /proc/sys/dev/cdrom/info</command> for "sr" entries. The
|
||||
following output is from my system:
|
||||
<programlisting>
|
||||
$ cat /proc/sys/dev/cdrom/info
|
||||
CD-ROM information, Id: cdrom.c 3.12 2000/10/18
|
||||
|
||||
drive name: sr1 sr0
|
||||
drive speed: 16 0
|
||||
drive # of slots: 1 1
|
||||
Can close tray: 1 1
|
||||
Can open tray: 1 1
|
||||
Can lock tray: 1 1
|
||||
Can change speed: 1 1
|
||||
Can select disk: 0 0
|
||||
Can read multisession: 1 1
|
||||
Can read MCN: 1 1
|
||||
Reports media changed: 1 1
|
||||
Can play audio: 1 1
|
||||
Can write CD-R: 1 0
|
||||
Can write CD-RW: 1 0
|
||||
Can read DVD: 0 1
|
||||
Can write DVD-R: 0 0
|
||||
Can write DVD-RAM: 0 0
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Once an ATAPI cd writer at /dev/hdd has been registered by the SCSI
|
||||
subsystem, then cdroms should be mounted via the "sr" device name
|
||||
and cd players should also use the "sr" device. Strangely the
|
||||
<command>hdparm</command> command should still use the <filename>
|
||||
/dev/hdd</filename> device file.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="st">
|
||||
|
@ -1494,20 +1603,34 @@ posting to the linux-scsi newsgroup may help [see <link linkend="N1">N1
|
|||
</link>].
|
||||
</para>
|
||||
<para>
|
||||
For an overview of the drivers supplied with the kernel source tree,
|
||||
use one of the kernel configuration programs (e.g.
|
||||
<command>cd /usr/src/linux; make menuconfig</command>). The help
|
||||
information associated with each selection can be found together in one
|
||||
(large) flat file at
|
||||
<filename>/usr/src/linux/Documentation/Configure.help</filename>.
|
||||
Drivers can be obtained from other places. It is unlikely that a SCSI
|
||||
driver made for the lk 2.2 series (or before) will build or operate
|
||||
successfully in the lk 2.4 series. [From a programmatic viewpoint
|
||||
there are not a lot of things that need changing.] Drivers may even
|
||||
be only available in binary form, in which case make sure that you
|
||||
trust the provider and follow their instructions closely.
|
||||
</para>
|
||||
<para>
|
||||
Lower level drivers can support either of 2 error handling strategies.
|
||||
The older one is considered obsolete while the newer one is often called
|
||||
"new_eh". The advantage of "new_eh" is that it uses a separate kernel
|
||||
thread (named "scsi_eh_<n>" where <n> is the host number) to
|
||||
thread per host (named "scsi_eh_<n>" where <n> is the host number) to
|
||||
facilitate error recovery. Both error handling strategies were also
|
||||
available in the lk 2.2 series in which very few adapter drivers used
|
||||
"new_eh". In the lk 2.4 series, more
|
||||
drivers are using it and the plan in the forthcoming lk 2.5 development
|
||||
drivers are using it and the plan for the forthcoming lk 2.5 development
|
||||
series is to drop mid level support for the older, obsolete error strategy.
|
||||
</para>
|
||||
<para>
|
||||
Drew Eckhardt's SCSI-HOWTO document [see reference <link linkend="W7">W7
|
||||
</link>] goes into much more detail about lower level (adapter) drivers
|
||||
than this document. Since that SCSI-HOWTO is 4 years old, some things may
|
||||
than this document. Since that SCSI-HOWTO is 5 years old, many things
|
||||
have changed and more drivers have been added.
|
||||
</para>
|
||||
|
||||
|
@ -1519,7 +1642,7 @@ that command set. Those hardware buses can be further divided into those
|
|||
used exclusively for SCSI (e.g. ultra wide), those shared with other
|
||||
protocols (e.g. USB, IEEE 1394) and those buses not defined by the various
|
||||
SCSI standards. In the final category there are several interesting examples
|
||||
including IDE ATAPI CD writers and PC parallel bus ZIP drives. Such devices
|
||||
including ATAPI CD writers and PC parallel bus ZIP drives. Such devices
|
||||
use the SCSI command set (or something very close to it) over a foreign bus.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -1531,12 +1654,12 @@ maintainers.
|
|||
</para>
|
||||
<formalpara><title>IDE-SCSI</title>
|
||||
<para>
|
||||
From configuration point of view, ide-scsi will grab
|
||||
and try to control every IDE device which doesn't have a "native"
|
||||
From configuration point of view, ide-scsi will grab and try to control
|
||||
every ATA (a.k.a. IDE) device which doesn't have a "native"
|
||||
driver attached (such as ide-cd, ide-tape, etc). So for example, if
|
||||
both ide-cd and ide-scsi are compiled into the kernel in a system
|
||||
which has an ATAPI cdrom, ide-cd will get to control it. If only
|
||||
ide-scsi is compiled in, it will get the device. There are also some
|
||||
ide-scsi is compiled in, it will get the device. There are some
|
||||
command line parameters to control which driver gets which device.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
@ -1545,7 +1668,7 @@ It was "hdx=ide-scsi / hdx=ide-cdrom / hdx=ide-floppy" in 2.2.x
|
|||
kernels. In the 2.4 series this has been changed to "hdx=scsi".
|
||||
Also see <link linkend="sr">this</link> section on cdroms.
|
||||
[The term "hdx" is used
|
||||
to refer to one of the IDE devices in {hda, hdb, hdc ...}.]
|
||||
to refer to one of the IDE/ATA devices in {hda, hdb, hdc ...}.]
|
||||
</para>
|
||||
<para>
|
||||
When the driver is running, the device will be accessible using
|
||||
|
@ -1612,7 +1735,7 @@ that the host adapter and the peripheral are in the same actual case.
|
|||
|
||||
<formalpara><title>PPSCSI</title>
|
||||
<para>
|
||||
The new, not-yet-integrated, architecture for devices that uses SCSI
|
||||
The new, not-yet-integrated, architecture for devices that use SCSI
|
||||
over a parallel port cable is ppscsi. The ppscsi module provides the
|
||||
boiler plate code and makes it easy to write implementations for
|
||||
different interfaces.
|
||||
|
@ -1669,7 +1792,19 @@ See kernel source file <filename>/usr/src/linux/drivers/i2o/io2_scsi.c
|
|||
<para>
|
||||
Support for IEEE 1394 devices that use the SBP-2 protocol is now
|
||||
becoming available. See the IEEE 1394 paragraph in this
|
||||
<link linkend="scsibus">section</link> for some urls.
|
||||
<link linkend="ieee1394">section</link> for more information.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara><title>iSCSI</title>
|
||||
<para>
|
||||
An IETF draft is taking shape for iSCSI. This sends the SCSI command
|
||||
set over a TCP network connection. iSCSI seems to be gaining popularity
|
||||
quickly and there are several implementations for Linux taking shape.
|
||||
One implementation is at
|
||||
<ulink url="http://sourceforge.net/projects/intel-iscsi/">
|
||||
<literal>sourceforge.net/projects/intel-iscsi/</literal></ulink>.
|
||||
Use your favourite search engine to find other projects.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
|
@ -1694,7 +1829,7 @@ found at <filename>/dev/rawctl</filename>. A utility called <command>raw
|
|||
</command> (see <command>man raw</command>) can be used to bind a raw
|
||||
device to an existing block device. These "existing block devices" may be
|
||||
disks or cdroms/dvds whose underlying interface can be anything supported
|
||||
by Linux (e.g. IDE or SCSI).
|
||||
by Linux (e.g. IDE/ATA or SCSI).
|
||||
</para>
|
||||
<para>
|
||||
A sequence of commands listing the raw devices and then binding
|
||||
|
@ -1740,7 +1875,7 @@ Unix utilities such as recent versions of <command>dd</command> and
|
|||
<command>lmdd</command> (from the lmbench suite of programs) can be used
|
||||
to move data to and from "raw" devices as they meet the above-mentioned
|
||||
block alignment requirements. Recent versions of the <command>sg_dd</command>
|
||||
command in the sg_utils package can use raw and sg devices.
|
||||
command in the sg_utils package can access both raw and sg devices.
|
||||
</para>
|
||||
<warning>
|
||||
<para>
|
||||
|
@ -1843,7 +1978,7 @@ Secondary name slink to this primary device
|
|||
</para>
|
||||
<para>
|
||||
Those entries marked with "*" are directories containing the primary devices.
|
||||
Note that IDE devices are listed before SCSI devices. These secondary device
|
||||
Note that IDE/ATA devices are listed before SCSI devices. These secondary device
|
||||
names mimic the same persistence rules as the primary device names. So when
|
||||
a SCSI device (?), or its lower level driver or its upper level driver are
|
||||
removed then so are the primary and secondary device names associated with it.
|
||||
|
@ -1972,18 +2107,27 @@ LVD and SE physical buses on the same logical SCSI bus.
|
|||
</formalpara>
|
||||
<formalpara><title>ULTRA 160 SCSI</title>
|
||||
<para>
|
||||
The fastest parallel SCSI bus currently available is ULTRA 160 which is
|
||||
also known as ULTRA 3. It uses a 16 bit wide data path, LVD signalling
|
||||
(see previous entry) and double transition clocking that increases the
|
||||
maximum synchronous bandwidth to 160 MB/sec. Additional features
|
||||
include cyclic redundany codes (CRC) to improve data integrity (compared
|
||||
with a parity bit) and domain validation which lowers transfer rates
|
||||
if the error rate is too high. Various
|
||||
manufacturers have got together and maintain a common web site promoting it:
|
||||
<ulink url="http://www.ultra160-scsi.com">
|
||||
<literal>www.ultra160-scsi.com</literal></ulink>. Speeds of 320 MB/sec
|
||||
and 640 MB/sec using the same or similar LVD signalling over a 16 bit
|
||||
wide data path may soon be standardized.
|
||||
ULTRA 160 doubles parallel SCSI bus bandwidth yet again. It uses a 16 bit
|
||||
wide data path, LVD signalling (see previous entry) and double transition
|
||||
clocking that increases the maximum synchronous bandwidth to 160 MB/sec.
|
||||
Additional features include cyclic redundany codes (CRC) to improve data
|
||||
integrity (compared with a parity bit) and domain validation which adjusts
|
||||
transfer rates if the error rate is too high.
|
||||
</para>
|
||||
</formalpara>
|
||||
<formalpara><title>ULTRA 320 SCSI</title>
|
||||
<para>
|
||||
Shortly ULTRA 320 adapters will be available (disks with that interface
|
||||
are already on the market). This is also a 16 bit wide LVD bus that can
|
||||
fall back to slower speeds for compatibility with older devices. It extends
|
||||
the features of Ultra 160 by doubling the clock speed. Packetized SCSI
|
||||
which sends commands and status at full bus speed (rather than 5 MB/sec)
|
||||
is included. Other improvements include "quick arbitration and selection"
|
||||
and "read and write data streaming". Note that adapter cards using 64 bit
|
||||
PCI (or better: PCI-X) are required to stop the PCI bus being a bottleneck
|
||||
at these speeds. More information can be found at
|
||||
<ulink url="http://www.scsita.org"><literal>www.scsita.org</literal></ulink>.
|
||||
Evidentally ULTRA 640 is coming as well.
|
||||
</para>
|
||||
</formalpara>
|
||||
<formalpara><title>FC-AL</title>
|
||||
|
@ -2000,6 +2144,7 @@ cable) can also be used at lower speeds and for shorter distances.
|
|||
</formalpara>
|
||||
<formalpara><title>IEEE 1394</title>
|
||||
<para>
|
||||
<anchor id="ieee1394">
|
||||
This standard also goes by the name of "Fire Wire" [trademarked
|
||||
by Apple] and "iLink" [trademarked by Sony]. It is a serial bus that can run
|
||||
at up to 400 Megabits/sec. It has a similar but more general architecture than
|
||||
|
@ -2010,9 +2155,17 @@ lower level driver (so it is functionally similar to the ide-scsi driver).
|
|||
So IEEE 1394 devices that use the SBP-2 protocol (e.g. disks, cd-rw/dvd
|
||||
drives, MO drives and scanners) can be accessed via the SCSI subsystem.
|
||||
See <ulink url="http://Linux1394.sourceforge.net">
|
||||
<literal>Linux1394.sourceforge.net</literal></ulink>
|
||||
and <ulink url="http://firewire.zawa.com/sbp2/">
|
||||
<literal>firewire.zawa.com/sbp2/</literal></ulink> for more information.
|
||||
<literal>Linux1394.sourceforge.net</literal></ulink> for more information.
|
||||
The sbp2 driver is in that project's CVS and hopefully will appear in
|
||||
the released kernel shortly.
|
||||
</para>
|
||||
</formalpara>
|
||||
<formalpara><title>iSCSI</title>
|
||||
<para>
|
||||
This is an emerging IETF standard for sending the SCSI command set over a
|
||||
TCP connection (or several of them). This will permit SCSI devices (targets
|
||||
such as disks) to be network appliances, accessed locally (or potentially
|
||||
at a great distance) by a host machine.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
|
@ -2025,15 +2178,16 @@ SCSI products.
|
|||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara><title>IDE (ATAPI)</title>
|
||||
<formalpara><title>IDE/ATA (ATAPI)</title>
|
||||
<para>
|
||||
IDE is the most used disk type on PC systems today. The acronym stands for
|
||||
Integrated Drive Electronics and as the name suggests it places the bulk
|
||||
of the IO "intelligence" on the disk controller card rather than spreading
|
||||
it between the device (most often a disk) and a controller (HBA) as SCSI
|
||||
does. IDE grew out of the ST506 and ESDI standards in the 1980s. EIDE
|
||||
(extended IDE) is a related acronym. The standards that cover IDE are
|
||||
called ATA and can be found at <ulink url="http://www.t13.org">
|
||||
(extended IDE) is a related acronym. The modern standards that refer to
|
||||
this bus architecture are known as ATA and can be found at
|
||||
<ulink url="http://www.t13.org">
|
||||
<literal>www.t13.org</literal></ulink>. The ATA Packet Interface (ATAPI)
|
||||
extends the disk oriented command set to support CDROM and tape drives.
|
||||
The ATAPI command set closely resembles the SCSI command set. The
|
||||
|
@ -2153,8 +2307,8 @@ HDIO_GETGEO_BIG {ioctl, new}
|
|||
<title>sr changes</title>
|
||||
<para>
|
||||
No sr changes reported. As a related matter, the way in which the
|
||||
IDE subsystem is informed that an IDE device (e.g. a cd writer) is
|
||||
to be ignored has changed. [Instructing an IDE device to be ignored
|
||||
IDE subsystem is informed that an ATA device (e.g. a cd writer) is
|
||||
to be ignored has changed. [Instructing an ATA device to be ignored
|
||||
by the IDE subsystem makes it a candidate to be recognized by the
|
||||
ide-scsi pseudo driver.] Previously a kernel boot time option such as
|
||||
"hdb=ide-scsi" would instruct the IDE subsystem to ignore the
|
||||
|
@ -2755,7 +2909,7 @@ SG_DEF_FORCE_LOW_DMA {0}
|
|||
SG_DEF_FORCE_PACK_ID {0}
|
||||
SG_DEF_KEP_ORPHAN {0}
|
||||
SG_MAX_QUEUE {16}
|
||||
SG_DEFAULT_RETRIES {1}
|
||||
SG_DEFAULT_RETRIES {1} # i.e. don't retry
|
||||
SG_BIG_BUFF {SG_DEF_RESERVED_SIZE}
|
||||
SG_DEFAULT_TIMEOUT {60 seconds}
|
||||
SG_DEF_COMMAND_Q {0 *}
|
||||
|
|
|
@ -15,22 +15,6 @@ Single
|
|||
4 0 0 50 0 12 14 0.0000 4 150 810 1650 3675 driver\001
|
||||
4 0 0 50 0 12 14 0.0000 4 180 1350 1425 3900 {ide-cd.o}\001
|
||||
-6
|
||||
6 1200 975 6825 2250
|
||||
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||
1200 975 6800 975 6800 2250 1200 2250 1200 975
|
||||
4 0 0 50 0 12 14 0.0000 4 195 2700 2625 1275 Uniform CD-ROM layer\001
|
||||
4 0 0 50 0 12 14 0.0000 4 180 2430 2775 1650 [DVD, audio, etc.]\001
|
||||
-6
|
||||
6 1200 4350 2850 5400
|
||||
6 1200 4350 2850 5400
|
||||
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||
1200 4350 2850 4350 2850 5400 1200 5400 1200 4350
|
||||
-6
|
||||
4 0 0 50 0 12 14 0.0000 4 135 405 1725 4575 IDE\001
|
||||
4 0 0 50 0 12 14 0.0000 4 180 1350 1425 5325 {ide-cd.o}\001
|
||||
4 0 0 50 0 12 14 0.0000 4 195 1215 1425 4800 subsystem\001
|
||||
4 0 0 50 0 12 14 0.0000 4 150 810 1575 5025 driver\001
|
||||
-6
|
||||
6 3150 2850 4800 3975
|
||||
6 3150 2850 4800 3975
|
||||
6 3150 2850 4800 3975
|
||||
|
@ -63,9 +47,20 @@ Single
|
|||
4 0 0 50 0 12 14 0.0000 4 135 1620 3225 5025 +lower level\001
|
||||
4 0 0 50 0 12 12 0.0000 4 180 1575 3150 5250 {scsi_mod.o ++}\001
|
||||
-6
|
||||
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||
1200 975 6800 975 6800 2250 1200 2250 1200 975
|
||||
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||
1200 4350 2850 4350 2850 5400 1200 5400 1200 4350
|
||||
4 0 0 50 0 12 14 0.0000 4 180 675 300 1350 Upper\001
|
||||
4 0 0 50 0 12 14 0.0000 4 135 675 300 1650 level\001
|
||||
4 0 0 50 0 12 14 0.0000 4 150 405 375 3300 Mid\001
|
||||
4 0 0 50 0 12 14 0.0000 4 135 675 375 3600 level\001
|
||||
4 0 0 50 0 12 14 0.0000 4 135 675 375 4800 Lower\001
|
||||
4 0 0 50 0 12 14 0.0000 4 135 675 375 5100 level\001
|
||||
4 0 0 50 0 12 14 0.0000 4 135 405 1725 4575 IDE\001
|
||||
4 0 0 50 0 12 14 0.0000 4 195 1215 1425 4800 subsystem\001
|
||||
4 0 0 50 0 12 14 0.0000 4 150 810 1575 5025 driver\001
|
||||
4 0 0 50 0 12 14 0.0000 4 180 945 1425 5325 {ide.o}\001
|
||||
4 0 0 50 0 12 14 0.0000 4 195 2700 2625 1275 Uniform CD-ROM layer\001
|
||||
4 0 0 50 0 12 14 0.0000 4 180 2430 2775 1650 [DVD, audio, etc.]\001
|
||||
4 0 0 50 0 12 16 0.0000 4 195 1350 3300 1950 {cdrom.o}\001
|
||||
|
|
Loading…
Reference in New Issue