we3fan Posted February 23, 2022 Posted February 23, 2022 Hi guys, I want to enable AHCI mode on my laptop, and see if that improves my SSD speed. My specs: CPU: Motherboard > Southbridge: Intel 82801GHM (ICH7-M/U) : Device Manager > SATA Controller: SATA Controller > Hardware Ids: PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02 : AS SSD Benchmark 1.8: I know this could be tricky to pull off, so I made a Backup in case of BSOD. I don't know if my Motherboard supports AHCI mode, I hope it does. Because I don't have AHCI switch in BIOS I guess I have to make the switch by changing few things in Registry. Which AHCI driver do you suggest I try? And what changes I need to make in Registry to enable AHCI mode? Thanks for your time.
Dave-H Posted February 25, 2022 Posted February 25, 2022 I don't think you can do that just in the registry, you need an AHCI driver for the SATA controller apart from anything else! If there is no option to enable AHCI in the BIOS, it could well be that it's not fundamentally capable of supporting it. There may be an updated version of the BIOS which does of course, if the hardware is capable. 2
UCyborg Posted February 25, 2022 Posted February 25, 2022 AHCI driver becomes relevant when SATA controller is actually operating in AHCI mode. Searching around gives hints that the chipset may indeed be capable of supporting AHCI mode. If official BIOS doesn't have the option, maaaybe it could be done with BIOS modding, but that's way beyond my expertise, just a speculation. 2
we3fan Posted February 26, 2022 Author Posted February 26, 2022 (edited) Thanks guys. Yes, I need to find and install AHCI driver that will copy msahci.sys (or other similar name) in C:\WINDOWS\system32\drivers . And then disable IDE mode and enable AHCI mode from Registry. My other HP Win 7 laptop from 2008 also doesn't have an option to enable AHCI in the BIOS but it operates in AHCI mode [SATA-2 (300) mode] and the SSD speed is double compared to my Win XP ASUS laptop which now operates in SATA-1 (150) mode, so I guess if there is no option to enable AHCI in the BIOS doesn't necessarily mean that it can't support AHCI mode. But this XP ASUS laptop is from 2006 and it's 2 years older than my HP Win 7 laptop so it's very much possible that the Motherboard doesn't support AHCI mode. AS SSD Benchmark 1.8 shows: XP ASUS laptop: pciide - BAD . And there is no ahci.sys or msahci.sys in C:\WINDOWS\system32\drivers . HP Win 7 laptop: msahci - OK . And there is msahci.sys present in C:\WINDOWS\System32\drivers . So I guess I need to find some Universal AHCI driver for XP, any suggestions? And if the driver is bad and I get a BSOD it's no problem because I have a working Backup. Edited February 26, 2022 by we3fan
jaclaz Posted February 26, 2022 Posted February 26, 2022 (edited) The controller 27C4 in IDE mode becomes 27C5 in SATA/AHCI. AFAIK (frankly not a lot on this specific matter) the BIOS setting is simply a switch between 27C4 and 27C5 id, then the driver (either the plain IDE/ATA or the SATA/AHCI) is installed and started depending on this PCI ID. There is some Linux trickery (via GRUB) possible, but no idea if the PCI settings change "sticks" also in windows, nor if it actually works on your specific BIOS: https://dreamlayers.blogspot.com/2016/11/switching-from-ide-to-ahci-on-ich7-m.html I don't think that there is any other way than the above or a BIOS mod, this latter probably non-existing and in any case seriously dangerous/risky. You can of course try UNIATA, but no idea if it will give you any advantage: http://alter.org.ua/soft/win/uni_ata/ jaclaz Edited February 26, 2022 by jaclaz 1
Dave-H Posted February 26, 2022 Posted February 26, 2022 You're certainly right in saying that just because there's no AHCI switch in the BIOS doesn't mean that it isn't supported. My BIOS doesn't have a switch either. My driver is using atapi.sys. Whether my driver will work for you I cannot say of course, but here it is if you want to try it. Intel SATA AHCI Rapid Storage 10.1.0.1008.exe 1
Damnation Posted February 26, 2022 Posted February 26, 2022 @we3fan What laptop model do you have? there might be an updated BIOS that enables AHCI/IDE switching. 1
we3fan Posted February 27, 2022 Author Posted February 27, 2022 Thanks jaclaz, your info seems promising. I will try to understand how this trick with Linux works. I will also try the UNIATA drivers. Dave, yes I see it's the same case with you as with my HP Win 7 - no AHCI switch in BIOS but AHCI is supported, so we have established that theory to be correct. Thanks :), I will also try your driver. Damnation, my laptop model is Asus S96J . Yes, it's possible that latest BIOS update enables AHCI/IDE switching, but we don't know for sure, I wonder if there is a way to find out if that is really the case. Search for "PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02" in my Registry returns 50 results: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA 18 results HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA 14 results HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA 18 results Pics from CurrentControlSet: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA\Control : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_27C4&SUBSYS_13471043&REV_02\3&11583659&0&FA\LogConf : Is it possible to make the PCI ID switch from 27C4 to 27C5 directly here in the Registry by modifying some values?
Dave-H Posted February 27, 2022 Posted February 27, 2022 AFAIK the device IDs come from the devices themselves, and cannot be changed. I'll be interested to hear if my driver works for you. It's a long shot, but you never know! You can add your device IDs to the INF file(s) of the driver, which may (or may not) get it to work with devices it wasn't actually intended for. 1
Damnation Posted February 27, 2022 Posted February 27, 2022 @we3fan I'm certain that installing an AHCI driver whilst your controller is still in IDE mode will either do nothing at best, brick your install at worst. Installing the driver will not magically switch your IDE controller into AHCI mode - that's done in BIOS. Unfortunately, since it seems your laptop model never got an AHCI option update for your BIOS, You're going to need to get into BIOS modding if you want that controller to go into AHCI mode. 1
we3fan Posted March 3, 2022 Author Posted March 3, 2022 Thanks Damnation, having no experience with AHCI mode and AHCI drivers I hoped that something can be done in the Registry, but I guess it won't be easy, or possible at all. Dave, thanks for letting me try your driver :), here are the results from my tests: - I can't install it with the normal Setup Wizard, it says: "This computer does not meet the minimum requirements for installing the software." Setup Wizard starts OK on my Win 7 HP laptop (NET 4.0, C++: 2005-2017) I installed SP3 + NET: 3.5-4.0 + C++: 2005-2017 - but normal Setup Wizard still doesn't work hmm. It probably won't make any difference but I was curious why the normal Setup Wizard gives this error message. - Extract files, manual install > data1 > iaAHCI.inf > I selected ICH7M/MDH > gives Warning: "Installing this device driver is not recommended because Windows cannot verify that it is compatible with your hardware" > I install it anyway - copies iaStor.sys file in drivers, AS SSD Benchmark 1.8 shows: iaStor - OK, BSOD on Restart, not good. - Extract files, manual install > data1 > iaStor.inf > I selected ICH7M/MDH > same Warning and I install anyway - copies iaStor.sys file in drivers, AS SSD Benchmark 1.8 shows: iaStor - OK, BSOD on Restart, not good. I can try to add my device IDs to the iaAHCI.inf file, what would be the proper way to do it? Default iaAHCI.inf file: ; Copyright (c) 2003-10 Intel Corporation ; **************************************************************************** ; **************************************************************************** ; ** Filename: iaAHCI.INF ; ** Revision: Version 10.1.0.1008 ; ** Date: 11/6/2010 ; ** Abstract: Windows* INF File for Intel(R) Rapid Storage Technology Driver ; **************************************************************************** ; **************************************************************************** [version] CatalogFile=iaAHCI.cat Signature="$WINDOWS NT$" Class=hdc ClassGUID={4D36E96A-E325-11CE-BFC1-08002BE10318} Provider=%INTEL% DriverVer=11/06/2010,10.1.0.1008 [SourceDisksNames] 1 = %DiskName%,,, [SourceDisksFiles] iaStor.sys= 1 [DestinationDirs] DefaultDestDir = 12 ; DIRID_DRIVERS CopyFullPort = 12; [CopyFullPort] iaStor.sys [ControlFlags] ExcludeFromSelect=* [Manufacturer] %INTEL%=INTEL_HDC,ntx86 [INTEL_HDC] [INTEL_HDC.ntx86] %PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2681&CC_0106 %PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C1&CC_0106 %PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C5&CC_0106 %PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2821&CC_0106 %PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2829&CC_0106 %PCI\VEN_8086&DEV_2922&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2922&CC_0106 %PCI\VEN_8086&DEV_2929&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2929&CC_0106 %PCI\VEN_8086&DEV_3A02&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_3A02&CC_0106 %PCI\VEN_8086&DEV_3A22&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_3A22&CC_0106 %PCI\VEN_8086&DEV_3B29&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_3B29&CC_0106 %PCI\VEN_8086&DEV_3B2F&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_3B2F&CC_0106 %PCI\VEN_8086&DEV_3B22&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_3B22&CC_0106 %PCI\VEN_8086&DEV_1C02&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_1C02&CC_0106 %PCI\VEN_8086&DEV_1C03&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_1C03&CC_0106 ;**************************************************** [iaStor_Install] AddReg = iaStor_Temp_parameters_AddReg CopyFiles=CopyFullPort FeatureScore=0x80 [iaStor_Install.HW] AddReg = iaStorSecurity.AddReg [iaStorSecurity.AddReg] HKR,,Security,,"D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;;;;BU)" [iaStor_Temp_parameters_AddReg] [iaStor_Install.Services] AddService = iaStor, %SPSVCINST_ASSOCSERVICE%, iaStor_Service_Inst, iaStor_EventLog_Inst [iaStor_Service_Inst] DisplayName = %*PNP0600.DeviceDesc% ServiceType = %SERVICE_KERNEL_DRIVER% StartType = %SERVICE_BOOT_START% ErrorControl = %SERVICE_ERROR_NORMAL% ServiceBinary = %12%\iaStor.sys LoadOrderGroup = SCSI Miniport AddReg = iaStor_parameters_AddReg [iaStor_parameters_AddReg] HKR,,Tag,%REG_DWORD%,25 HKR,Parameters,BusType,0x00010001,0x0000003 [iaStor_EventLog_Inst] AddReg = iaStor_EventLog_AddReg [iaStor_EventLog_AddReg] HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\iaStor.sys" HKR,,TypesSupported,%REG_DWORD%,7 ;******************************************************** [Strings] ;Localizable DiskName = "Intel Rapid Storage Technology Driver" *PNP0600.DeviceDesc = "Intel AHCI Controller" PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc = "Intel(R) ESB2 SATA AHCI Controller" PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc = "Intel(R) ICH7R/DH SATA AHCI Controller" PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc = "Intel(R) ICH7M/MDH SATA AHCI Controller" PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc = "Intel(R) ICH8R/DH/DO SATA AHCI Controller" PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc = "Intel(R) ICH8M-E/M SATA AHCI Controller" PCI\VEN_8086&DEV_2922&CC_0106.DeviceDesc = "Intel(R) ICH9R/DO/DH SATA AHCI Controller" PCI\VEN_8086&DEV_2929&CC_0106.DeviceDesc = "Intel(R) ICH9M-E/M SATA AHCI Controller" PCI\VEN_8086&DEV_3A02&CC_0106.DeviceDesc = "Intel(R) ICH10D/DO SATA AHCI Controller" PCI\VEN_8086&DEV_3A22&CC_0106.DeviceDesc = "Intel(R) ICH10R SATA AHCI Controller" PCI\VEN_8086&DEV_3B29&CC_0106.DeviceDesc = "Intel(R) 5 Series 4 Port SATA AHCI Controller" PCI\VEN_8086&DEV_3B2F&CC_0106.DeviceDesc = "Intel(R) 5 Series 6 Port SATA AHCI Controller" PCI\VEN_8086&DEV_3B22&CC_0106.DeviceDesc = "Intel(R) 5 Series/3400 Series SATA AHCI Controller" PCI\VEN_8086&DEV_1C02&CC_0106.DeviceDesc = "Intel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller" PCI\VEN_8086&DEV_1C03&CC_0106.DeviceDesc = "Intel(R) Mobile Express Chipset SATA AHCI Controller" INTEL="Intel" ;******************************************* ;Non-Localizable SPSVCINST_ASSOCSERVICE = 0x00000002 SERVICE_KERNEL_DRIVER = 1 SERVICE_BOOT_START = 0 SERVICE_ERROR_NORMAL = 1 REG_EXPAND_SZ = 0x00020000 REG_DWORD = 0x00010001
jaclaz Posted March 3, 2022 Posted March 3, 2022 Quote %PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C5&CC_0106 Quote PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc = "Intel(R) ICH7M/MDH SATA AHCI Controller" You can try adding two 27C4 lines On 2/26/2022 at 2:07 PM, jaclaz said: The controller 27C4 in IDE mode becomes 27C5 in SATA/AHCI. BUT it won't work. See it like this, if it was so easy, why the Linux trick, the BIOS provision (missing in your case) or the suggested need of a specific BIOS mod? jaclaz 2
Dave-H Posted March 3, 2022 Posted March 3, 2022 Yes, I did say it was a long shot! I agree that unless you solve the fundamental problem of your SATA controller not being ACHI compatible, or at least not being in AHCI mode, this will never work. It could be that the hardware just isn't capable of doing what you want it to do. 1
we3fan Posted March 5, 2022 Author Posted March 5, 2022 Thanks jaclaz. I wanted to try few drivers and few Registry changes first, just so I can say: "I tried this thoroughly but it didn't work". I kept the more difficult/risky options for last, because I am not very familiar with them, but I know they could potentially make this work. Having no experience with this, I hoped the switch from IDE to AHCI mode can be done by modifying some values in the Registry. Can you please confirm that this is NOT possible? Dave, thanks again for your driver, I really appreciate it. Unfortunately it didn't work, but it's no problem. Yes, it's very much possible that my 2006 Chipset doesn't support AHCI mode.
jaclaz Posted March 5, 2022 Posted March 5, 2022 2 hours ago, we3fan said: Thanks jaclaz. I wanted to try few drivers and few Registry changes first, just so I can say: "I tried this thoroughly but it didn't work". I kept the more difficult/risky options for last, because I am not very familiar with them, but I know they could potentially make this work. Having no experience with this, I hoped the switch from IDE to AHCI mode can be done by modifying some values in the Registry. Can you please confirm that this is NOT possible? As said, I cannot confirm (nor deny) anything, I am only pointing you at the little I know on the matter, based on what I read here and there. All the evidence I could find point to the conclusion that the "switch" between IDE and AHCI/SATA needs to happen in the BIOS, whether this needs a modified BIOS or can be triggered (I presume only on some BIOSes/chipsets, not on all of them, but the given resource is actually about the specific ICH-7) via direct editing/poke the PCI settings, at least for Linux. Both the above possibilities are rather low-level and complex, which makes me believe that a much simpler, I would dare to say obvious, solutions such as a Registry edit or the modification of a .inf file cannot possibly work. I have NO idea on how a IDE, let alone SATA/AHCI driver actually works, but I presume that loosely at every request from the OS it checks something (the 8-bit MAP—Address Map Register at offset 0x90 in the PCI area of the *whatever* hold these data) and, depending on what it finds there, issues this (or that) slightly different command, and likely the chips themselves additionally check that value/register. This said, I wouldn't exclude that if you look at your PC with enough intensity (evil eye ) you can switch the settings, but I would classify that event as highly improbable . jaclaz 1
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now