So, I installed a 2 port eSata adaptor from LaCie last week and connected my brand spanking new 1.5Tb drive to it.
This is a Windows Home Server system, if you must know. So disk activity is always high, both reading and writing.
Now the hard drive itself is perfectly fine (I’ve tested it on other computers using USB 2.0). The enclosure is perfectly fine (since I’ve tested that too).
This leads me to the issue I have with the controller.
This error message always preceded a crash:
“The device, \Device\Scsi\SI3112r1, did not respond within the timeout period.”
That error let me to this Microsoft KB article: http://support.microsoft.com/kb/154690/EN-US/
The reason that drives tend to have these types of problems under heavy stress is often slow microprocessors. In a multitasking environment, the processor may not be fast enough to process all the I/O commands that come in nearly simultaneously.
Hmmmmm…… This certainly fits he bill, since, after much careful examination, it seems heavy reads cause this problem.
I’ve tried all the other stuff in the KB article except flashing the PCI cards’ BIOS.
Now this is where it gets interesting. The LaCie card uses the Silicon Image Sil 3512 SATALink Controller. This is what shows up in Windows Device Manager.
I’ve updated the driver to its latest version from Windows Update. But not the BIOS.
Now the download is simply a flashtool and a readme file thats gives the following command line instructions:
Procedures to run SiFlashTool .exe
· Open Windows command prompt
· Change to a directory where the SiFlashTool .exe and BIOS binary file are located.
· Run SiFlashTool to update the flash memory with BIOS binary code
The SiFlashTool.exe command line syntax is as follows:
SiFlashTool [/BusNum:xx /DevNum:xx] [/File:filespec] [/v]
BusNum / DevNum: These parameters specify the PCI bus and device number respectively of a Silicon Image storage controller. These parameters only need to be used if there is more than one Silicon Image storage controller in the system.
File: This parameter specifies the path and name of the BIOS image file to be programmed.
/V: This switch causes the program to only display the version number of a controller’s BIOS. No BIOS image is programmed when this switch is used. The /File parameter is ignored if specified along with this switch. If /BusNum and/or /Devnum are specified, then only the BIOS versions of controller’s at the specified PCI locations are displayed.
If I Run it with /V it tells me that BusNum is 05 and DevNum is 04.
Question One, what BIOS binary file are they talking about?
Question two, how am I supposed to include the BusNum and DevNum arguments?
Many thanks for any help all the hardware and command prompt gurus out there can give.