Jump to content
Corsair Community

Windows 8.1 temporary workaround


Scotty_Two

Recommended Posts

UPDATE: 10/16/2013

 

As Thatualle1970 has pointed out in this post, all of the original workaround below can be ignored (or undone if you've already done it) and be fixed by a few simple registry edits. Follow the directions and you should have Corsair Link working without the "hacky" scripts.

 

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

 

So navigate to this path in Registry Editor: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04

 

You should find one or possibly more folders of random numbers, letters, and ampersands. Under each of these folders will be a "Device Parameters" folder which has the following four important strings:

  • AllowIdleIrpInD3 = 1
  • DeviceSelectiveSuspended = 1
  • EnhancedPowerManagementEnabled = 1
  • SelectiveSuspendEnabled = 1

 

Change each of these to a value of 0 (zero) and reboot.

 

To revert these changes, just change the values back to 1.

 

I'm updating this post with a new .zip file that includes a .reg file that will update all of the necessary stings in the registry to make it simple.

 


  1.  
  2. Download VID_1B1C&PID_0C04.zip
     
  3. Un-zip the .reg file inside
     
  4. Double-click on it
     
  5. Accept the warning to continue
     
  6. Reboot
     

10/17 - Upon further investigation it seems that the values listed under VID_1B1C&PID_0C04 are different from machine to machine, so the .reg file that I uploaded is worthless. Oh well.

 

Sorry that it's taken so long to update this post with the new info, but life, ya know? Hopefully there weren't too many people who spent much time with the old workaround since Thatualle1970 posted how to make things easier. Big props to him (her?) as well!

 

-----------------------------------------------------------

 

INTRO

 

Alright folks, here we go. This took a bit of time to figure all of this out and more time to write all of this. This is what I've found works for me and hopefully others. I personally have an H80i with an AX860i "piggybacked" through it, but it has been confirmed working with the H100i as well.

 

If you don't care about what the problem is or about the manual workaround, skip to the AUTOMATED WORKAROUND section.

 

 

BACKGROUND

 

It seems that Microsoft updated the USB stacks from from Windows 8, click here to read about it. Of particular interest it me is the second bullet:

Better power management when no driver is installed. The USB driver stack now suspend a USB port that causes the hub to suspend if it's the only device connected to the controller.

This is interesting to me because what I've found is that if the unit is plugged in (whether it be internal header or external port, it doesn't matter) when the machine boots up, Windows will not recognize it. It will also fail to recognize it if you then unplug it and replug it in to the same header or a different external port that's on the same hub as the original port that it was plugged into. BUT if you plug it into a different header, or a different external port that's on a different hub, Windows will recognize it. (NOTE: This is all while the system is still on and running)

 

If you want the unit to be recognized, unplug it from the header or port (or directly on the water block) and start up your computer (or restart) and login, wait for the software to start up, and then plug the unit back in. You should see all of your temps, fans, etc. show up. So how do we make this process easier without needing to open your case constantly? Read on...

 

 

WORKAROUND

 

To have Windows not ignore the header or port hub that the unit is plugged into, we must disable the CorsairLINK HID (Human Interface Device) in Device Manager before the computer shuts down, and then re-enable it when it boots back up (more specifically, after logon).

 

My suggestion is to plug in your unit right now into whichever header that you want to leave it in. It doesn't matter if your unit is recognized or not right now, we're going to restart after a couple steps anyway. After a couple more steps, your unit should be recognized regardless.

 


  1.  
  2. Open up Device Manager and expand the Human Interface Devices section. What we're looking for is a specific USB Input Device, this happens to be mine:
     
    http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/device_manager_zps2e86ad2b.jpg
     
    The specific device ID of the one that we're looking for will start with USB\VID_1B1C so just start going down the list of them, one by one to find it. You can find the device ID by right clicking on one and then selecting Properties, click on the Details tab, select Hardware Ids from the Property drop-down and the ID will be listed below.
     
    http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/properties_zpse385cf2c.jpg
     
    (NOTE: This was my ID with an H80i. I'm not sure if it's different with an H100i or any of the AXi PSUs, but I'm pretty sure that they'll all start with "USB\VID_1B1C...")
     
  3. After you've located the correct USB Input Device, right click on it and click Disable.
     
  4. Reboot your system and log back in.
     
  5. AFTER your CorsairLINK software has started up, go back into Device Manager and re-enable the USB Input Device that we just disabled.
     
  6. Success! You should now see all of your temps, fans, etc register again in the CorsairLINK software!
     

This will need to be done every time that you shutdown or restart your computer, but we can make the process automated with a one-time setup...

 

 

AUTOMATED WORKAROUND

 

I've created a couple of scripts that will run automatically when you log on and log off of Windows. They both use a program called DevCon (read about it here) which is a utility from Microsoft that enables us to do what we just did in the workaround through a command prompt. (NOTE: downloading the package provided on the Microsoft page will not work for us as they do not include an x64 version of it without jumping through some hoops, so I've included it with the scripts)

 

  1. Download the attached 8.1-workaround.zip file and extract the folder into C:\Program Files (x86)\Corsair\Corsair Link. (NOTE: You might want to keep a copy of the .zip file because if you uninstall the CorsairLINK software, the new folder is bound to get deleted. You could also put the extracted folder somewhere else on your computer, it really doesn't matter, I just like to have everything organized.)
     
  2. The logon script:
     

    1. On your desktop, right click This PC and click on Manage.
       
    2. In the left pane, click on Task Scheduler, which is under System Tools under Computer Management (Local)
       
    3. In the very right pane, click on Create Task...
       
      http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/computer_management_zps6353f236.jpg
       
      1. The General tab:
         
        1. The name can be anything you want. To match the name that I gave to the script, I've named mine "CL-logon".
           
        2. Tick the box that says Run with highest privleges.
           
        3. I have the Configure for: dropdown set to Windows 8.1 Preview.
           
          http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/general_tab_zpscba4be12.jpg
           

         

        [*]The Triggers tab:

         


      •  
      • Click on New... on the bottom left.
         
      • The Begin the task: dropdown should be set to At log on.
         
      • I have mine set for any user.
         
      • Under Advanced settings, tick the Delay task for: box and I have my delay set for 15 seconds. THIS WILL PROBABLY VARY! The CorsairLINK Hardware Monitor task needs to have started running before this task executes. 15 seconds was enough time for my computer to load it, but yours might need more or less time.
         
      • Make sure the Enabled box is ticked.
         
      • Click OK.
         
        http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/edit_trigger_zpsa34bfecf.jpg
         

       

      [*]The Actions tab:

       


      •  
      • Click on New... on the bottom left.
         
      • Make sure the Action: dropdown is set to Start a program.
         
      • Click on Browse... to the right of the Program/script: input box.
         
      • Navigate to C:\Program Files (x86)\Corsair\Corsair Link\8.1-workaround or where ever you decided to extract the folder that you just extracted.
         
      • Select the CL-logon script.
         
      • Click OK.
         
        http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/edit_action_zps772d1314.jpg
         

       

      [*]We don't need to change anything in the Conditions or Settings tabs, so just click OK.

       

       

      [*]Close out of Computer Management

       

       

      [*]The logoff script:

       


      •  
      • Right click on the Start button and click on Run.
         
      • Type gpedit.msc in the Open: field and click OK.
         
      • In the left pane, under User Configuration, click on Windows Settings.
         
      • In the right pane, click on Scripts (Logon/Logoff).
         
      • Still in the right pane, click on Logoff.
         
        http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/local_group_policy_editor_zps093a54d2.jpg
         

         
      • In the pop-up box, make sure you're in the Scripts tab and not the PowerShell Scripts tab.
         
      • Click on Add... on the right.
         

         

        [*]Click OK.

         

         

        [*]Close out of Local Group Policy Editor

         

         

        [*]That's it! You should be good to go now to shutdown and restart your computer as needed without having to do anything while retaining CorsairLINK functionality! (NOTE: Everytime that you log on to your computer, after the amount of time that you specified in the logon script step, you'll see a command prompt window pop up VERY briefly and then go away, this is the script running, nothing to worry about.)

         

         

        WRAP-UP

         

        Like the title says, this is a temporary workaround and not a real fix. We need Corsair to come out with an update that addresses the USB changes in Windows 8.1, but until then, this will have to do. Let me know if there are any issues and I'll try to help as best as I can.

        8.1-workaround.zip


     
  3. In the pop-up box, click Browse... on the right.
     
  4. Navigate to C:\Program Files (x86)\Corsair\Corsair Link\8.1-workaround or where ever you put the extracted folder.
     
  5. Select the CL-logoff script.
     
    http://i785.photobucket.com/albums/yy132/Scotty_Two/CorsairLINK/logoff_properties_zps90aef77f.jpg
     
  6. Click OK.
     

 

 
Link to comment
Share on other sites

  • Replies 116
  • Created
  • Last Reply
This is good an all but as soon as i get to the part where i have to open up the local group policy editor, i cant. I looked it up and it says the home edition of windows doesn't support it and i have tried numerous times to run it and it says it can find it.... guess im screwed?
Link to comment
Share on other sites

This is good an all but as soon as i get to the part where i have to open up the local group policy editor, i cant. I looked it up and it says the home edition of windows doesn't support it and i have tried numerous times to run it and it says it can find it.... guess im screwed?

 

what os?

this is for win8

Link to comment
Share on other sites

This is good an all but as soon as i get to the part where i have to open up the local group policy editor, i cant. I looked it up and it says the home edition of windows doesn't support it and i have tried numerous times to run it and it says it can find it.... guess im screwed?

 

Windows 8 does not have a Home Edition. However, the basic version of Windows 8 (not Pro) does not include Group Policy Editor. What you should be able to do is place the logon script in your Startup folder and it should work, the downside to doing it this way is that you might get a pop-up asking if you want to allow Command Prompt to make changes to your computer at each startup. Let me know if it works.

Link to comment
Share on other sites

Scotty,

 

Darn smart Windows. I followed your procedure, however when I disabled the HID and then rebooted, the HID did not reappear, so I cannot re-enable it. When I plug in the Link Commander, now I get a "USB up" beep, followed by recurring "USB down" beeps, and no HID to re-enable.

 

RodeoGeorge

Link to comment
Share on other sites

When I plug in the Link Commander, now I get a "USB up" beep, followed by recurring "USB down" beeps, and no HID to re-enable.

 

Is this what happens when you have the unit unplugged when your machine is off, starting it up, and then plugging the unit in while your machine is on?

 

Also, I'm not sure how this is going to play out with the Link Commander and not direct from the cooler.

Link to comment
Share on other sites

  • 2 weeks later...
Ive just managed to get it to work seems to be ok for now only thing different I did was wait for HDD activity to stop or slow down before logging in and same once I logged in before going into desktop using the automated fix ok looks of the temp fix works but isn't guarantied to work every time.
Link to comment
Share on other sites

Caveat - I am still on regular Windows 8...

 

Not sure if this would work, but there is a setting under Advanced Power Options (Control Panel -> Power Options -> Edit Plan Settings -> Change advanced power settings) for a "USB selective suspend setting".

 

It's not exactly the same thing since it allows for selective suspension of individual USB devices, but since it is related to power savings, perhaps disabling it would also stop the new "missing driver" behavior in 8.1?

 

(Or perhaps there is a new setting there for this new behavior on 8.1?)

Link to comment
Share on other sites

  • 2 weeks later...

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

Link to comment
Share on other sites

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

 

Awesome!!! This fixed everything for me. :)

I no longer have to deactivate/activate the HID to have my H100i showing up in Corsair LINK2.

Link to comment
Share on other sites

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

 

Thanks this worked perfectly for me no more issue if the script don't run at the right time also the latest version of CLink seems more stable and responsive with 8.1.

Link to comment
Share on other sites

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

 

Thank you very much .... :praise:

This works perfectly. Now I can finally use corsairlink since i switch to Win 8.1

 

I installed CorsairLINK 2.4.5065.

Link to comment
Share on other sites

WOW...

 

What an awesome guide... thank you so much, I knew what needed to be changed, but I couldn't remember were in the HKLM USB was located. Now I have rectified this with your guide.

 

:praise: :greengrin: :biggrin:

Link to comment
Share on other sites

Go into the registry and look for HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_1B1C&PID_0C04. For each port/path string you see under this (numbers and ampersands smushed together), open the "Device Parameters" and change the FOUR DWORD settings to 0 (AllowIdleIrpInD3, DeviceSelectiveSuspended, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled). Reboot.

 

Windows 8.1 enables Selective Suspend on HID devices by default now, which is not supported on the current firmware of the H80i and H100i. I can confirm that this bug does not appear to exist with the older H80/H100 and USB Commander. Connectivity still isn't perfect, so I'm hoping that there's going to be a firmware update soon to fix this properly.

 

Thank you very much. Corsairlink (5065) now shows my H100i, the fans and the AX860i with Windows 8.1.

 

:praise:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...