| Command coverage | |
| ================ | |
| The following table lists SCSI commands in alphabetical order on the | |
| left and the sg3_utils (or related) utilities that implement invocations | |
| of them on the right. The second table lists supported ATA commands. | |
| SCSI command sg3_utils utilities that use this SCSI command | |
| ------------ ------------------------------------------------- | |
| ATA COMMAND PASS-THROUGH(16) sg_sat_identify, sg_sat_set_features, | |
| sg_sat_phy_event, sg_sat_read_gplog ++ | |
| [sg_sat_chk_power, sg__sat_identify, | |
| sg__sat_set_features, sg_sat_smart_rd_data | |
| (previous four in the examples directory)] | |
| ATA COMMAND PASS-THROUGH(12) sg_sat_identify, ++ | |
| CLOSE ZONE sg_zone | |
| COMPARE AND WRITE sg_compare_and_write | |
| COPY OPERATION ABORT ddptctl, ++ | |
| EXTENDED COPY(LID1) sg_xcopy, ddpt, ++ | |
| GET CONFIGURATION sg_get_config, ++ | |
| GET LBA STATUS sg_get_lba_status, ++ | |
| INQUIRY sg_dd, sg_format, sg_inq, sginfo, | |
| sg_logs, sg_map('-i'), sg_modes, sg_opcodes, | |
| sg_persist, sg_scan, sg_ses, sg_vpd ++ | |
| FINISH ZONE sg_zone | |
| FORMAT MEDIUM sg_format, ++ [SSC] | |
| FORMAT UNIT sg_format, ++ [SBC] | |
| LOG SELECT sg_logs('-r' or '-select'), ++ | |
| LOG SENSE sg_logs, ++ | |
| MODE SELECT(6) sdparm, sg_wr_mode, sginfo, sg_format, | |
| sg_emc_trespass, sg_rdac, ++ | |
| MODE SELECT(10) sdparm, sg_wr_mode, sginfo, sg_format, | |
| sg_emc_trespass, sg_rdac, ++ | |
| MODE SENSE(6) sdparm, sg_modes, sg_wr_mode, sginfo, sg_format, | |
| sg_senddiag('-e'), sg_rdac, ++ | |
| MODE SENSE(10) sdparm, sg_modes, sg_wr_mode, sginfo, sg_format, | |
| sg_senddiag('-e'), sg_rdac, ++ | |
| OPEN ZONE sg_zone | |
| PERSISTENT RESERVE IN sg_persist, ++ | |
| PERSISTENT RESERVE OUT sg_persist, ++ | |
| POPULATE TOKEN ddpt, ddptctl, ++ | |
| PREVENT ALLOW MEDIUM REMOVAL sg_prevent, ++ | |
| READ(6) sg_dd, sgm_dd, sgp_dd, sg_read | |
| READ(10) sg_dd, sgm_dd, sgp_dd, sg_read | |
| READ(12) sg_dd, sgm_dd, sgp_dd, sg_read | |
| READ(16) sg_dd, sgm_dd, sgp_dd, sg_read | |
| READ ATTRUBUTE sg_read_attr | |
| READ BLOCK LIMITS sg_read_block_limits, ++ | |
| READ BUFFER(10) sg_rbuf, sg_test_rwbuf, sg_read_buffer, sg_safte, ++ | |
| READ BUFFER(16) sg_read_buffer | |
| READ CAPACITY(10) sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++ | |
| READ CAPACITY(16) sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++ | |
| READ DEFECT(10) sginfo('-d' or '-G'), sg_reassign('-g'), smartmontools, ++ | |
| READ DEFECT(12) sginfo('-d' or '-G'), smartmontools | |
| READ LONG(10) sg_read_long, sg_dd, ++ | |
| READ LONG(16) sg_read_long, ++ | |
| READ MEDIA SERIAL NUMBER sg_rmsn, ++ | |
| REASSIGN BLOCKS sg_reassign, ++ | |
| RECEIVE COPY DATA(LID1) sg_copy_results, ++ | |
| RECEIVE COPY FAILURE DETAILS(LID1) sg_copy_results, ++ | |
| RECEIVE COPY OPERATING PARAMETERS ddpt, sg_copy_results, sg_xcopy, ++ | |
| RECEIVE COPY STATUS(LID1) sg_copy_results, ++ | |
| RECEIVE DIAGNOSTIC RESULTS sg_senddiag, sg_ses, sg_ses_microcode ++ | |
| RECEIVE ROD TOKEN INFORMATION ddpt, ddptctl ++ | |
| REPORT ALL ROD TOKENS ddptctl ++ | |
| REPORT IDENTIFYING INFORMATION sg_ident, ++ (2) | |
| REPORT LUNS sg_luns, ++ | |
| REPORT REFERRALS sg_referrals, ++ | |
| REPORT SUPPORTED OPERATION CODES sg_opcodes | |
| REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS sg_opcodes | |
| REPORT TARGET PORT GROUPS sg_rtpg, sg_stpg ++ | |
| REPORT TIMESTAMP sg_timestamp | |
| REPORT ZONES sg_rep_zones | |
| REQUEST SENSE sg_requests, ++ | |
| RESET WRITE POINTER sg_reset_wp | |
| SANITIZE sg_sanitize | |
| SEND DIAGNOSTIC sg_senddiag, sg_ses, sg_ses_microcode ++ | |
| SET IDENTIFYING INFORMATION sg_ident, ++ (3) | |
| SET TARGET PORT GROUPS sg_stpg, ++ | |
| SET TIMESTAMP sg_timestamp | |
| START STOP sg_start, ++ | |
| SYNCHRONIZE CACHE(10) sg_sync, sg_dd, sgm_dd, sgp_dd, ++ | |
| SYNCHRONIZE CACHE(16) sg_sync++ | |
| TEST UNIT READY sg_turs, sg_format, ++ | |
| UNMAP sg_unmap, ++ | |
| VERIFY(10) sg_verify, ++ | |
| VERIFY(16) sg_verify, ++ | |
| WRITE(6) sg_dd, sgm_dd, sgp_dd | |
| WRITE(10) sg_dd, sgm_dd, sgp_dd | |
| WRITE(12) sg_dd, sgm_dd, sgp_dd | |
| WRITE(16) sg_dd, sgm_dd, sgp_dd | |
| WRITE AND VERIFY(10) sg_write_verify | |
| WRITE AND VERIFY(16) sg_write_verify | |
| WRITE ATOMIC(16) ddpt | |
| WRITE BUFFER sg_test_rwbuf, sg_write_buffer, ++ | |
| WRITE LONG(10) sg_write_long, ++ | |
| WRITE LONG(16) sg_write_long, ++ | |
| WRITE SAME(10) sg_write_same | |
| WRITE SAME(16) sg_write_same | |
| WRITE SAME(32) sg_write_same | |
| WRITE USING TOKEN ddpt, ddptctl, ++ | |
| <most commands> sg_raw | |
| ATA command sg3_utils utilities that use this SCSI command | |
| ----------- ---------------------------------------------- | |
| CHECK POWER MODE examples/sg_sat_chk_power | |
| IDENTIFY DEVICE sg_inq, sg_scan, sg_sat_identify, | |
| examples/sg__sat_identify | |
| IDENTIFY PACKET DEVICE sg_inq, sg_sat_identify, | |
| examples/sg__sat_identify | |
| READ LOG EXT sg_sat_phy_event, examples/sg__sat_phy_event | |
| sg_sat_read_gplog | |
| READ LOG DMA EXT sg_sat_read_gplog | |
| SET FEATURES sg_sat_set_features | |
| examples/sg__sat_set_features | |
| SMART READ DATA examples/sg_sat_smart_rd_data | |
| ++ command wrapper found in sg_cmds_basic.c, sg_cmds_mmc.c or | |
| sg_cmds_extra.c for this command | |
| (2) this command was known as REPORT DEVICE IDENTIFIER prior to spc4r07 | |
| (3) this command was known as SET DEVICE IDENTIFIER prior to spc4r07 | |
| Note that any SCSI command, including bi-directional and variable length | |
| commands (whose cdb size is > 16 bytes) can be issued by the sg_raw utility. | |
| The RECEIVE COPY * commands in SPC-4 were grouped as one command name | |
| with 4 service actions in SPC-3 and earlier. The single SPC-3 command | |
| name is RECEIVE COPY RESULTS. The two opcodes associated with all | |
| EXTENDED COPY commands are now known as THIRD PARTY COPY IN (0x84) and | |
| THIRD PARTY COPY IN (0x83). | |
| Douglas Gilbert | |
| 8th February 2016 |