Относительно команды SCSI READ

Я пытаюсь получить максимальный LBA диска с помощью команды чтения емкости SCSI.

Я создал 10-байтовую CDB следующим образом.

ccb->cam_flags = NO_DATA;  

ccb->cdb[0] = READ_CAPACITY;     /*  0x25 SCSI Opcode for Read Capacity Command */       ccb->cdb[1] = 0x01;

ccb->cdb[2] = 0;

ccb->cdb[3] = 0;

ccb->cdb[4] = 0;

ccb->cdb[5] = 0;

ccb->cdb[6] = 0;

ccb->cdb[7] = 0;

ccb->cdb[8] = 0x01;

ccb->cdb[9] = 0;

Команда SCSI выполнена успешно. К сожалению, я не получаю ожидаемого LBA и отображает его как ноль.

Мой основной вопрос заключается в том, верна ли команда SCSI CDB, созданная выше, или нет?


person arun    schedule 29.08.2013    source источник
comment
Вероятно, вам следует добавить информацию о языке/среде/вызове и теги.   -  person Alex K.    schedule 29.08.2013
comment
Установите соответствующий флаг CAM как DATA_IN 0x40000000. Тем не менее я не получаю максимальный LBA диска   -  person arun    schedule 30.08.2013


Ответы (1)


Попробуйте установить ccb->cdb[1] в 0. В таком случае бит относительного адреса использовать не следует.

person Hardy Feng    schedule 05.09.2013
comment
Это, а также установите cdb[8] = 0. Не беспокойтесь об индикаторе частичной среды. - person Mike Andrews; 22.04.2015