24 August 1997
scsi-config - query information from a scsi device with a nice user interface
scsi-config queries information from an scsi target with a nice Tcl/Tk user interface. If you do not specify a device to query, scsi-config calculates a list of available devices and prompts it to you.
By the nature of a graphical user interface, most things will explain them self. Basically, scsi-config shows a list of buttons for certain mode pages which you may press. Those buttons which you can press and the text windows with white backgrounds can be modified by you and the modifications send back to the device.
In the main window there is a button to instruct the device to save the data in some non volatile memory (if it supports it). Note that this will instruct the device to save the Read-Write Error Recovery Page , Disconnect-Reconnect Page , Format Device Page , Caching Page , and Control Mode Page in its NVRAM. Usually saving even a single of those should write them all to the NVRAM, but you never know.
You can query the current, the factory default and the values in the NVRAM (which may not be the current parameters) from the device.
Not all combinations of button toggles or all values are valid. In general, try to set them and see which values the drive accepts. scsi-config rereads the device configuration immediately, s.t. you see which values where accepted.
Also note that some disk drives are notched, and that those have an active notch (shown in the main window) to which all your settings apply (at least those of notched pages, which are also marked in slate gray). You can select the active notch to which your settings apply (and to which the values refer) in the Notch Page.
For those devices which do not feature an NVRAM (generally removable media devices) and as a kind of backup, you can save the current settings to a file. Actually the file will be a /bin/sh script making the necessary scsiinfo(8) calls to set the saved parameters when executed.
There is also a nice Overview button which will query many details about the disk geometry and draw them in a nice picture. This looks esp. nice for drives with many notches, that is different regions on the disk with different tracks per sector settings. It is also very useful for notched drives as you can immediately select the mode pages for each notch.
SOME USAGE GUIDELINES
|1. General Warning|
|Generally, do not modify settings you don’t understand. It is useful to know the SCSI-II specs mentioned below. Some setting may render the device unusable or even damage it. Usually a power cycle resets the state (if you do not save the weird settings in the NVRAM). Some settings affecting the assignment of logical sectors will render the disk unusable until the next low level format.|
|2. On Write Caching|
|As an old warning, this does also mean you should not generally switch the write cache on. At least on those drives where you have a choice at all. Reasons are twofold:
|Thus, when you run a disk in write cache mode, keep it in mind when weird error messages occur and give the disk time to flush it’s buffers at shutdown. Generally it would be good if you knew more vendor specific details on how the disk operates in the write cache mode.|
|3. Reassigning Bad Blocks Automatically|
|One of the nice features of SCSI disk is that they allow to remap bad blocks automatically as they are detected without any user intervention. However, you actually have to enable this feature! It turned out that you can not generally assume a disk in this mode. To enable this mode or check the settings, proceed as follows:
scsi-config could be enhanced by making better use of Tcl/Tk. I learned much about it during my work on tk_scsiformat(8) and their would be much room for fixes and enhances. On other hand, it fulfils it’s purpose as it is quite nicely already.
As scsi-config makes heavy use of scsiinfo(8) all it’s bugs (esp. on defect reading) apply.
/usr/lib/scsi/cache, /usr/lib/scsi/control, /usr/lib/scsi/disconnect, /usr/lib/scsi/error, /usr/lib/scsi/format, /usr/lib/scsi/generic, /usr/lib/scsi/inquiry, /usr/lib/scsi/notch, /usr/lib/scsi/overview, /usr/lib/scsi/peripheral, /usr/lib/scsi/rigid, /usr/lib/scsi/save-changes, /usr/lib/scsi/save-file, /usr/lib/scsi/tworands, /usr/lib/scsi/verify (Tcl/Tk subroutines used by scsi-config).
Michael Weller <eowmob>, Versions 1.5 & 1.7
Michael Weller <eowmob>, Versions 1.5 & 1.7