[Request] 64bit Intel AHCI driver for DEV_22A3 (BayTrail)

Hi everybody,

I have an Acer Aspire E1-131 laptop which has a SATA controller (AFAIK!!!) currently not recognized by any of the Intel AHCI drivers. It works with the standard SATA controller, but in order to enable SATA Link Power Management (LPM) on Windows 7, you need the Intel AHCI driver (or fiddle around in the registry/on the command line to manually enable it).

The device has the following ID: PCI\VEN_8086&DEV_22A3&CC_0106 and is called "Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller" according to this source. I took the liberty of adding the device to the drivers attached, which should enable LPM.



; Copyright (C), Intel Corporation. All rights reserved.
; **********************************************************************************************
; ** Filename: iaAHCIC.inf
; ** Revision: 09/13/2016,15.2.0.1020
; ** Abstract: Windows* INF File for AHCI Intel(R) Rapid Storage Technology Driver
; ** Installs: RST AHCI Controller Miniport
; **********************************************************************************************
[Version]
Signature="$Windows NT$"
Provider=%INTEL%
ClassGUID={4D36E96A-E325-11CE-BFC1-08002BE10318}
Class=HDC
CatalogFile=iaAHCIC.cat
DriverVer=09/13/2016,15.2.0.1020
;
[PackageInfo]
Name=AHCI64
;
[SourceDisksNames]
1 = %DiskId1%,""
[DestinationDirs]
DefaultDestDir = 12
;
[ControlFlags]
ExcludeFromSelect = *
;
[Manufacturer]
%INTEL% = INTEL, NTamd64.6.1, NTamd64.6.2
;
[iaStorA_Service_Inst]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_BOOT_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\iaStorA.sys
LoadOrderGroup = SCSI miniport
AddReg = pnpsafe_pci_addreg
;
[iaStorA_EventLog_Inst]
AddReg = iaStorA_EventLog_AddReg
;
[iaStorA_EventLog_AddReg]
HKR,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\iaStorA.sys"
HKR,TypesSupported,%REG_TYPE_DWORD%,7
;
[iaStorF_Service_Inst]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_BOOT_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\iaStorF.sys
;
[iaStorF_EventLog_Inst]
AddReg = iaStorF_EventLog_AddReg
;
[iaStorF_EventLog_AddReg]
HKR,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,TypesSupported,%REG_TYPE_DWORD%,7
;

;
;
;
64-BIT X86 ARCHITECTURE
;
;
This section specifies the 64-bit architecture specific INF file entries
;* required to install a driver as a 64-bit compatible driver.
;
;
*********************
[SourceDisksFiles.amd64]
iaStorA.sys = 1,
iaStorF.sys = 1,
;
;Win7
[INTEL.NTamd64.6.1]
%PCI\VEN_8086&DEV_9D03&CC_0106.DeviceDesc% = iaStorA_inst, PCI\VEN_8086&DEV_9D03&CC_0106
%PCI\VEN_8086&DEV_A102&CC_0106.DeviceDesc% = iaStorA_inst, PCI\VEN_8086&DEV_A102&CC_0106
%PCI\VEN_8086&DEV_A103&CC_0106.DeviceDesc% = iaStorA_inst, PCI\VEN_8086&DEV_A103&CC_0106
%PCI\VEN_8086&DEV_A282&CC_0106.DeviceDesc% = iaStorA_inst, PCI\VEN_8086&DEV_A282&CC_0106
%PCI\VEN_8086&DEV_22A3&CC_0106.DeviceDesc% = iaStorA_inst, PCI\VEN_8086&DEV_22A3&CC_0106
;
;Win8 and above
[INTEL.NTamd64.6.2]
%PCI\VEN_8086&DEV_9D03&CC_0106.DeviceDesc% = iaStorA_inst_8, PCI\VEN_8086&DEV_9D03&CC_0106
%PCI\VEN_8086&DEV_A102&CC_0106.DeviceDesc% = iaStorA_inst_8, PCI\VEN_8086&DEV_A102&CC_0106
%PCI\VEN_8086&DEV_A103&CC_0106.DeviceDesc% = iaStorA_inst_8, PCI\VEN_8086&DEV_A103&CC_0106
%PCI\VEN_8086&DEV_A282&CC_0106.DeviceDesc% = iaStorA_inst_8, PCI\VEN_8086&DEV_A282&CC_0106
%PCI\VEN_8086&DEV_22A3&CC_0106.DeviceDesc% = iaStorA_inst_8, PCI\VEN_8086&DEV_22A3&CC_0106
;
[iaStorA_inst.NTamd64]
[email protected]
[email protected]
FeatureScore=0x80
;
[iaStorA_inst_8.NTamd64]
[email protected]
FeatureScore=0x80
;
[iaStorA_inst.NTamd64.HW]
AddReg = iaStorF_addreg
AddReg = msi_addreg
AddReg = storport_addreg
;
[iaStorA_inst_8.NTamd64.HW]
AddReg = msi_addreg
AddReg = storport_addreg
;
[iaStorA_inst.ntamd64.Services]
AddService = iaStorA, %SPSVCINST_ASSOCSERVICE%, iaStorA_Service_Inst, iaStorA_EventLog_Inst
AddService = iaStorF, , iaStorF_Service_Inst, iaStorF_EventLog_Inst
;
[iaStorA_inst_8.ntamd64.Services]
AddService = iaStorA, %SPSVCINST_ASSOCSERVICE%, iaStorA_Service_Inst, iaStorA_EventLog_Inst

;
;
;
[iaStorF_addreg]
; Layer the RST Filter driver under all Disk class devices as a lower disk class filter
;
HKLM, System\CurrentControlSet\Control\Class{4d36e967-e325-11ce-bfc1-08002be10318}, LowerFilters, 0x00010008, iaStorF
HKLM, System\CurrentControlSet\Control\Class{4d36e965-e325-11ce-bfc1-08002be10318}, LowerFilters, 0x00010008, iaStorF
;
[pnpsafe_pci_addreg]
; Use raw values for BusType, not a DEFINE, ChkInf fails on hex alpha chars
; BusType_ATA == 0x3, BusTypeATA, BusType_RAID == 0x8, BusType_SATA == 0xb
HKR, Parameters\PnpInterface, 5, %REG_TYPE_DWORD%, 0x00000001
HKR, Parameters, BusType, %REG_TYPE_DWORD%, 0x0000000b
; Tell Storport in Win7/Srv08R2(KB982018) that driver can report 4K sector size (not needed in Win8)
HKR, Parameters\Device, EnableQueryAccessAlignment, %REG_TYPE_DWORD%, 0x00000001
;; Opt into StorPort’s I/O latency cap.
HKR, "Parameters", "IoLatencyCap", %REG_TYPE_DWORD%, 0x000001F4
;
[Strings]
;
; Localizable Strings
;
diskId1 = "RST AHCI Installation Disk"
;client
iaStorA.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_9D03&CC_0106.DeviceDesc = "Intel(R) 6th Generation Core Processor Family Platform I/O SATA AHCI Controller"
PCI\VEN_8086&DEV_A102&CC_0106.DeviceDesc = "Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller"
PCI\VEN_8086&DEV_A103&CC_0106.DeviceDesc = "Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller"
PCI\VEN_8086&DEV_A282&CC_0106.DeviceDesc = "Intel(R) 200 Series Chipset Family SATA AHCI Controller"
PCI\VEN_8086&DEV_22A3&CC_0106.DeviceDesc = "Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller"
;
INTEL = "Intel Corporation"
;
; Non-Localizable Strings
;
SPSVCINST_ASSOCSERVICE = 0x00000002
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_TYPE_DWORD = 0x00010001
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_ERROR_NORMAL = 1
;
; MSI enables.
;
[msi_addreg]
HKR, Interrupt Management, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_TYPE_DWORD%, 1
HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_TYPE_DWORD%, 80
HKR, Interrupt Management\Affinity Policy, 0x00000010
HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_TYPE_DWORD%, 5 ;IrqPolicySpreadMessagesAcrossAllProcessors
;
[storport_addreg]
;;; Enables/Disables Idle Power Management for StorPort
HKR, StorPort, EnableIdlePowerManagement, %REG_TYPE_DWORD%, 0x00000001
;;; Force StorPort to keep all sense data in Pre-Win8 OSes (max value is 255)
HKR, StorPort, TotalSenseDataBytes, %REG_TYPE_DWORD%, 0x000000FF



Please note that this is work in progress. If I find the time, I will mod the RST-Software also (but no promises).
If you have any suggestions, please do so.

Regards,
just_passing_through

f6flpy-x64_v15.2.0.1020_modded.zip (436 KB)


Edit by Fernando: Thread moved into the “Windows XP” Category and title customized

@just_passing_throughj:
Welcome at Win-RAID Forum and thanks for your report!

Have you already done a look into >this< thread? Within post #4 I have already offered in May 2016 such mod+signed 64bit Intel RST AHCI driver v13.2.4.1000, whose INF file contains the requested DeviceID DEV_22A3 for the Intel BayTrail Chipset SATA AHCI Controller.
Furthermore all my mod+signed Intel RST drivers, which I am offering >here< and belong to the platforms v14 and v15, contain the related DeviceID. The related Intel RST Software is there available as well.
So there is no need to modify anything yourself.

Regards
Dieter (alias Fernando)

- Hello, if I remember correctly, I probably uploaded a post here about Windows XP error 0x7B/0xED, and Fernando ended it without a solution.

- But luckily, I found the cause of the 0xED (UNMOUNTABLE_BOOT_VOLUME) error: it was due to the Hybrid MBR partition. I don’t fully understand the reason, but I suspect my firmware might be mishandling the Hybrid MBR. Since then, I converted my hard drive from Basic GPT to Basic MBR, and thankfully, Windows XP txtsetup no longer has those silly BSODs.

- After finding a solution for the BSOD, I tried Fernando’s AHCI driver (both Generic and Universal versions), but it showed an error like this: (0x4, 0, 0, 0). I also tried adding the Device ID to the 9.6.0.1014 driver based on Fernando’s driver, but that didn’t help either.

- If you remember me, I’d like to clarify that the error wasn’t from the ISO or the driver during the Slipstream process, but rather because the firmware didn’t understand Hybrid MBR, and this was resolved by converting the hard drive to Basic MBR.

- If you’ve ever helped someone or can assist me with the error (0x4, 0, 0, 0), please do. Windows XP is great, thanks in advance, Fernando!

Some preliminary information:

- ISO: Windows XP 64-bit SP2 VOL

- AHCI HardwareIDs: PCI\VEN_8086&DEV_22A3&CC_0106

@HPinES_Tech
As you may have already realized, I have merged your freshly created thread with this already existing one and moved it into the “Windows XP” Category.
I have never heard about an error (0x4, 0, 0, 0) and I doubt, that it has anything to do with your tested Intel AHCI driver.
For further instructions please have a look into >this< meanwhile outdated Guide.

An alternative may be to install the OS in “IDE” mode after having changed the related BIOS setting for the on-board Intel SATA Controller. Once the OS is running fine in IDE mode, you can try the following:

  1. Download >this< generic Intel AHCI driver and import the related Win-RAID CA Certificate.
  2. Run the Device Manager, expand the “IDE ATA/ATAPI Controllers” section and “update” the driver of the listed SATA IDE Controller by choosing the previously downloaded and inzipped “Generic 64bit Intel RST AHCI driver v11.2.0.1006 mod+signed by Fernando”. You have to force the installation by using the “Have Disk” option and to disregard the warning you will get (the driver is currently “wrong” and not usable by the Device Manager).
  3. After having executed the driver “update” you can reboot the PC, but have to enter instantly the BIOS and to set the Intel SATA mode to “AHCI”.
  4. If you are lucky, your BayTrail chipset system will run in AHCI mode after having saved the BIOS setting change and rebooted.

Good luck!

You may not have heard of the error (0x4, 0, 0, 0), but here’s a specific example for you to look at.

Unfortunately, my device does not support switching to IDE mode due to the difficulties of the Insydeh20 BIOS and the HP computer manufacturer; the device can only run in SATA AHCI mode and there are no IDE-related options.

I don’t believe, that this error message has been caused by the Intel AHCI driver. It more likely indicates an ACPI problem (not matching acpi.sys file).

This is what I found via AI about the error message:

Is it a hardware issue?

My hardware is as follows:

- GPU: Intel HD Graphics 405

- Hard Disk: SATA SSD

Or is the problem related to ACPI, like error 0xA5? Is there a solution?

It still works on newer versions of Windows!

@HPinES_Tech
The fact, that everything works fine with a newer Windows OS, is the proof, that it is not a hardware, but a software issue.
Windows XP has no knowledge about modern PC/laptop systems and how to handle them.

@Fernando

Does that mean Windows XP is not compatible with my hardware because it’s “too new”?

Windows XP is too old for your not really brandnew PC/laptop.
The support of your on-board AHCI Controller is not the only problem.

The good news is that I tried XP x86 with Standard PC mode (F7) and it seems to work as expected!