dllexp_GetMaxDivision returned 0xFFFFFFFF on B450 DS3H
tmrealive opened this issue · 7 comments
Summary
I use the motherboard RGB head to control additional case fans (12v+green for example), this is works fine for original RGB fusion 2.0, but it was good to use a command line utility instead of a heavyweight program from a Gigabyte.
I tried to use RGBFusionTool.exe, but all commands end with an error.
I also noticed that there is no my board B450M DS3H (RGB Fusion enabled) in the configuration file layout.ini.
Steps and Commands
RGBFusionTool.exe -l
...
Error: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
в GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
в GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
в GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.Activator.CreateInstance(Type type, Boolean nonPublic)
в System.Activator.CreateInstance(Type type)
в System.Lazy1.CreateValue() в System.Lazy
1.LazyInitValue()
в System.Lazy`1.get_Value()
в RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
в RGBFusionTool.Application.Main(String[] args)
Environment
- Windows 10.0.17763.0
- RGB Fusion Tool 0.9.3 (SDK DLLs B18.1004.1)
- Motherboard model B450M DS3H-CF
- BIOS version F4
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
7015114DAEE108681472B156C6F8EF950EDBFC9B14AE0B2126CA3E1A4CDD9BFC GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
Thanks for reporting it; as per usual if you could open a support ticket with Gigabyte they might get around to adding support for your board to the SDK.
Unfortunately, the support responded that this board does not support sdk.
In any case, ITE IT8295FN RGB controller is located on the board and can be controlled by writing directly to the io port registers. For example, for a RWEverething to turn on green is: O 0xA01 0x02 (where 0xA01 is ITE RGB register and 0x02 is 00000RGB)
I'd be interested in learning more about how to write directly; I'd love to give an option for boards Gigabyte isn't supporting. Do you have more information about the IT8295FN ABI?
I tried to find any information on this controller without success. All I managed to dig out is three bits in the address that control the three pins on the motherboard (RGB led stripe head).
If you find out any more about what IT8295 expects its registers to look like please tell me. Also how you found out that "Motherboard resources" was pointing at (what I assume is) the control register for that controller?
Same issue on B360 Arous
[Error Info]
Error: System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
在 GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
在 GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
在 GLedApiDotNet.RGBFusionMotherboard..ctor()
--- 内部异常堆栈跟踪的结尾 ---
在 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
在 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
在 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
在 System.Activator.CreateInstance(Type type, Boolean nonPublic)
在 System.Activator.CreateInstance(Type type)
在 System.Lazy1.CreateValue() 在 System.Lazy
1.LazyInitValue()
在 System.Lazy`1.get_Value()
在 RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
在 RGBFusionTool.Application.Main(String[] args)
I have the same issue on a H270. By what I've seen, it is also not supported.
Environment:
Windows 10 Pro 2004 (19041.572)
MOBO: H270 Gaming 3 (Bios version F8)
RGB Fusion Tool 0.9.2
Command:
RGBFusionTool.exe -l
Error:
Error: System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
em GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
em GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
em GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Fim do rastreamento de pilha de exceções internas ---
em System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
em System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
em System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
em System.Activator.CreateInstance(Type type, Boolean nonPublic)
em System.Activator.CreateInstance(Type type)
em System.Lazy1.CreateValue() em System.Lazy
1.LazyInitValue()
em System.Lazy`1.get_Value()
em RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
em RGBFusionTool.Application.Main(String[] args)