| Each utility has its own version number, date of last change and |
| some description at the top of its ".c" file. All utilities in the main |
| directory have their own "man" pages. |
| |
| Changelog for sg3_utils-1.14 [20050506] |
| - sg_rmsn: new utility to read media serial number |
| - sg_rtpg: add T_SUP bit report |
| - sg_ses: ses-2 rev 11 changes (mainly to additional element status) |
| - add 'bay number' to SAS additional element status |
| - sg_modes: recognise attached enclosure and medium changer |
| - sg_inq: spell out non-zero peripheral qualifiers |
| - note VS bit preceding MultiP(ort) when latter set |
| - VPD page 0x83: output naa addresses in hex as well |
| - sginfo: recognise attached enclosure and medium changer |
| - increase device mapping capability (to 78 disks) |
| [Tim Hunt] |
| - sg_senddiag: add option to send raw diagnostic page |
| - sg_get_config: update some BD information |
| - sg_reasign: add '-g' option to give grown defect list length |
| - sg_dd: note default bpt value (128) may be too high for cd/dvds |
| - sg_lib: sync with SPC-3 rev 22a [opcodes + asc/q] |
| - add DID_IMM_RETRY and DID_REQUEUE [linux specific "host" bytes] |
| - sg_cmds: add send+receive diagnostic, read defect data commands |
| - add duration output on some commands when verbose > 2 |
| - spec: change to produce libsgutils (and -devel variant) as well as |
| sg3_utils binary rpms |
| - sdparm: new utility like hdparm but for SCSI disks (or other devices) |
| - moved to its own package called: sdparm |
| |
| Changelog for sg3_utils-1.13 [20050313] |
| - sg_format: new utility to format disks (perhaps change block size) |
| - sg_ses: rename "device element" to "additional element" [SES-2 rev 10] |
| - add SAS expander and connector elements; add download |
| microcode and subenclosure nickname diagnostic pages |
| - fix additional element descriptor for SAS |
| - off by 1 error when no type descriptor text in config page |
| <David dot Baldwin at anu dot edu dot au> |
| - sg_logs: log page for background media scan results |
| - sginfo: add "-flba64" option for outputting 64 bit lba defect lists |
| - sg_get_config: additions for BD from MMC-5 rev 1b |
| - sg_lib: add SG_LIB_CAT_ILLEGAL_REQ sense category |
| - add sg_get_sense_progress_fld() |
| - SPC-3 rev21d updates: report + set timestamp |
| - sg_get_num() + sg_get_llnum(): switch to multipliers that |
| are compatible with SI and with IEC 60027-2. Used modern |
| GNU's dd command as guide. |
| - report field replaceable unit code in fixed format |
| - sg_dd: add logic to use read_long on unrecovered read errors when |
| 'coe' set, read just prior to error if 'coe' clear |
| - both 'odir' and 'blk_sgio" are honoured on block devices |
| - add 'verbose' switch, output some mode page info when verbose |
| - print out elapsed time/throughput when signal received |
| - add new web page discussing sg_dd, copy in html subdirectory |
| - sg_read: add 'blk_sgio' and 'odir' options |
| - sg_wr_mode: clear mode data length in mode select(10) |
| - sg_test_rwbuf: add long options, allow test to run multiple times |
| - sg_cmds: add sg_get_mode_page_types() [get current, changeable, etc] |
| - llseek.c: add Makefile rule without "-std=c99", breaks on some archs |
| |
| Changelog for sg3_utils-1.12 [20050121] |
| - sg_wr_mode: new utility to modify (i.e. write to) mode pages |
| - sg_reassign: new utility: issues Reassign Blocks command |
| - sg_rtpg: new utility: issues Report Target Port Groups command |
| [Christophe Varoqui] |
| - ATA IDENTIFY command misspelt as "IDENTITY" in several places |
| - sginfo: tweak SAS mode pages to match sas 1.1 rev 07 |
| - add NV_DIS bit to disk caching mode page |
| - sg_map: open /dev/nst* rather than /dev/st* (to stop spurious rewinds) |
| - sg_lib: ATA return sense descriptor |
| - add sg_get_sense_info_fld() to fetch info field from sense data |
| - fix bug in sg_scsi_sense_desc_find() |
| - add sense key specific decoding for fixed format sense data |
| - sg_modes: extend '-p' option to allow '-p=<page_code>,<subpage_code>' |
| - add '-A' option to output all mode pages and subpages |
| - extend '-l' option to show subpages, selected command set pages |
| - sg_inq: fix LUN WWN output in unit path report VPD page (emc) |
| [Hergen Lange] |
| - sg_get_config: some additions for DVD-R dual layer |
| - sg_modes: show write protect (WP) and DpoFua flags for disks |
| - sg_cmds: add llbaa argument to sg_ll_mode_sense10() |
| |
| Changelog for sg3_utils-1.11 [20041126] |
| - sg_sync: new utility: invokes the synchronize cache command |
| - sg_prevent: new utility: invokes the prevent allow medium removal command |
| - sg_get_config: new utility: get configuration command for dvds and cds |
| - sg_request: fix, allocation length wasn't set |
| - sg_start: remove '-s', as start_stop_unit implicitly syncs caches |
| - sg_ses: add SAS expander element type |
| - sg_inq: add sanity check to unit serial number (VPD page 0x80) |
| - output ANSI version string (e.g. "SPC-2", previously was number) |
| - add '-s' option to decode SCSI Ports VPD page |
| - sg_logs: decoding of format status and non-volatile cache log |
| pages (0x8 and 0x17 in sbc-2) |
| - sg_dd: handle compile error when O_DIRECT not defined |
| - sginfo: tighten sanity checks around Unit serial number VPD page |
| |
| Changelog for sg3_utils-1.10 [20041030] |
| - sg_readcap, sg_dd, sgm_dd, sgp_dd: fix sg_ll_readcap_10+16 (sg_cmds.c) |
| - sg_luns: new utility to report luns |
| - sg_logs: with '-t' (show temperature) ignore extra parameters in |
| temperature log page (still show them with '-p=d') |
| - sg_ses: clean argument sanity checks |
| - sg_cmds: add more common command wrappers |
| |
| Changelog for sg3_utils-1.09 [20041022] |
| - sg_ses: new utility to get status and set control on SES devices |
| - sg_verify: new utility to verify block devices |
| - sg_emc_trespass: new utility for EMC specific trespass mode page |
| - sg_request: new utility that sends a REQUEST SENSE command |
| - sg_logs: '-r' to reset to manufacturer's defaults |
| - decode last n error events and last n deferred errors pages |
| - add names of ADC log pages |
| - sg_inq: update to SPC-3 rev 21 |
| - decode Extended INQUIRY VPD page [0x86] {'-x'} |
| - decode Unit Path Report VPD page [0xc0] (EMC) {'-P'} |
| - sginfo: decode SAS protocol specific lu mode page |
| - sg_err: convert to sg_lib + update to SPC-3 rev 21 |
| - change GPL to FreeBSD license |
| - flag vendor specific asc/ascq ranges |
| - libsgutils: library made from sg_lib.c and sg_cmds.c |
| - rpm "spec" file additionally builds a "-devel" rpm with |
| static libsgutils.a and sg_lib.h and sg_cmds.h |
| - utils/hxascdmp.c: add FreeBSD license |
| - sg_persist: additions to man page |
| - add sg_persist_tst.sh example script to examples directory |
| - sg_turs: add '-v' and '-V' options |
| - sg_senddiag: add '-v' option |
| |
| Changelog for sg3_utils-1.08 [20040831] |
| - sg_inq: fix noisy message when EVPD and raw modes set |
| - for VPD page 0, list supported page names if known {'-e'} |
| - add '-d' option to list version descriptors |
| - sg_opcodes: numerically sort list of opcodes unless '-u' given |
| - add '-a' to sort alphabetically list of opcode names |
| - add '-t' to report supported task management functions |
| - sg_persist: add 'register and move" PROUT service action |
| - add transportId support, document in sg_persist.8 and example |
| - sg_modes: handle subpage code for known pages (e.g. control extension) |
| - clean up sense buffer handling (allow for descriptor format) |
| - SPC-3 draft revision 20a updates |
| - sg_write_long: new utility to exercise WRITE LONG command |
| - sg_read_long: new utility to exercise READ LONG command |
| - sg_err.c: fix compile errors when SG_KERNEL_INCLUDES defined in lk 2.6 |
| - sg_includes.h typedef of u64 for BLKGETSIZE64 ioctl in lk 2.4 |
| - add safe_strerror(), sg_scsi_normalize_sense(), sg_normalize_sense() |
| and sg_scsi_sense_desc_find() functions |
| - add more sense data descriptor format decoding |
| - move multiple implementations of dStrHex() into sg_err.c |
| - sg_logs: exit if SCSI INQUIRY fails (e.g. when applied to ATA disk) |
| - sginfo: bug fixes and SPC-3 revision 20a updates |
| - add '-E' option to access Control Extension mode (sub)page |
| - sg_start: change '-d' switch to '-v' (verbose) switch for consistency |
| - document extra power condition states in man page |
| - sg_readcap: output rto_en and prot_en bits from long read capacity data |
| - add COVERAGE file to list SCSI command coverage |
| |
| Changelog for sg3_utils-1.07 [20040708] |
| - sginfo: clean up inquiry vendor,product,revision strings |
| - '-Fhead': sort defect list by head |
| Tom Steudten <steudten at mx dot ch> |
| - rework sg_err for better command name coverage: service actions, |
| variable length and peripheral device type |
| - update asc,ascq codes to SPC-3 revision 19 |
| - move scsi_devfs_scan to archive directory |
| - add sg_opcodes utility to list supported operation codes |
| - add sg_persist utility to support persistent reservations |
| - add '-i' option to sg_inq to decode device identification VPD page (0x83) |
| - sg_inq tries an ATA IDENTIFY if SCSI INQUIRY fails |
| - sg_dd, sgm_dd and sgp_dd calculate block device sizes (if count not given) |
| - drop SG_GET_VERSION_NUM ioctl guard in most utilities |
| |
| Changelog for sg3_utils-1.06 [20040426] |
| - sg_logs: some HBAs don't like odd transfer lengths so increment |
| - do INQUIRY and output product strings |
| - add ASCII rendering of the Protocol specific SAS page |
| - add '-v' verbose option to output cdb |
| - sg_scan: optionally take device file names (e.g. /dev/hdc and /dev/sda) |
| - only request 36 byte INQUIRY responses |
| - sg_err: add sg_decode_sense() function |
| - sg_inq: update output (ref: SPC-3 t10/1416-d rev 17, 28 January 2004) |
| - remove '-p' option to print out PCI address of host |
| - add '-v' verbose option to output cdb |
| - sginfo: allow '-u' to take hex arguments (prefixed by '0x'), |
| when subpage value is 255 show multiple subpages |
| - accept /dev/hd? ATAPI devices directly in lk 2.6 |
| - add '-t <pn>[,<spn>]' argument; like '-u' but decodes page |
| if it recognizes it |
| - drop '-L' argument |
| - add cd/dvd, tape, SES, more disk and more SPC-3 decoded mode pages |
| - add transport protocol decoded mode pages for SPI-4, FCP and SAS |
| - sg_modes: print all subpages when '-subp=ff' is selected |
| - do INQUIRY and output product strings |
| - add '-v' verbose option to output cdb |
| - Makefile: add -W compile flag and fix exposed warnings |
| - .spec file: change to build on Mandrake without errors |
| |
| Changelog for sg3_utils-1.05 [20031112] |
| - sginfo: major rework; add IE page, clean up control, cache + |
| disconnect pages (as per SPC-3 and SBC-2). |
| - when storing, update saved page (change from previous version) |
| - use 10 byte mode sense and select by default (override with '-6') |
| - mode subpage support |
| - sg_dd, sgm_dd + sgp_dd: |
| - 64 bit capable (read capacity; count, skip and seek values). |
| - numerical arguments accept hex (prefixed by '0x' or '0X') |
| - require bpt > 0 |
| - fix problem when reading /dev/null |
| - sg_dd: Treat SIGUSR1 properly: print stats and continue; |
| - sgp_dd: reduce READ CAPACITY response size to 8 bytes |
| - sg_read: require bpt > 0 |
| - sg_test_rwbuf: switch from sg_header to sg_io_hdr interface |
| N.B. After these changes no sg3_utils utilities (in the main directory) |
| use the sg_header interface |
| - sg_scan: switch from sg_header to sg_io_hdr interface |
| - sg_senddiag: increase extended foreground timeout to 60 minutes |
| - sg_inq: add names of peripheral device types |
| - sg_readcap: show total size in bytes, MB, GB |
| - sg_logs: read log pages twice (first time to get response length), for |
| fragile HBAs; decode Seagate 0x37 + 0x3e pages; display pcbs |
| - sg_modes: fix core dump when corrupted response, don't print extra pages |
| - sg_map: increase sg device scanning from 128 to 256 |
| - change man page references from lk 2.5 to lk 2.6 |
| - examples/sg_iovec_tst: added testing sg_iovec (sg_io_hdr iovec's) |
| [retrospective addition to this log: "#define __user" added into |
| sg_include.h so user space programs aren't broken if they choose |
| to include kernel header.] |
| - utils/hxascdmp: add utility for displaying ASCII hex |
| |
| Changelog for sg3_utils-1.04 [20030513] |
| - all remaining utilities in the main directory have man pages [thanks |
| to Eric Schwartz <emschwar at debian dot org> for 7 man pages] |
| - add CREDITS file |
| - sg_simple1, sg_simple2, sg_simple3, sg_simple4, sg_simple16 and |
| scsi_inquiry: moved to the examples directory |
| - sg_debug: moved to the archive directory |
| - sg_modes: add '-subp=<n>' for sub page code, suggests 6/10 byte |
| alternative if bad opcode sense received, flip -cpf flag to -pf, |
| add page names for most peripheral types |
| - sg_turs: default '-n=' argument to 1, only when '-n=1' print error |
| message in full |
| - sg_logs: print temperature "<not available>" for 255, '-t' switch |
| for temperature (from either temperature or IE log page) |
| - sg_dd: add '-odir=0|1' switch for O_DIRECT on block devices |
| - sg_start: add '-imm', '-loej' and 'pc=<n>' switches plus man page |
| - sg_readcap: add '-pmi' and 'lba=<n>' switches |
| - open files O_NONBLOCK in sg_inq, sg_modes and sg_logs so they |
| can be used on cd/dvd drivers when there is no disk present |
| |
| Changelog for sg3_utils-1.03 [20030402] |
| - sg_senddiag: added, allows self tests and listing of diag pages |
| - sg_start: changed to use SG_IO so works on block devices |
| - sg_err: print out some "sense key specific" data [Trent Piepho] |
| - sg_modes: add "-6" switch for force 6 byte MODE SENSE [Trent Piepho] |
| - sg_modes: more information on page codes and controls |
| - sg_inq, sg_modes, sg_logs, sg_senddiag: add man pages |
| - sg_dd: add "append=0|1" switch for glueing together large files |
| - note in README about utilities offered by scsirastools package |
| |
| Changelog for sg3_utils-1.02 [20030101] |
| - sg_inq: check if cmddt or evpd bits ignored |
| - sg_inq: warn -o=<n> not used for standard INQUIRY |
| - sg_turs: add -t option to time Test Unit Ready commands |
| - sg_errs: (used by most utilities) warn if sense buffer empty |
| - sg_modes: make safe with block SG_IO (bypass SG_GET_SCSI_ID ioctl) |
| - sg_logs: make safe with block SG_IO, self-test page work |
| - sg_dd: add "blksg_io=" switch to experiment with block SG_IO |
| - sg_read: now use SG_IO ioctl rather than sg write/read |
| - sginfo: fix writing parameters, check for block devices that answer |
| sg's ioctls, recognize "scd<n>" device names |
| - sg_map: stop close error report on tape devices |
| - sg_readcap: make safe with block SG_IO |
| - sg_start: make safe with block SG_IO |
| - sg_test_rwbuf: make safe with block SG_IO |
| |
| Changelog for sg3_utils-1.01 [20020814] |
| ---------------------------- |
| - add raw switch ("-r") to sg_inq [Martin Schwenke] |
| |
| Changelog for sg3_utils-1.00 [20020728] |
| ---------------------------- |
| - update sg_err [to SPC-3 T10/1416-D Rev 07 3 May 2002] |
| - "sg_inq -cl" now outputs opcode names |
| - add "continue on error" option to sg_dd |
| - add _LARGEFILE64_SOURCE _FILE_OFFSET_BITS=64 defines to Makefile |
| - drop 'gen' argument from sg_dd and friends, allow any file types |
| except scsi tape device file names |
| - treat of=/dev/null as special (skip write). Accept of=. as alias |
| for of=/dev/null |
| - decode various log pages in sg_logs |
| - add 'dio' argument to sgm_dd for testing "zero copy" copies |
| |
| Changelog for sg3_utils-0.99 [20020317] |
| ---------------------------- |
| - add 'fua' and 'sync' arguments to sg_dd, sgp_dd and sgm_dd |
| - improve sg_inq, add "-cl" and "-36" arguments |
| - add sg_modes + sg_logs for MODE SENSE and LOG SENSE queries |
| - add rescan-scsi-bus.sh [Kurt Garloff] to archive directory |
| |
| Changelog for sg3_utils-0.98 [20020216] |
| ---------------------------- |
| - move sg_reset back from archive to main directory + build |
| - sprintf() to snprintf() changes |
| - add "time=<n>" argument to sg_dd, sgp_dd and sgm_dd to time transfer |
| - add man pages for sgm_dd and sg_read, update sg_dd and sgp_dd man pages |
| - add "cdbsz=" argument to sg_dd, sgp_dd, sgm_dd + sg_read |
| - add "gen=0|1" argument to sg_dd |
| |
| Changelog for sg3_utils-0.97 [20011223] |
| ---------------------------- |
| - move isosize to archive since introduced into util-linux-2.10s |
| |
| Changelog for sg3_utils-0.96 [20011221] |
| ---------------------------- |
| - add '-p' switch to sg_inq to provide PCI slot_name |
| - add '-n' switch to scsi_inquiry for non-blocking open |
| - new sgm_dd (dd variant) using mmap-ed IO |
| - sg_rbuf now has a '-m' argument to select mmap-ed IO |
| - sg_rbuf now has a '-t' switch to do timing + throughput calculation |
| - add sg_simple4 to demonstrate mmap-ed IO on an INQUIRY response |
| - add sg_simple16 to do a READ_16 (16 byte SCSI READ command) |
| - mmap-ed IO requires sg version 3.1.22 or later |
| - add sg_read to read multiple times starting at same offset |
| |
| Changelog for sg3_utils-0.95 [20010915] |
| ---------------------------- |
| - make sg_dd, sgp_dd and archive/sgq_dd warn if dio selected but |
| /proc/scsi/sg/allow_dio is '0' |
| - sg_map can now do any INQUIRY (when '-i' argument given) |
| - expand example in scsi_inquiry |
| |
| Changelog for sg3_utils-0.94 [20010419] |
| ---------------------------- |
| - add sg_start, documented in README.sg_start [Kurt Garloff] |
| - add osst suport in sg_map [Kurt Garloff] |
| - improvements to sginfo [Kurt Garloff] |
| |
| Changelog for sg3_utils-0.93 [20010415] |
| ---------------------------- |
| - more include file fine tuning |
| - some "dio" work sg_rbuf |
| - extend sgp_dd so "continue on error" works on normal files |
| - introduce sg_include.h to encapsulate sg include problems |
| - add scsi_devfs_scan |
| - add sg_bus_xfer to archive directory |
| - more error info in sginfo |
| |
| Changelog for sg3_utils-0.92 [20010116] |
| ---------------------------- |
| - change sg_err.c output from stdout to stderr |
| - change sg_debug to call system("cat /proc/scsi/sg/debug"); |
| - fix in+out totals in sg_dd and sgp_dd when partial transfers |
| - lower include dependencies in sg_err.h |
| - add sgq_dd + Makefile to archive directory |
| |
| Changelog for sg3_utils-0.91 [20001221] |
| ---------------------------- |
| - signalling handling added to sg_dd (and documented in sg_dd.8) |
| - add man page for sg_rbuf (and a small change to its code) |
| - add "-d" switch to isosize and cope with > 2 GB (and man page) |
| |
| Changelog for sg3_utils-0.90 |
| ---------------------------- |
| - switch from dated versioning. Previous version was sg3_utils001012. |
| Arbitrarily start at package version 0.90 . Start Changelog. |
| - incorporate Kurt Garloff's patches from Suse scsi.spm source rpm |
| compilation: |
| - add Kurt Garloff's sg_test_rwbuf utility to read and write to disk |
| buffer |
| - clean up Makefile to include a "make install" (and also add a |
| "make uninstall"). |
| - add "-uno" switch to sginfo |
| - make raw and sg devices equally acceptable to sg_dd and sgp_dd. |
| [Raw devices still not as fast as sg devices doing disk to disk |
| copies in sgp_dd but this may be improved soon. Still faster than |
| using dd!] |
| - change lseek() in sg_dd and sgp_dd to _llseek() [using code borrowed |
| from fdisk] so big disks can be properly offset with 'skip' and |
| 'seek' arguments. [This change is significant for raw devices and |
| normal files since sg devices already use 31 bit block addressing.] |
| - rename sg_s3_inq to sg_inq. This utility allows the INQUIRY response |
| to be decoded as per SCSI 3 and 4. Also can probe EVPD and CmdDt pages. |
| - change multiplier suffixes on sg_dd, sgp_dd and sg_turs so lower case |
| "k, m, g" are powers of 2 while "K, M, G" are powers of 10. This idea |
| borrowed from lmdd (lmbench suite) |
| - retire a few more less used utilities into the archive directory. |
| - add man pages for sg_dd, sgp_dd and sg_map |