| 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 |