It looks like you're new here. If you want to get involved, click one of these buttons!
In order to better support our growing community we've set up a new more powerful forum.
The new forum is at: http://community.covecube.com
The new forum is running IP.Board and will be our primary forum from now on.
This forum is being retired, but will remain online indefinitely in order to preserve its contents. This forum is now read only.
Thank you,
Comments
Thanks Alex that's good to know excellent.
I remember you had Direct I/O for scanning enabled in one of the beta's of Scanner. (but since then disabled it) Is Direct I/O still available for the basic SMART queries via the current Scanner build?
I also asked Matt, the Dev of the other WHS SMART add-in about the Sil 3132 and SMART. Here is his interesting and very technical response. (looks like you've figured it out before him?)
Part 1) (character limit with replies on here)
On Tue, Jul 24, 2012 at 7:56 AM, Matthew wrote:
Part 2)
If you pull up a disk in Device Manager, and go to the Details tab, you’ll see the fully-qualified hardware name of the device, like the examples below. The first is from the EX490; the other from an HP desktop with an add-on SiI card:
As you can see in the second example, there is an “r5†inserted between the SiI type (i.e. 3531 or 3132) and the “1Portâ€Â. Apparently this is because the SiI 3132 is a “SoftRaid5†controller. Seemed like an easy fix, right? As you can see in the source code above, if the controller is a 3132, I inject the “r5†into the string, so when I call the Windows API CreateFile, I’m passing in a valid device name.
The kicker is that Windows is returning a device handle back to me! If you specify an invalid device name, Windows should return the error code INVALID_HANDLE_VALUE.
Once I have a handle, it is passed into this code block notice the commented-out line “//sid.port = scsiBus;â€Â. I found this bug yesterday. It needs to be the SCSI target ID, which in the case of the SiI 3531 in the EX490, corresponds to bays 0, 1, 2 and 3 in the Rosewill enclosure. So as far as the SiI 3531 is concerned, problem solved, case closed.
The problem with the 3132 is that I don’t see any way to change paths on the 3132. I’ve scoured Google and I’ve compared my code with that of open-source tools out there such as smartmontools and Crystal Disk Info. Both seem to have the same problem. CDI’s code is similar to mine, but it’s got a couple of bugs in it so it doesn’t get the 3531 drives right. If I tweak CDI’s code I can get it working on the 3531 to yield the same results as my code, but the problem persists on the 3132.
The issue seems to be the fact that the SiI 3132 is a multi-path device. In other words, it has multiple SCSI channels. The 3531 is a single channel device. One port can accommodate up to 4 (maybe 5) devices. The 3132 has two channels, each of which can accommodate 4 or 5 devices. The problem is trying to figure out HOW to read from path 1 (the two drives above are shown on path 0). The other drive on my 3132 is \Device\Scsi\Si3132r51Port1Path1Target0Lun0. So even when I run “CreateFile†and get a handle to the drive on path 1, when the code below runs, it returns data for the drive on path 0. This leads me to believe when I call CreateFile, I’m getting a handle not to the disk specifically, but rather to the controller and the controller is handing back the results. If I have a handle to disk A I should not get back disk B’s data.
Part 5)
From: Jon
Sent: Tuesday, July 24, 2012 8:25 AM
To: Matthew
Subject: Re: Issue HS2-17 has a new comment
Oh yeah? Interesting :-)
Hmm yeah the card I have on order has two ports as well. Uh oh
Sent from my iPhone
On Jul 24, 2012, at 5:06 AM, Matthew wrote:
http://www.commell.com.tw/product/Peripheral/PCI%20Express%20mini%20card/MPX-3132.HTM
~Jon