Generic SCSIAHCI driver for Windows XP

It’s an original, unmodified ASMedia driver, which was developed as a generic driver (doesn’t do any device checks).

Uses SCSIPORT.SYS, so it is compatible with Windows XP and doesn’t require integration of STORPORT.SYS (possible on XP only).

Performance is fine, seems stable so far, supports 48-bit LBA and maybe up to 8 ports (6 tested here).

Original 32-bit (x86) device property sheet didn’t support Windows 2000, so I’ve coded my own version to support the OS, plus it asks to restart Windows if setting is changed.

There are only two limitations:

- Optical drives are seen as “ejectable” drives and shown in Safely Remove Hardware icon.
- If you disable AHCI port 0, ATA and SMART atributtes cannot be read in utilities such as AIDA64.

EDIT: For now, this works with XP only.

@daniel_k

how and where did you find this driver? I’ve never seen this before

@infuscomus

It’s just an ASMedia AHCI driver, with filenames renamed.

Reason for renaming:


On what system are you testing it? Here in Windows 2000 on X570, it doesn’t work at all (0x7B bugcheck), also when I’m trying to use it with AHCI boot drive in VirtualBox, Win2000 hangs on boot. It works only when AHCI drive isn’t a boot one, and Win2000 installation is on IDE drive.

@Illen , you’re right, could swear I had tested it to boot Win2000, but I didn’t.

While you are at it, will post some drivers that should work on your X570. These do work in VirtualBox. Will add more if I can find others.

ahcix86.rar works with Windows 2000 and XP.


For XP with storport.sys, if you could test Amd_sata.rar would be nice.

The most important thing I’d like to know is if the driver properly support Standby Immediate command, to avoid drive wear and data corruption. See this datasheet from Intel:
https://www.intel.com/content/dam/www/pu…ology-brief.pdf

This info is from Samsung:


To check if the unsafe shutdown happens with a particular driver, see if the SMART attribute with of these names increase, based on the controller’s manufacturer:
- Samsung: “POR Recovery Count”
- Phison: “Unsafe Shutdown Count”
- Sandforce: “Unexpected Power Loss Count”

does amd_sata support Standby Immediate ?


Most probably, but need confirmation. That is why I’m asking @Illen to test it as I don’t have any AMD system here.


Unfortunately, this driver does not work on my X570 (tested on 2000 and XP 2002).

Zitat von daniel_k im Beitrag #5

For XP with storport.sys, if you could test Amd_sata.rar would be nice.

The most important thing I’d like to know is if the driver properly support Standby Immediate command, to avoid drive wear and data corruption. See this datasheet from Intel:
https://www.intel.com/content/dam/www/pu…ology-brief.pdf

This info is from Samsung:


To check if the unsafe shutdown happens with a particular driver, see if the SMART attribute with of these names increase, based on the controller’s manufacturer:
- Samsung: “POR Recovery Count”
- Phison: “Unsafe Shutdown Count”
- Sandforce: “Unexpected Power Loss Count”




This driver does work with XP 2002 on X570, although the only drive from the 5 SATA drives I have, that reported any of these strings in SMART is the Samsung 850 EVO SSD, which I’m currently using for my main system (Windows 7). It is not a boot drive of the XP install (just in case, if that matters), the boot drive here is WDC WD10JPVX-22JC3T0 HDD. Since the 850 EVO SSD is a GPT drive, and XP’s disk.sys can’t mount volumes on GPT drives, I’m using disk.sys from Windows Server 2003, which appears to work fine on XP (not sure if that matters either, but wanted to have the volumes on a drive in question mounted). The POR Recovery Count value did not increase after both clean and dirty shutdowns.

untitled.PNG.jpg

@Illen , thanks for your report!

It’s a shame that ahcix86.sys doesn’t work.

Fortunately, amd_sata.sys works as I was expecting.

Actually, doesn’t matter if XP is able to mount the disk, as long it is detected by the driver and shown in Device Manager, the driver does send power management commands to all disks connected.
I have also tried Server 2003’s disk.sys. It doesn’t have any impact on this, it just lets XP recognize GPT disks, however 3TB+ limitations still apply, unfortunately.

Does the driver work fine? Performance?
What do you mean by clean and dirty shutdowns?


Yes, it worked very well during all the testing, no stability or performance issues of any kind. Attached a screenshot with CrystalDiskMark tests for Adata SU800 1 TB and Samsung 850 EVO 500 GB respectively. I would test it more extensively but unfortunately, none of the modded xHCI drivers (VIA and Etron) wanted to work with my X570 system, which is too limiting.


Clean shutdown - when properly shutting down the system eg. from the shutdown dialog or by pressing ACPI power button.
Dirty shutdown - when forcefully shutting down the computer while system is running eg. switching the power off or by pressing reset button.

untitled2.PNG.jpg


Make sure USBD.SYS is in the \Windows\System32\Drivers folder. XP Setup only installs the file automatically if there is an USB 1.1 or 2.0 controller on the system.

Glad to see the driver performs as it should. Will pack the x64 version together for those interested. Thanks for helping me out with this.

Regarding the shutdowns, it’s odd that a forced shutdown doesn’t increase the POR Recovery Count on your 850 EVO, which doesn’t have power loss protection.

can it handle drives that is > 2TiB (2.2TB)?


Completely forgot about the usbd.sys dependency… Thanks. The Etron modded drivers works well with xHCI USB 3.0 (145F) controller, it is also nice that they don’t need WDF Loader, although there is no x64 binary. The VIA modded drivers (for 149C controller) don’t work with both USB 3.1 and 2.0 controllers (both are 149C). For some reason, root hub device is constantly switching between “working properly” and “Code 43” states, and it is not really usable.


I tried to switch to the storahci driver, I couldn’t read the SMART with that driver. But after switching back to the amd_sata driver, POR Recovery Count still was at 99… Not sure what to think about it


I’m sure it does.