Revision History These are the changes made to SCSITOOL based on date. Some descriptions are a bit cryptic and hard to figure out, but... I've made the history list for my self, not for you! date is in DD-MM-YYYY format ! 1-12-1996 The very first version of SCSITOOL 27-12-1996 altered erase pattern before inquiry clear buffer 30-12-1996 improved/tested download microcode 03-01-1997 Introduced scsi_execute_bg() used scsi_execute_bg() in format_unit() and download microcode() 06-01-1997 Introduced format_bg() and format_bg_overview() 15-01-1997 Changed download firmware to support download microcode with offsets and save mode, older drives do not support this 16-01-1997 Introduced command->eject/rezero and other stuff 18-01-1997 Changed bg_format to format multiple drives at once 19-01-1997 Introduced CD-Rom tower test function 25-01-1997 Fixed a very nasty bug (big one), in read_scsi_list(). Must wait for all busy devices before destroying their SCSI *'s. 02-02-1997 Introduced multidrive copy 08-02-1997 Introduced log_printf() for logging data to logfile added reassign block to kill_drive 12-02-1997 Introduced benchmark avg. seek time, spindle speed, latancy, scsi bus speed 01-03-1997 print more info in head window for selected device 02-03-1997 Fixed bug in mdrive_copy, EST time. 12-04-1997 Introduced CD-Rom tower identify by eject; Now supports testing up to 100 CD-ROM drives (probably more); colored aspi_error report window RED, so it can be seen from a distance. 22-04-1997 Introduced A/V disk configuration/check/undo 14-05-1997 Introduced tape test blocksize in options 03-09-1997 Rewrite of destructive tape test 26-10-1997 Introduced the HBA to the device list, plus info Support for extended aspi host inquiry, scan the bus for the number of devices that the bus supports, eg. wide bus scan from 0 to 15 Auto spinup device option for disk drives Complete mode sense/select Introduced databit missing detection (eg. wide hba/wide disk using narrow cable) 20-01-1998 Fixed a small bug in the last parameter of each mode sense/select page Fixed a problem with escape on "purge defect list" that did not work and continued formatting the drive Introduced the "-w" commandline option, forcing SCSITool to scan "wide" When a device is selected focus is now set to the "test" option The bar is now always restored to the correct position when returning to the menu again Fixed "funny" window when the list to select from is empty removed "short erase" from tape test II when distructive disk has done 1 cycle or more, it puts a log stamp on the last block of the drive, you can view it with hexedit, press Ctrl-End 11-03-1998 Fixed benchmark problem, seq. write/read/verify printed a strange character in the logfile. Glist on a jaz drive takes a long time, so the list is not printed anymore with removable devices. 14-03-1998 Introduced -s option to disable header info. (some older disks hang on sn, or other commands) In header say DCC=x, not DCE=x. Fixed 'Can't select a CD-Rom drive in multiple drive read test' problem 15-03-1998 Enhanced Benchmark Avg. seek The benchmark avg. seek is an integer of a float (must be float) If selected device is a fixed disk, display WCE bit in header 21-03-1998 Fixed 'mdrive format doesn't say anything in logfile' problem Added warning "data will be lost, continue Y/N" before benchmark/write On destructive tape test, DC message in logfile turned off 22-03-1998 Introduced benchmark full seek 27-03-1998 Fixed aspi_error garbage printing in logfile 28-03-1998 Options->tape blocksize if 512 bytes now 0K Add TE (terminate Enable) bit in header (if seagate disk) This has been removed. 05-06-1998 Mode sense/select when selecting changable values, do not change/save parameters. Serial_number() fixed bug if serialnumber contains unprintable chars. 16-08-1998 Fixed inquiry error on Auto select device with device id higher than HBA Introduced a debug option (-d) that logs all scsi I/O commands to a file 22-08-1998 Log Compare errors in logfile. Done, but not tested. 24-08-1998 Added SENSE information when selected device is not ready, that may explain what's wrong. 26-08-1998 Rewrite of scan_bus(), it now scans all hosts at the same time, which saves a lot of time in a multiple HBA system. Fixed bug in list_sel(), when scrolling down the devicelist with up/down arrow, marker character was displayed. 29-08-1998 Added a detection system to the scan_bus() function which automatically detects the HBA's buswidth when the first device is found on that bus. By default it scans for 16 devices (0..15), if it does not find any it says that no devices were found. It now supports 7-bit IDs (0..127) like fibre channel devices use. 03-09-1998 Found that the buslogic family, is not happy with the new buswidth detection introduced on 29-08-1998. It hangs when doing an inquiry command on a ID higher than 15. Starting it with the -w option (force to wide) works OK. Made an exception for buslogic cards, default scan 0..7 Changed CD-Rom tower test and multiple drive read-test (same routine) when testing a CD-Rom drive and the drive is not ready (eg. no medium in drive) that drive is skipped in the list, and the test continues. Handy when you have a CD-Rom server with 70 drives, but have only 35 CD-Rom media to insert. 12-09-1998 Changed 'Fire your own scsi command', you can now change the target device so you can fire a command to a non-selected device, or when no device is detected. Created menuitem "set all mode pages to default values" Changed screen layout of "erase data on disk" 27-10-1998 Fixed buswidth detection (went wrong on some older aha2940's) if 'buswide' is detected as 1 (can't be) than it is set to 8. Changed scan_bus() so that first a "test unit ready" is done, to detect the devices, and when a device is found then a inquiry is done. This detects devices on the scsi bus better and more secure. Removed the spinup option when device not ready, with the new scan_bus, scsitool can see when a device has not spun up yet (device reports: "logical unit not ready, initializing command required" [04/02]) and scsitool spins it up automatically. 02-11-1998 Changed the header a bit, now also displaying the device type, like disk, tape, CD-Rom... Removed the TE in the header because most disks do not support it well. Changed the scan_bus() routine, goes OK in windows 95 now. 08-11-1998 Fixed divide by zero bug if tape blocksize is 0 Added a selection menu, to choose a different buffersize when doing a bench mark on a CD-Rom in win95, because the win95 16-bit aspi does not support a buffer of 256K 30-11-1998 Changed to version 1.02 21-02-1999 When using scsitool on a "write protected" floppy disk, the error " Write protect error writing drive A. Abort, Retry, Fail " appears. Scsitool was trying to create or append to the "scsitool.log" file. Solution: created an option called "Log to file", you can disable it when using write protected floppy drives. Options are saved in scsitool.cfg. 04-03-1999 Fixed divide by zero bug in disk copy, when copying CD-Rom to harddisk. 22-03-1999 Removed the auto-detect HBA buswidth, it does not work correctly on some adapters. So switched back to the HBA extended request which is 100% supported by adaptec (they created it), but not supported on buslogic adapters, so on wide buslogic (and others that do not support extended request) you must use the -w option to scan for devices from ID 0..15, you can check the "ASPI host adapter info" to see if your HBA supports an extended request. Added 'Rescan SCSI bus' option. 27-03-1999 Fixed bug in scanbus, with some aspi managers eg. aspi2dos.sys the hostname was followed by some junk characters. 30-03-1999 Changed Auto spinup drive, now also done when device is reporting: "Logical unit not ready, cause not reportable" [02 04 00], since some HP drives report this. 02-05-1999 Added "same sector read" benchmark 17-06-1999 Added "overwrite data?" to Multiple drive descructive test (thanks to Eddy Bravenboer for bringing that to my attention). "same sector read" benchmark buffer set to 32k size (was 128K). 26-07-1999 Fixed scan_bus() problem. It did not check if aspi status was 1, which caused an "invalid SRB" on Compaq Proliant systems (symbios 53C8xx chip) 16-03-2000 Fixed some spelling errors, rearranged/renamed some menu titles. (thanks to Folkert Rienstra). Changed "benchmark": results are in a list for preview and can be saved to a file. Removed the "same sector benchmark option" 20-04-2000 Added 232 more sense codes and sense code qualifiers from draft proposed by American National Standard for information systems - T10 Project 1236-D Revision 15 24 January 2000 - SCSI Primary Commands - 2 (SPC-2) from file called: "spc2-r15.pdf" Added 2 new device types: Array Controller and Enclosure Services Inquiry: list_preview() 24-04-2000 Changed interface_speed(), it now scans for the largest buffer and uses that. Changed the "test" buffer to 32K, must test if that is large enough. Added "Bfr" to header, it is the total size off all buffer ID's, in most cases it will be the cachesize (I hope). 02-05-2000 Changed interface_speed() again, now loop from 512 bytes until 128MB blocksize Used more accurate way to time in benchmark Added "Bus Xfer" topic to header window When buffer read are not supported by device, a red aspi screen appeared in fixed problem with benchmark "scsi bus speed" and "I/O's per second" 09-05-2000 Added Peripheral device types: 0x0A, 0x0B Defined by ASC IT8 (Graphic arts pre-press devices) 0x0C Storage array controller device (RAID) 0x0D Enclosure services device 0x0E Simplified direct-access device (magnetic disk) 0x0F Optical card reader/writer device 0x10 Bridging Expanders 25-05-2000 Multiple drive copy shows a message box with source and target drives, and now asks if it may start, yes or no. It used to "just start". Fixed the hexedit goto block functions did not work. The "log to file" option now works without having to re-start scsitool. Also the logfile gets "closed" after every line added to this logfile. 06-07-2000 Reworked the scsitool.hlp file a bit (thanks to Folkert Rienstra for helping me). removed is_max() function (you don't need the scsitool.max file anymore). All functions are enabled by default (also the dangerous ones). changed scsitool URL to www.nu2.nu/scsitool changed email to bart [at] nu2 [dot] nu