                        SCSIMON (c) 2006 by nickk
                        _________________________


CONTENTS
________

 1. Introduction
 2. Installation
 3. Usage
 4. Config file
 5. Bugs And Limitations
 6. LICENSE
 7. Supporting the project
 8. Author
 9. Changelog

1. Introduction
_______________

SCSIMON is a simple command line tool to show status for you SCSI HDD.
It prints out HDD model, revision, manufacture date, start/stop count,
drive temperature and error counters and log.
Along with printing human readable info to stdout, SCSIMON can periodicaly 
print formatted info to existing named pipe, which make it poissible to use
with WPS pipe-based monitors, such as SysBar/2 or other.

2. Installation
_______________

SCSIMON works through aspinkk.sys ASPI routing driver (included in this package).

Your config.sys should contain the following lines to ensure the proper
work of SCSIMON:

REM The driver for your SCSI adapter
BASEDEV=SYM_HI.ADD
BASEDEV=OS2ASPI.DMD /ALL
DEVICE=D:\OS2\BOOT\ASPINKK.SYS

To install SCSIMON itself just unpack it from zip to any desired path.

3. Usage
________

scsimon.exe [option/s] <hdd1> [<hdd2> ...]

where hdd1, hdd2,... - scsi descriptior of your scsi hdd in form [bus,]id[,lun].

Being run without any options scsimon will print available info about given hdds.

The available options are:

 -v, --verbose <level>          Set verbose level (def: 1)
 -p, --pipe <pipename>          Write formatted info to named pipe <pipename>.
                                Given named pipe should already exist.
 -f, --format <template>        Format (printf-like) of data to be written to 
                                pipe. See available format tokens below. (def: %t)
 -s, --separator <string>       Separator between each hdd output to pipe (def: /)
 -t, --tperiod <seconds>        Interval between temperature querying (def: 0)
                                0 means no periodical querying.
 -e, --eperiod <seconds>        Interval between error counters querying (def: 0)
                                0 means no periodical querying.
     --config <file>            Load default command line options from <file>
     --noconfig                 Do not try to load config file
 -h, --help                     Display usage information
 -V, --version                  Display program version

To make SCSIMON print periodically info to pipe, one should specify -p key along
with -t or -e or both keys. The -f key will customize the data printed to pipe.
The default format is %t means print hdd temperature to pipe.


Valid format tokens:
	%t	Drive temperature
	%r0	Read errors corrected w/o delay
	%r1	Read errors corrected with delay
	%r2	Total rereads
	%r3	Total read errors corrected
	%r4	Total times read correction algorithm processed
	%r5	Total GB read
	%r6	Total uncorrected read errors
	%r7	Other read error counter
	%w0	Write errors corrected w/o delay
	%w1	Write errors corrected with delay
	%w2	Total rewrites
	%w3	Total write errors corrected
	%w4	Total times write correction algorithm processed
	%w5	Total GB written
	%w6	Total uncorrected write errors
	%w7	Other write error counter
	%v0	Verify errors corrected w/o delay
	%v1	Verify errors corrected with delay
	%v2	Total verify retries
	%v3	Total verify errors corrected
	%v4	Total times verify correction algorithm processed
	%v5	Total GB verified
	%v6	Total uncorrected verify errors
	%v7	Other verify error counter
	%m	Non-medium error counter


4. Config file
______________

The default settings for SCSIMON can be put in config file which is merely
a line with command line options (described in chapter 3.Usage) to apply:

; comment
<options>
...

The command line options will override those given in config file. I.e. if you
specify -v 0 in config file and -v 2 in command line, -v 2 will be used.
This also apply to hdd specifiers: if you place 0,0,0 0,1,0 in config and 
specify 1,1,0 in command line, only 1,1,0 hdd will be queried.

By default SCSIMON tries to load %ETC%\scsimon.cfg config file, unless the config
file is given with --config option. --noconfig option switches off config file
loading.

Example of config file:

; query drive temperature each 60 seconds for hdd 0,0,0 0,1,0 0,2,0
; and print it to \PIPE\hddtemp as temp0/temp1/temp2 and print nothing to stdout
-v 0 -t 60 -p \PIPE\hddtemp 0,0,0 0,1,0 0,2,0

5. Bugs And Limitations
_______________________

None so far ;)

6. License
__________

Use this software for free.

And, of course:

THIS SOFTWARE IS PROVIDED BY THE AUTHOR OR CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, SEX OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE, SHIT ON CARPET OR OTHERWISE) 
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGE.

7. Supporting the project
_________________________

If you want to support this project, please, make your donation on
BMT Micro site at https://secure.bmtmicro.com/ECommerce-OffSite/11980001.html
or on Mensys at http://shop.mensys.nl/uk/security2.

8. Author
_________

 nickk, dev.nul@mail.ru

 Feel free to send author bugreports and suggestions about dvddao, but first,
 please, make sure that your email provider accepts emails from mail.ru domain.

 Big thanks for testing to all those brave guys who did it ;)

9. Changelog
____________

0.0.1
  Initial release

