Next Previous Contents
Этот раздел содержит описание
аргументов загрузки, используемых
для передачи информации об
установленных хост-адаптерах SCSI и
об SCSI устройствах.
Драйверы уровня mid управляют
такими вещами, как диски, CD-ROM'ы и
ленты без учета специфики
хост-адаптера.
Максимальные пробуемые LUN'ы
(`max_scsi_luns=')
Каждое SCSI устройство может иметь
несколько `под-устройств' внутри
себя. Обычный пример -- любой из SCSI
CD-ROM-ов, обслуживающий более чем
один диск за раз. Каждый CD
адресуется `номером логического
устройства' (LUN - Logical Unit Number) этого
конкретного устройства. Но
большинство устройств, таких как
жесткие диски, лентопротяжки и т.п.
являются одним устройством, им будт
назначен нулевой LUN.
Проблема возникает с одно-LUN-выми
устройствами с плохой `прошивкой'
(firmware). Некоторые плохо
разработанные SCSI устройства
(старые и, к несчастью, новые) не
могут обработать запросы поиска с
LUN, не равным нулю. Они отвечают
блокировкой и, возможно, подвешивая
собой целую SCSI шину.
У ядра есть конфигурационная
опция, которая позволяет вам
установить максимальные пробуемые
LUN'ы. По-умолчанию пробуется только
нулевой LUN, чтобы избежать
описанной выше проблемы.
Чтобы указать количество
пробуемых LUN'ов при загрузке, в
качестве аргумента загрузки
вводится `max_scsi_luns=n', где n -- номер
между 1 и 8. Избегая вышеописанную
проблему, можно указывать n=1, чтобы
не перустанавливать такие
сломанные устройства.
Регистрация SCSI (`scsi_logging=')
Ненулевое значение этого
загрузочного аргумента включает
лог всех SCSI событий (ошибка,
сканирование, mlqueue, mlcomplete, llqueue,
llcomplete, hlqueue, hlcomplete). Помните, что
лучше управление регистрируемыми
событиями через интерфейс /proc/scsi/scsi
,
если только вас не интересуют
события, созникающие при загрузке,
до того как будет доступна файловая
система /proc/
.
Параметры для лентопротяжки SCSI
(`st=')
Можно несколько изменить
конфигурацию SCSI лентопротяжки при
загрузке, используя:
st=buf_size[,write_threshold[,max_bufs]]
Первы два числа указываются в
кБайтах. По-умолчанию buf_size
равен 32кБ, а максимально возможный
размер смешон -- 16384 кБ. write_threshold
-- значение, при котором буфер
сбрасывается на ленту, по-умолчанию
30 кБ. Максимальное количество
буферов варьируется с количество
обнаруженных протяжек,
по-умолчанию -- два. В качестве
примера может быть следующее:
st=32,30,2
Подробнее можно прочитать в файле
README.st
в каталоге scsi
дерева исходников ядра.
Общее примечание для этого
раздела:
iobase
-- первый порт I/O,
занимаемый хостом SCSI. Указываются в
шестнадцатиричной нотации, и
обычно лежат в диапазоне от 0x200
до 0x3ff
.
irq
-- аппаратное прерывание,
установленное на карте. Допустимые
значения зависят от конкретной
карты, но обычно это 5, 7, 9, 10, 11, 12 и 15.
Другие значения, как правило,
используются для обычной периферии
типа жестких дисков IDE, флоппиков,
последовательных портов и т.п.
dma
-- the DMA (Direct Memory Access) channel
that the card uses. Typically only applies to bus-mastering
cards. PCI and VLB cards are native bus-masters, and do not
require and ISA DMA channel.
dma
-- используемый картой
канал DMA. Обычно применяется только
для карт с управлением шиной (bus-mastering).
Карты PCI и VLB управляют шиной
изначально и не требуют канал ISA DMA.
scsi-id
-- идентификатор,
используемый хост-адаптером для
идентификации себя на SCSI шине.
Только некоторые хост-адаптеры
позволят вам изменить это значение,
поскольку у большинства оно
постоянно `прошито' внутри.
Типичное значение по-умолчанию --
семь, но платы Seagate и Future Domain TMC-950
используют шесть.
parity
-- ожидает ли SCSI
хост-адаптер поддержку всеми
подсоединенными устройствами
значение четности при всех
информационных обменах. Единица
разрешает проверку четности, ноль --
запрещает. Опять же, не все адаптеры
поддерживают изменение проверки
четности в качестве загрузочного
аргумента.
Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI
(`aha152x=')
Числа aha относятся к картам, а
числа aic -- к фактическому чипу SCSI на
картах этого типа, включая Soundblaster-16
SCSI.
Пробующий код для этих SCSI хостов
ищет установленный BIOS, и если его
нет, код не сможет обнаружить вашу
карту. Тогда вам придется
использовать аргумент загрузки в
следующей форме:
aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
Помните, что если драйвер был
скомпилирован с разрешенной
отладкой, можно указать шестое
значение, указывающее уровень
отладки.
Все параметры, описаные в начале
этого раздела, и значение reconnect
позволят устройству
расконнектиться/переконнектиться,
если использовано ненулевое
значение. Пример использование
ниже:
aha152x=0x340,11,7,1
Помните, что параметры должны
быть указаны по порядку, т.е. если вы
хотите указать установку четности,
то вы должны также указать значения
iobase, irq, scsi-id и reconnect.
Adaptec aha154x (`aha1542=')
Это карты серии aha154x. Карты серии
aha1542 на плате имеют контроллер
флоппика i82077, а у карт серии aha1540 его
нет. Это карты с управлением шиной (busmastering)
и имеют параметры, устанавливающие
`справедливость', что позволяет
обычно разделить шину с другими
устройствами. Аргументы загрузки
выглядят следующим образом:
aha1542=iobase[,buson,busoff[,dmaspeed]]
Допустимые значения iobase
-- 0x130,
0x134, 0x230, 0x234, 0x330, 0x334
. Клоны карты
могут допускать другие значения.
The buson, busoff
values refer to the number of
microseconds that the card dominates the ISA bus. The defaults
are 11us on, and 4us off, so that other cards (such as an ISA
LANCE Ethernet card) have a chance to get access to the ISA bus.
Значения buson, busoff
The dmaspeed
value refers to the rate (in MB/s)
at which the DMA (Direct Memory Access) transfers proceed at. The
default is 5MB/s. Newer revision cards allow you to select this
value as part of the soft-configuration, older cards use jumpers.
You can use values up to 10MB/s assuming that your motherboard is
capable of handling it. Experiment with caution if using values
over 5MB/s.
Adaptec aha274x, aha284x, aic7xxx (`aic7xxx=')
These boards can accept an argument of the form:
aic7xxx=extended,no_reset
The extended
value, if non-zero, indicates that
extended translation for large disks is enabled. The no_reset
value, if non-zero, tells the driver not to reset the SCSI bus
when setting up the host adaptor at boot.
AdvanSys SCSI Host Adaptors (`advansys=')
The AdvanSys driver can accept up to four i/o addresses that
will be probed for an AdvanSys SCSI card. Note that these values
(if used) do not effect EISA or PCI probing in any way. They are
only used for probing ISA and VLB cards. In addition, if the
driver has been compiled with debugging enabled, the level of
debugging output can be set by adding an 0xdeb[0-f]
parameter. The 0-f
allows setting the level of the
debugging messages to any of 16 levels of verbosity.
Always IN2000 Host Adaptor (`in2000=')
Unlike other SCSI host boot arguments, the IN2000 driver uses
ASCII string prefixes for most of its integer arguments. Here is
a list of the supported arguments:
ioport:addr -- Where addr is IO address of a (usually
ROM-less) card.
noreset -- No optional args. Prevents SCSI bus reset at boot
time.
nosync:x -- x is a bitmask where the 1st 7 bits correspond
with the 7 possible SCSI devices (bit 0 for device #0, etc). Set
a bit to PREVENT sync negotiation on that device. The driver
default is sync DISABLED on all devices.
period:ns -- ns is the minimum # of nanoseconds in a SCSI data
transfer period. Default is 500; acceptable values are 250 to
1000.
disconnect:x -- x = 0 to never allow disconnects, 2 to always
allow them. x = 1 does 'adaptive' disconnects, which is the
default and generally the best choice.
debug:x If `DEBUGGING_ON' is defined, x is a bitmask that
causes various types of debug output to printed - see the DB_xxx
defines in in2000.h
proc:x -- If `PROC_INTERFACE' is defined, x is a bitmask that
determines how the /proc interface works and what it does - see
the PR_xxx defines in in2000.h
Some example usages are listed below:
in2000=ioport:0x220,noreset
in2000=period:250,disconnect:2,nosync:0x03
in2000=debug:0x1e
in2000=proc:3
AMD AM53C974 based hardware (`AM53C974=')
Unlike other drivers, this one does not use boot parameters to
communicate i/o, IRQ or DMA channels. (Since the AM53C974 is a
PCI device, there shouldn't be a need to do so.) Instead, the
parameters are used to communicate the transfer modes and rates
that are to be used between the host and the target device. This
is best described with an example:
AM53C974=7,2,8,15
This would be interpreted as follows: `For communication
between the controller with SCSI-ID 7 and the device with SCSI-ID
2, a transfer rate of 8MHz in synchronous mode with max. 15 bytes
offset should be negotiated.' More details can be found in the
file linux/drivers/scsi/README.AM53C974
BusLogic SCSI Hosts with v1.2 kernels (`buslogic=')
In older kernels, the buslogic driver accepts only one
parameter, that being the I/O base. It expects that to be one of
the following valid values: 0x130, 0x134, 0x230, 0x234,
0x330, 0x334
.
BusLogic SCSI Hosts with v2.x kernels (`BusLogic=')
With v2.x kernels, the BusLogic driver accepts many
parameters. (Note the case in the above; upper case B and L!!!).
There are simply too many to list here. A complete description is
tucked away in the middle of the driver linux/drivers/scsi/BusLogic.c
and searching for the string BusLogic=
will put you
right on it.
EATA SCSI Cards (`eata=')
As of late v2.0 kernels, the EATA drivers will accept a boot
argument to specify the i/o base(s) to be probed. It is of the
form:
eata=iobase1[,iobase2][,iobase3]...[,iobaseN]
The driver will probe the addresses in the order that they are
listed.
Future Domain TMC-8xx, TMC-950 (`tmc8xx=')
The probe code for these SCSI hosts looks for an installed
BIOS, and if none is present, the probe will not find your card.
Or, if the signature string of your BIOS is not recognized then
it will also not be found. In either case, you will then have to
use a boot argument of the form:
tmc8xx=mem_base,irq
The mem_base
value is the value of the memory
mapped I/O region that the card uses. This will usually be one of
the following values: 0xc8000, 0xca000, 0xcc000, 0xce000,
0xdc000, 0xde000
.
Future Domain TMC-16xx, TMC-3260, AHA-2920 (`fdomain=')
The driver detects these cards according to a list of known
BIOS ROM signatures. For a full list of known BIOS revisions,
please see linux/drivers/scsi/fdomain.c
as it has a
lot of information at the top of that file. If your BIOS is not
known to the driver, you can use an override of the form:
fdomain=iobase,irq[,scsi_id]
IOMEGA Parallel Port / ZIP drive (`ppa=')
This driver is for the IOMEGA Parallel Port SCSI adapter which
is embedded into the IOMEGA ZIP drives. It may also work with the
original IOMEGA PPA3 device. The boot argument for this driver is
of the form:
ppa=iobase,speed_high,speed_low,nybble
with all but iobase being optionally specified values. If you
wish to alter any of the three optional parameters, you are
advised to read linux/drivers/scsi/README.ppa
for
details of what they control.
NCR5380 based controllers (`ncr5380=')
Depending on your board, the 5380 can be either i/o mapped or
memory mapped. (An address below 0x400 usually implies i/o
mapping, but PCI and EISA hardware use i/o addresses above
0x3ff.) In either case, you specify the address, the IRQ value
and the DMA channel value. An example for an i/o mapped card
would be: ncr5380=0x350,5,3
. If the card doesn't use
interrupts, then an IRQ value of 255 (0xff
) will
disable interrupts. An IRQ value of 254 means to autoprobe. More
details can be found in the file linux/drivers/scsi/README.g_NCR5380
NCR53c400 based controllers (`ncr53c400=')
The generic 53c400 support is done with the same driver as the
generic 5380 support mentioned above. The boot argument is
identical to the above with the exception that no DMA channel is
used by the 53c400.
NCR53c406a based controllers (`ncr53c406a=')
This driver uses a boot argument of the form:
ncr53c406a=PORTBASE,IRQ,FASTPIO
where the IRQ and FASTPIO parameters are optional. An
interrupt value of zero disables the use of interrupts. Using a
value of one for the FASTPIO parameter enables the use of insl
and outsl
instructions instead of the single-byte inb
and outb
instructions. The driver can also use DMA
as a compile-time option.
Pro Audio Spectrum (`pas16=')
The PAS16 uses a NCR5380 SCSI chip, and newer models support
jumper-less configuration. The boot argument is of the form:
pas16=iobase,irq
The only difference is that you can specify an IRQ value of
255, which will tell the driver to work without using interrupts,
albeit at a performance loss. The iobase
is usually 0x388
.
Seagate ST-0x (`st0x=')
The probe code for these SCSI hosts looks for an installed
BIOS, and if none is present, the probe will not find your card.
Or, if the signature string of your BIOS is not recognized then
it will also not be found. In either case, you will then have to
use a boot argument of the form:
st0x=mem_base,irq
The mem_base
value is the value of the memory
mapped I/O region that the card uses. This will usually be one of
the following values: 0xc8000, 0xca000, 0xcc000, 0xce000,
0xdc000, 0xde000
.
Trantor T128 (`t128=')
These cards are also based on the NCR5380 chip, and accept the
following options:
t128=mem_base,irq
The valid values for mem_base
are as follows: 0xcc000,
0xc8000, 0xdc000, 0xd8000
.
Ultrastor SCSI cards (`u14-34f=')
Note that there appears to be two independent drivers for this
card, namely CONFIG_SCSI_U14_34F
that uses u14-34f.c
and CONFIG_SCSI_ULTRASTOR
that uses ultrastor.c
.
It is the u14-34f one that (as of late v2.0 kernels) accepts a
boot argument of the form:
u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN]
The driver will probe the addresses in the order that they are
listed.
Western Digital WD7000 cards (`wd7000=')
The driver probe for the wd7000 looks for a known BIOS ROM
string and knows about a few standard configuration settings. If
it doesn't come up with the correct values for your card, or you
have an unrecognized BIOS version, you can use a boot argument of
the form:
wd7000=irq,dma,iobase
At present, the following SCSI cards do not make use of any
boot-time parameters. In some cases, you can hard-wire
values by directly editing the driver itself, if required.
Adaptec aha1740 (EISA probing),
NCR53c7xx,8xx (PCI, both drivers)
Qlogic Fast (0x230, 0x330)
Qlogic ISP (PCI)
Next Previous Contents