verifying rhproxy ?

Hi Team,

four contradictions on rhproxy.

Statement on this forums

“The Resource Hub Proxy driver service is a kernel mode driver. It exists in windows 10 only(Home,Pro, Education, or Enterprise) 1709 and later”

check 1: - device manager - > system devices → **NO **rhproxy device

check 2: - in regedit.msc, there is **No **RHPROXY

check 3: - in C:\windows\System32\drivers, i see rhproxy.sys [yes]

check 4: - reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\rhproxy [yes]

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\rhproxy
ImagePath REG_EXPAND_SZ \SystemRoot\System32\drivers\rhproxy.sys
Type REG_DWORD 0x1
Start REG_DWORD 0x3
ErrorControl REG_DWORD 0x1
Group REG_SZ Extended Base
Tag REG_DWORD 0x12
DisplayName REG_SZ @rhproxy.inf,%rhproxy.SVCDESC%;Resource Hub proxy driver
Owners REG_MULTI_SZ rhproxy.inf
so on 2 checks, i see rhproxy support **yes **and another 2 checks, i rhproxy no

Can you please confirm that the following

windows 10 desktop 1909 onwards, the rhproxy support exists for all three editions [home, professional and education]?

also, which is the right way of checking the rhproxy support ?

Thanks

Why do you think you need to determine if “RHPROXY” is present? What are you trying to accomplish?

Peter

This already has been answered in the WDK forum.
The driver may be installed but not active if there’s no matching hardware for it. So “check 1” is enough.

– pa

Hi Pavel,
So you are saying.

If there is a i2c device, Automatically, windows will make resource hub proxy active in device manager?

Thanks

You know… I really hate to repeat myself.

Why do you think you need to determine if “RHPROXY” is present? What are you trying to accomplish?

Peter

HI Peter,
I was responding to Pavel’s question. Thanks for asking. I missed your question,

let me detail, plz see if it makes sense out.

Hardware Target: -
i will have my laptop modified for an i2c slave device → a voltage sensor.

Software Target: -
use SPBCx Apis [with rhproxy enabled] to communicate with voltage sensor from User space application [i am developing GUI application to do that]

[2] According to your OSR article, client application need to use SPBCx API’s [provided Resource Hub is enabled].
[3] I have 2 windows laptops [Windows desktop OS 1909] and i see Resource Hub Proxy is NOT present in
device manager - > system devices → **NO **rhproxy device
[4]
========one of my windows forum post got this response===============
“The rhproxy driver is installed available, but unless you have an SoC systems with SPI, I2C and GPIO resources, the driver won’t be loaded”.

Conclusion: - This post says just modify hardware and rhproxy should be loaded.
[5]========another post got this response==========================
“The ACPI SSDT tables have to list MSFT8000 and have all the IO declared in it. The following guidelines are what are to be followed to setup the table: https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/enable-usermode-access”.
above needs to be done to see “device manager - > system devices → rhproxy device”

conclusion: - this post say i need to modify ACPI table [MSFT8000 ] to see rhproxy in Device Manager.
[6] step 4 and 5 are contradicting [unless i never understood both more clearly/in-detail]?

[7] So, my follow up post to Pavel’s response is confirmation of step 4.

[8] plz let me know which one is correct and what are right steps to do

Thanks

You know, you could just TRY this. Just modify the DSDT to define your I2C device, and specify a compatible ID of MSFT8000. The result should be your device is enumerated and RHPROXY is loaded to support it.

Wouldn’t that be a lot easier than spending a month posting questions on two separate forums and getting people’s guesses as to what the answers are?

What you haven’t told us is if you want to do this as a “one off” thing, or if you’re trying to create some sort of PRODUCT. If it’s one-off… fine. If it’s a product, you’re going to need to have control of the ACPI BIOS to have the device added.

There’s documentation on this topic, though I’ll be the first to add the docs seem to be at least a bit misleading. They say RHPROY is on IOT and Enterprise SKUs… but that’s certainly an odd combination, and if you look on your “ordinary” Windows Pro system you will indeed find “RHPROXY.SYS” in \Windows\System32\Drivers" – It’s on my system, in any case.

Peter

Hi Peter,
Thanks for reply.

" Wouldn’t that be a lot easier than spending a month posting questions on two separate forums and getting people’s guesses as to what the answers are? ".
I thought MSFT or OSR [Your OSR article on SPBCx] people are experts and NOT giving guesses. plz let me know, if its otherwise.

if you look at MSFT forums, they rhproxy support is available on windows desktop os 1709 onwards. but on the link, does say only about enterprise.

regarding rhproxy.sys, that does not establish rhproxy enabled

its one-off experiment [a home leisure experiment].

The point is, by just doing it, you would have had an answer in a few hours. It’s been 4 weeks since you first asked the question.

One other point is that your question is misleading. You don’t really care whether rhproxy.sys is loaded or not. That’s an implementation detail. What you care about, I assume, is whether you can gain access to your I2C device.

@vlsireddy Just try it. Modify the DSDT, use the correct CID, and post back here after you’ve done it to thank us and tell us that it works.

Peter