The Corsair User Forums

The Corsair User Forums (https://forum.corsair.com/forums/index.php)
-   Corsair Link (https://forum.corsair.com/forums/forumdisplay.php?f=209)
-   -   Windows 8.1 temporary workaround (https://forum.corsair.com/forums/showthread.php?t=120962)

Scotty_Two 08-03-2013 04:32 PM

Windows 8.1 temporary workaround
 
1 Attachment(s)
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.

Quote:

Originally Posted by Thatualle1970 (Post 676000)
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.

Quote:

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. Download VID_1B1C&PID_0C04.zip
  2. Un-zip the .reg file inside
  3. Double-click on it
  4. Accept the warning to continue
  5. 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!

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

Quote:

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:
Quote:

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. 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/y...ps2e86ad2b.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/y...pse385cf2c.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...")
  2. After you've located the correct USB Input Device, right click on it and click Disable.
  3. Reboot your system and log back in.
  4. AFTER your CorsairLINK software has started up, go back into Device Manager and re-enable the USB Input Device that we just disabled.
  5. 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/y...ps6353f236.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/y...pscba4be12.jpg
      2. The Triggers tab:
        1. Click on New... on the bottom left.
        2. The Begin the task: dropdown should be set to At log on.
        3. I have mine set for any user.
        4. 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.
        5. Make sure the Enabled box is ticked.
        6. Click OK.

          http://i785.photobucket.com/albums/y...psa34bfecf.jpg
      3. The Actions tab:
        1. Click on New... on the bottom left.
        2. Make sure the Action: dropdown is set to Start a program.
        3. Click on Browse... to the right of the Program/script: input box.
        4. 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.
        5. Select the CL-logon script.
        6. Click OK.

          http://i785.photobucket.com/albums/y...ps772d1314.jpg
      4. We don't need to change anything in the Conditions or Settings tabs, so just click OK.
    4. Close out of Computer Management
  3. The logoff script:
    1. Right click on the Start button and click on Run.
    2. Type gpedit.msc in the Open: field and click OK.
    3. In the left pane, under User Configuration, click on Windows Settings.
    4. In the right pane, click on Scripts (Logon/Logoff).
    5. Still in the right pane, click on Logoff.

      http://i785.photobucket.com/albums/y...ps093a54d2.jpg
      1. In the pop-up box, make sure you're in the Scripts tab and not the PowerShell Scripts tab.
      2. Click on Add... on the right.
        1. In the pop-up box, click Browse... on the right.
        2. Navigate to C:\Program Files (x86)\Corsair\Corsair Link\8.1-workaround or where ever you put the extracted folder.
        3. Select the CL-logoff script.

          http://i785.photobucket.com/albums/y...ps90aef77f.jpg
        4. Click OK.
      3. Click OK.
    6. Close out of Local Group Policy Editor
  4. 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.

fpb 08-05-2013 08:00 AM

Thanks for taking the time to explain the workaround
The solution is working!
Thanks!

- Edit -
Got the H100i

Scotty_Two 08-05-2013 09:55 AM

Quote:

Originally Posted by fpb (Post 668475)
Thanks for taking the time to explain the workaround
The solution is working!
Thanks!

- Edit -
Got the H100i

Thanks for the info, I'll update the OP to reflect that it's conformed working for the H100i.

katatoni 08-05-2013 11:59 AM

Thanks for this, I changed back to Win8 from 8.1 as Corsair Link was not working. Might give it another go now, cheers! :)

rfingez 08-12-2013 12:19 PM

Many Thanks for your time and help on this.!!

Zheka 08-15-2013 04:55 PM

Excellent work Scotty_Two.
Fixed my corsair link with H100i.

Thank you.

jonahchavarria 08-17-2013 10:58 PM

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?

wytnyt 08-17-2013 11:06 PM

Quote:

Originally Posted by jonahchavarria (Post 670440)
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

Scotty_Two 08-19-2013 09:58 AM

Quote:

Originally Posted by jonahchavarria (Post 670440)
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.

wa3pnt 08-22-2013 04:09 PM

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

Scotty_Two 08-22-2013 04:31 PM

Quote:

Originally Posted by wa3pnt (Post 671157)
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.

antonyfrn 08-29-2013 11:07 AM

OK I got it to work in the end but found a few issues it seems to conflict now with my sound card having the corsair stuff running effects the volume and seems to cause MPC-HC to resize. But it seemed to have stopped working and displaying temps.

bommie 09-10-2013 01:42 PM

nice bro , nice job , so now corsair DEV , take example , and fix that software !

antonyfrn 09-10-2013 05:30 PM

Ok ive been messing about with the script timing cant seem to get it to work in RTM tied 5sec 10sec 15sec 30sec no joy. Hate having fans stuck on default.

Scotty_Two 09-10-2013 05:37 PM

Quote:

Originally Posted by antonyfrn (Post 673894)
Ok ive been messing about with the script timing cant seem to get it to work in RTM tied 5sec 10sec 15sec 30sec no joy. Hate having fans stuck on default.

Does the manual workaround work?


All times are GMT -4. The time now is 02:52 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.