2013-08-29 104 views
0

我正在嘗試使用SCSI讀取容量命令獲取磁盤的最大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命令是否正確?

+0

您應該添加語言/環境/調用詳細信息和標籤 –

+0

將相應的CAM標誌設置爲DATA_IN 0x40000000。仍然我沒有得到磁盤的最大LBA – arun

回答

1

嘗試將ccb-> cdb [1]設置爲0.在這種情況下,不應使用相對地址位。

+0

這,並且設置了cdb [8] = 0。不要打擾部分中等指標。 –