tylerszabo / RGB-Fusion-Tool

A command line tool for calling Gigabyte's RGB Fusion SDK
GNU General Public License v3.0
184 stars 21 forks source link

"Open driver handle failure" crash on Z370 Aorus Gaming 5 #8

Open tylerszabo opened 6 years ago

tylerszabo commented 6 years ago

The following popup is shown: RGBFusionTool.exe : Open driver handle failure!! in MapMem_Phys_to_Linear

And the tool outputs the following exception:

Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at GLedApiDotNet.Raw.GLedAPIv1_0_0Impl.dllexp_InitAPI()
   at GLedApiDotNet.Raw.GLedAPIv1_0_0Impl.InitAPI()
   at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.Initialize()
   at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
   at GLedApiDotNet.RGBFusionMotherboard..ctor()
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at System.Lazy`1.get_Value()
   at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting)
   at RGBFusionTool.Application.Main(String[] args)

(via Reddit)

zybeon commented 5 years ago

I have this almost identical error using a Z390 Pro WiFi motherboard.

rgbfusion error

tylerszabo commented 5 years ago

I fiddled with this and finally got somewhere: it looks like if you never run it as an Administrator it can't install gdrv.sys and you'll get this error. It seems that ycc.dll installs gdrv.sys if it's not present.

zybeon commented 5 years ago

I was running the commands in an elevated powershell terminal. I'm not sure I follow what I could do to correct the issue.

tylerszabo commented 5 years ago

Darn, in that case I think you're doing all you can. You could try a support ticket with Gigabyte per the other thread in the meantime.

zybeon commented 5 years ago

So after a few more restarts, I no longer get any errors but it doesn't seem to do anything. When running commands it outputs nothing. Only help results in any output.

Guess it is back to the SDK not supporting the new boards.

Edit: I also contacted support but don't expect much.

ericnewton76 commented 5 years ago

I’m running into this. Where/what is that gdrv.sys you mentioned above?

Also have you noticed GLedApi doesn’t work at all when under 64bit process? I’m also testing a bit.

Btw, i just noticed that RGBfusion install has a Gigabyte.NativeFunctions.dll which does some extern pinvokes into ycc.dll as well.

tylerszabo commented 5 years ago

@ericnewton76 gdrv.sys would live in C:\Windows\gdrv.sys; though if it's not maybe don't rush get it going until they've patched issues like CVE-2018-19320.

I'd say native 64-bit support would be a separate issue (I'm not sure how far I could get since Gigabyte's DLLs are 32-bit, though).

They seem to be all over the place in the RGB Fusion packages they ship; I'm really hoping I can get them to star publishing interface docs so we can wrap it with a unified API.

efraindelarocha commented 1 year ago

just got a z390 mobo im running corsairs watercooler that comes with icue and does take over the rgb lighting. i have no idea 3d osd even is because it will not start due to the corsair h150 water cooler software. rgb fusion works fine though. not sure whats going on but i have the same errors. its 2023 though.