| || |
IO Data Valitation Tool
Does there exist any freeware for performing IO data validation (block, char, and SCSI CDB IO)?
[This message has been edited by mmahoney (edited 07-29-2002).]
Re: IO Data Valitation Tool
Well no one else has yet supplied a more direct response so you might consider www.google.com using the phrase - freeware SCSI "test tools". 138 links narrows your search field a bit.
Re: IO Data Valitation Tool
Woops, I missed this one. Also funny that SCSI came up. I was having discussion about LUNs with a co-worker of mine. I worked for the big backup companies, and tested device drivers for backup software.
There are no 'free' hardware test tool that I am aware of. But I'll tell you what I used to do, and some new ideas. (Thanks to all the open source based OS's out there, life is easy.)
There are two ways that we used to test/diagnose problems. (Last time I worked on this was in '97, and it's possible that things have changed). First is to use SCSI monitor. It's essentially a laptop with scsi input and output that you plug between the controller and the device. You can monitor the SCSI calls. For most this is way beyond their ability.
Next choice is WinIce. This is the other tool, where device driver guys would compile custom vxd's and put traps in place to capture driver hooks. This is more common where custom drivers were written.
Writing your own tool:
In case of Windows NT based kernel, it is possible to write your own mini-port driver to capture the calls made by the software. In fact, if I were to test things again, I'd probably explore this path more. You can write your own miniport driver that provides an api interface to the test harness and reply back what calls it received. Since all IO calls are masked by various drivers, it's possible to write an abstract layer to filter it. Linux would be even easier, since all the source code is provided. For Windows, you'll have to get the MSDN subscription and look at device driver code section. There are probably few people who have written them. This would all depend on which layer you want to test.
Here's the geekiest solution, that I'd try... (Nope, I don't have a life)
I'd think that it is also possible to take a pc, and stick the scsi controller in between the two device, and use it to read the port calls. Essentially, scsi card is a device, and with Linux OS, and depending on how intelligent the controller is, I'd guess that you can dump out trace information out. I'd think this is possible, but it would be one of those fun weekend (probably requires some all-nighters) to see if it is possible. But hell, this would be fun, wouldn't it? (Imagine taking a old laptop, throw a scsi pcmci controller and turn it into a scsi diagnostic tool. 151x based chipset still seems to be the defacto standard for the PCMCIA so there should be tons of sample code out there.). Validation engine probably will be a client that does socket calls back to a designated ip-address and specific port, and test harness can listen to the port and get information. Once the SCSI portion is done, rest is a no-brainer.