Алексей Стахнов - Linux
К сожалению, большей неразберихи, чем в настройках SCSI-контроллеров и устройств, наверное, не существует. До недавнего времени любая попытка улучшить поддержку SCSI-устройств в Linux оборачивалась тем, что какие-то новые контроллеры работали, а старые (казалось, уже давно отлаженные) теряли свою работоспособность.
В качестве примера ниже приведена конфигурация некоторых семейств контроллеров. Подробную информацию следует искать в документации на конкретные контроллеры.
Adaptec aha154x (aha1542=) Карты серии ahal54x с управлением шиной. Аргументы загрузки выглядят следующим образом:aha1542=iobase[,buson,busoff[,dmaspeed]]
Допустимые значения iobase: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334. Клоны карты могут допускать другие значения.
Значения buson, busoff указывают количество микросекунд, на которое карта может захватить ISA-шину.
Параметр dmaspeed указывает скорость в мегабайтах в секунду, с которой происходит DMA-доступ. По умолчанию – 5 Мбайт/с.
Adaptec aha274x, aha284x, aic7xxx (aic7xxx=) Эти контроллеры принимают следующие аргументы:aiс7xxx=extended,no_reset
Здесь:
• extended – значение, используемое с винчестерами большой емкости;
• no_reset – значение, запрещающее сброс SCSI-шины во время загрузки.
Если SCSI-контроллер не желает нормально функционировать, следует обратится к SCSI-HOWTO или к документации ядра. Возможно, там присутствует данный SCSI-контроллер и описано решение этой проблемы.
Жесткие диски
В этом разделе приводится список аргументов загрузки для стандартных жестких дисков (винчестеров) MFM/RLL, ST-506, XT и устройств IDE.
Параметры драйвера IDE – винчестера/CD-ROM
Драйвер IDE допускает множество параметров, от определения геометрии диска до поддержки расширенных или дефектных микросхем контроллера. Подробная информация по конфигурации драйвера содержится в файле /usr/src/Linux-2.4.3/Documentation/ide.txt.
• hdx= – распознается от а до h, например HDD;
• idex= – распознается от 0 до 3, например IDE1;
• hdx=noprobe – привод может присутствовать, но он не тестируется;
• hdx=none – жесткий диск отсутствует, CMOS игнорируется и тестирование не производится;
• hdx=nowerr – игнорируется бит wrerr_stat на этом приводе;
• hdx=cdrom – привод присутствует и является приводом CD-ROM;
• hdx=cyi, head, sect – принудительное указание геометрии жесткого диска;
• hdx=autotune – привод попытается настроить скорость интерфейса на самый быстрый поддерживаемый режим PIO, который только возможен для этого привода. На старых материнских платах не гарантируется полная поддержка такого режима;
• idex=noprobe – не тестировать данный интерфейс;
• idex=base – задать адрес указанному интерфейсу, где base обычно 0x1f0 или 0x170, a cti подразумевается base+0x206;
• idex=base, cti – указывает как base, так и cti;
• idex=base, cti, irq – указывает base, cti и номер IRQ;
• idex=autotune – будет произведена попытка настроить скорость интерфейса на самый быстрый поддерживаемый режим PIO для всех приводов на этом интерфейсе. На старых материнских платах не гарантируется полная поддержка такого режима;
• idex=noautotune – привод не будет пытаться настроить скорость интерфейса;
• idex=serialize – не выполнять операции overlap на idex.
Нижеследующее допустимо только на IDE0, и умолчания для base– и ctl-портов не должны меняться. Используется для старых чипсетов времен процессоров i386 и i486:
• ide0=dtc2278 – поддерживать контроллер DTC2278;
• ide0=ht6560b – поддерживать контроллер НТ6560В;
• ide0=cmd640_vib – необходим для карт VLB с чипом CMD640;
• ide0=qd6580 – поддерживать контроллер qd6580;
• ide0=ali14xx – поддерживать чипсеты ALI14xx (ALI М1439/М1445);
• ide0=umc8672 – поддерживать чипсет UMC8672.
Опции драйвера диска стандарта ST-506 ( hd)
Устаревший стандарт. Сегодня вряд ли можно где-нибудь столкнуться с жестким диском этого стандарта. Допустим только аргумент hd=.
Формат: hd=cyls, heads, sects
Если установлено два диска, точно так же задается второй диск.
Опции драйвера диска XT ( xd)
Устаревший стандарт. Аргумент загрузки для жесткого диска:xd=type,irq,iobase,dma_chan
Значение type указывает конкретного производителя карты и обозначается: 0=generic; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI. Единственное отличие между разными типами от одного и того же производителя – строка BIOS, используемая для обнаружения, которая не активизируется, если указан тип.
CD-ROM (не-SCSI/ATAPI/IDE)
Первоначально, когда только появились приводы CD-ROM, для этих приводов не было единого интерфейса. Последние 4–5 лет выпускаются приводы CD-ROM только с SCSI или IDE-интерфейсом. Однако иногда приходится встречаться с CD-ROM с интерфейсом Sony и Mitsumi. Ниже приведены параметры для различных контроллеров приводов CD-ROM.
Более подробная информация содержится в каталоге /usr/src/Linux-2.4.3/ Documentation/cdrom.
Интерфейс Aztech (aztcd)
Синтаксис для этого типа интерфейса:aztcd=iobase[,magic_number]
Если установить magic_number равным 0x79, драйвер опробует устройство и в случае неизвестной ему версии оборудования (firmware) отключится. Все другие значения игнорируются.
Интерфейс Sony CDU-31A и CDU-33A (cdu31a)
Синтаксис:cdu31a=iobase,[irq[,is_pas_card]]
Указав значение IRQ, равное нулю, сообщаем драйверу, что аппаратные прерывания не поддерживаются. Если имеющаяся карта поддерживает прерывания, следует использовать их для уменьшения загрузки центрального процессора.
Интерфейс Sony CDU-535 ( sonycd535)
Синтаксис для этого интерфейса:sonycd535=iobase[, irq]
Если необходимо прописать значение IRQ, то в качестве адреса ввода/вывода следует указать 0.
Интерфейс GoldStar (gscd)
Синтаксис для интерфейса CD-ROM:gscd=iobase
Интерфейс ISP16 ( isp16)
Синтаксис для этого интерфейса:isp16= [port [, irq[, dma]]] [[,] drive_type]
Использование нуля для IRQ или DMA означает, что они не используются. Допустимые значения ДЛЯ drive_type – noispl6, Sanyo, Panasonic, Sony и Mitsumi. Применение noispie полностью запрещает драйвер.
Интерфейс Mitsumi Standard (mcd)
Синтаксис для этого интерфейса CD-ROM:mcd=iobase, [irq[,wait_value]]
wait_vaiue используется как значение внутреннего тайм-аута.
Интерфейс Optics Storage (optcd)
Синтаксис для этого типа карт:optcd=iobase
Интерфейс Phillips CM206 (cm206)
Синтаксис для этого типа карт:cm206=[iobase][,irq]
Драйвер предполагает значения IRQ между 3 и 11, а значения портов ввода/вывода– между 0x300 и 0x370. Также допускается cm206=auto для разрешения автоматического определения параметров.
Интерфейс Sanyo (sjcd)
Синтаксис для этого типа карт:sjcd=iobase[,irq[,dma_channel]]
Интерфейс SoundBlaster Pro (sbpcd)
Синтаксис для этого типа карт:sbpcd=iobase,type
где type – один из следующих (чувствителен к регистру) значений: SoundBlaster, LaserMate, или SPEA. iobase – адрес интерфейса CD-ROM, а не звуковой части карты.
Последовательные и ISDN-драйверы
В разделе приведены параметры для некоторых ISDN-карт и так называемых мультипортовых последовательных контроллеров. Как обычно, первоначально единых стандартов не существовало, и из-за этого приходится иногда использовать параметры, передаваемые при загрузке ядра.
Драйвер PCBIT ISDN (pcbit)
Параметры:pcbit=membase1,irq1[,membase2,irq2]
где membaseN – база разделяемой памяти для::-ой карты, a irqN – установленное прерывание для n-ой карты. По умолчанию IRQ 5 и membase 0xD0000.
Драйвер Teles ISDN (teles)
ISDN-драйвер требует аргументы загрузки в следующем виде:teles=iobase,irq,membase,protocol,teles_id
где iobase – адрес порта ввода/вывода карты, membase – базовый адрес разделяемой памяти карты, irq – прерывание, используемое картой, teies_id – уникальная строка идентификатора.
Драйвер DigiBoard (digi)
Драйвер мультипортового последовательного контроллера DigiBoard принимает строку из шести идентификаторов или целых чисел, разделенных запятыми. Значения по порядку:
• Enable/Disable – разрешить/запретить использование контроллера;
• тип карты – PC/Xi(0), РС/Хе(1), PC/Xeve(2), PC/Xem(3);
• Enable/Disable – разрешить/запретить альтернативное расположение контактов;
• количество портов на этой карте;
• порт ввода/вывода, на который сконфигурирована карта;
• база окна памяти. Пример аргумента загрузки:digi=E,PC/Xi,D,16,200,D0000
Более подробную информацию можно прочитать в файле /usr/src/Linux-2.4.3/Documentation/digiboard.txt.
Последовательный/параллельный радиомодем Baycom ( baycom)
Формат аргумента загрузки для этого устройства:baycom=modem,io,irq,options[,modem,io,irq,options]
Использование modem=i означает, что у вас устройство seri2; modem=2 – устройство рагЭб. Значение options=0 предписывает использование аппаратного DCD, a opton=l – программного DCD. Параметры io и irq – базовый порт ввода/вывода и прерывание.
Драйверы других устройств
В разделе приведены параметры загрузки других устройств, не вошедших ни в одну из упомянутых выше категорий.
Устройства Ethernet (ether)
Драйверы для различных видов сетевых контроллеров поддерживают разные параметры, но они все используют значения прерывания, базовый адрес порта ввода/вывода и имя. В наиболее универсальной форме это выглядит так:ether=irq, iobase [, param_1 [, param_2,…]]], name
Первый нецифровой аргумент воспринимается как имя. Обычно значения param_n имеют различные назначения для разных сетевых контроллеров. Чаще всего этот параметр используют для второй сетевой карты, поскольку по умолчанию автоматически определяется только одна сетевая карта. Это можно сделать, указав: