Ядро ОС Linux

       

Команды SCSI.


Каждая команда SCSI имеет длину 6,10 или 12 байт. нижеперечисленные команды должны быть качественно изучены будущими разработчиками драйверов SCSI:

REQUEST SENSE

Когда команда возвращает статус CHECK KONDITION, предусмотренная в Linux подпрограмма высокого уровня автоматически запрашивает более подробную информацию об ошибке, подавая команду REQUEST SENSE. Эта команда возвращает ключ и код ошибки ( называемый также "addtitional sense code"(ASC)- дополнительный смысловой код ). 16 возможных ключей описаны в таблице 1.3. Для получения информации о ASC, а также об ASCQ ("additional sense code qualiter"- дополнительный спецификатор смыслового значения кода), возвращаемом некоторыми драйверами, обращайтесь к стандарту SCSI[ANS] или к техническому руководству SCSI.

Ключ Описание 0x00 NO SENSE (НЕТ ОТВЕТА) 0x01 RECOVERED ERROR (ВСКРЫТАЯ ОШИБКА) 0x02 NOT READY (НЕ ГОТОВ) 0x03 MEDIUM ERROR (СРЕДНЯЯ ОШИБКА) 0x04 HARDWARE ERROR (ОШИБКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ) 0x05 ILLEGAL REQUEST (НЕПРАВИЛЬНЫЙ ЗАПРОС) 0x06 UNIT ATTENTION (ПРЕДУПРЕЖДЕНИЕ) 0x07 DATA PROTECT (ЗАЩИЩЕННАЯ ИНФОРМАЦИЯ) 0x08 BLANK CHECK (ПРОВЕРКА НА ОТСУТСТВИЕ ИНФОРМАЦИИ) 0x09 (Vendor specific error) (Ошибка инициатора) 0x0a COPY ABORTED (ПРЕКРАЩЕННОЕ КОПИРОВАНИЕ) 0x0b ABORTED COMMAND (ПРЕКРАЩЕННАЯ КОМАНДА) 0x0c EQUAL (ЭКВИВАЛЕНТНОСТЬ) 0x0d VOLUME OVERFLOV (ПЕРЕПОЛНЕНИЕ) 0x0e MISCOMPARE (НЕСООТВЕТСТВИЕ) 0x0f RESERVED (ЗАРЕЗЕРВИРОВАНО) Таблица 3.1. Значения смысловых ключей.

TEST UNIT READY

Эта команда для тестирования статуса цели. Если цель может воспринимать команды среднего доступа (READ, WRITE),команда возвращает статус GOOD, в ином случае возвращается статус CHECK CONDITION и смысловой ключ NOT READY. Последнее обычно говорит о происходящем в настоящий момент самотестировании цели.

INQUIRY

Эта команда возвращает модель, производителя и тип устройства цели. Высокоуровневый Linux использует эту команду для определения разницы между оптическими, магнитными дисками и стримерами (высокоуровневый Linux не управляет принтерами, процессорами, или автоматическими устройствами).

READ и WRITE

Эти команды передачи информации от и к цели. До использования READ и WRITE вы должны убедиться в том, что ваш драйвер обладает возможностью поддержки простейших команд, таких, как TEST UNIT READY и INQUIRY.



Содержание раздела