NZXT Kraken & HWiNFO - NZXT CAM finally defeated!

cun83

Member
Thanks to the hints in this old thread, I was able to sling a bit of code to finally beat NZXT CAM, and make

NZXT CAM work reliably with HWiNFO!

Can anyone confirm this is working on your system?

If there is still interest in this I will clean up the code and publish this in a more clean manner.

Download: attached to this thread :)
UPDATE: Download from here: https://github.com/cun83/NZXT-Kraken-Sensor-Unlocker/releases/
The version attached to the thread is obsolete.

Dependencies:
  • Needs dotnet runtime >= 6
Usage:
  1. Exit NZXT CAM if it is already running
  2. Run NZXT-Kraken-Sensor-Unlocker.exe from my download.
    • Use the "-k" parameter to specify your Kraken (user either "X" or "Z")
  3. Run NZXT CAM
  4. Exit my program after NZXT CAM is started completely
  5. Run HWiNFO / restart HWiNFO

Take a look at the available command line parameters for more advanced usage (use the --help flag).

Expected result:
NZXT Kraken data will be shown and continually refreshed in it's own category in the HWiNFO sensor window, while NZXT CAM is working as usual.

Supported devices:
  • NZXT Kraken Z (Z53, Z63 and Z73)
    • Z63 was tested by myself as working. I'm sure all these Z models will work as they share the same USB product id.
  • NZXT Kraken X (X53, X63 and Z73)
    • will probably all work. I got the USB product id from the fine folks' git over at liquidctl.


P.S.: That all this is even needed is 100% NZXT's fault, not HWiNFO's. Keep pestering NZXT on all their support channels to fix shared access to the Kraken sensors! :)
Turns out that it not completly true.
 

Attachments

  • NZXT-Kraken-Sensor-Unlocker-by-cun83.zip
    410.3 KB · Views: 4
Last edited:

Martin

HWiNFO Author
Staff member
Thanks for your application. Can you please tell us a bit more what exactly it does, how does it defeat the exclusive access enforced by CAM?
 

cun83

Member
Thanks for your application. Can you please tell us a bit more what exactly it does, how does it defeat the exclusive access enforced by CAM?
Ofc! It connects to the USBHID device of the Kraken, and keeps the connection until my program exits. I have no idea about the details of the connection, I just used an oss dotnet library (Device.Net & Hid.Net), and their sample code infact :D, to connect to the device with the Kraken's vendor/product ids. Theres a bunch of debug output from this connection if you're interested.

IMO, this confirms the speculations in the linked thread from you and others: As long as any other program has a connection to the device, CAM cannot get exclusive access, and falls back to shared access. Or maybe falls back to access on demand like HWiNFO, instead of continous access?

Edit: Clarification about access on demand.
 

cun83

Member
Some more observations:
  • HWiNFO does not care if my program is running, sensors are being read
  • Using the same library to connect to the USB device, instead of the HID devices, makes CAM Report an error when showing the main window
 

Martin

HWiNFO Author
Staff member
Thanks for the clarification. I believe the situation depends on who comes first.
When CAM is started it attempts to open the USB cooler device in exclusive mode and if that fails, it tries again in shared mode.
So if CAM is started first, no one else can access the device. But if anyone else (your app or HWiNFO) is started first, it will force CAM to satisfy itself with a shared access and multiple applications can work then.
 

cun83

Member
I did some more digging.

It seems CAM is not completely at fault here. I am able to reliably read the liquid temp, while HWiNFO does not read the Kraken sensor at all.
This is using exactly the same code used to prevent CAM from blocking HWiNFO, except for the data reading loop.

In the screenshot, the left window shows the data of the 64 bytes read from the USBHID device.
As long as byte[0] == 117, the data is reliable for the liquid temp (32.4C in the screenshot). The values are identical with HWiNFO when it reads data (which it does not in the screenshot), and perfectly matches the rounded value in CAM. I didnt have time yet to dig up the pump/fan RPM data.

The values in the byte array fluctuate wildly when CAM is starting, I suppose because of running some initialization.
Once CAM started, the fluctuations seem to cool down, and byte[0] seems to toggle between 117 and 255. Again, I did not have time to analyze this in any detail.

But still, as long byte[0] == 117, I can reliably read the liquid temps, no matter the order of applications starting, no matter CAM running or not. I just have to skip the readings where byte[0] != 117. This worked great for some short tests with burning the CPU, running cooling at max or min, etc.


1649362386506.png
 
Last edited:

cun83

Member
I am able to read the Kraken data, no matter if CAM is running or not. There still seems to be some race conditions with CAM, but as stated above, as long as byte[0]==117 the data is good.

1649690831342.png

I cleaned up and published the source at github: https://github.com/cun83/NZXT-Kraken-Sensor-Unlocker
Additionally, I added a lot of options for advanced usage scenarios.

NZXT-Kraken-Sensor-Unlocker 0.3.8136.31121
Run HWiNFO and NZXT CAM at the same time! Start this tool BEFORE starting NZXT CAM.
Copyright (C) 2022 cun83

-k, --KrakenDeviceFamily Required. The kraken device you are
using: Either X familiy (X53/X63/X73)
oder Z family (Z53/Z63/Z73). Valid
values: X, Z

-i, --MeasurementRefreshInterval (Default: 1000) Interval to refresh the
automatic measurements, in
milliseconds.Set to 0 to disable
measurements(this will disable output of
raw data as well).

-a, --AutoStartReadingMeasurement (Default: true) Automatically start
reading sensors after startup? Will
prompt for keypress if disabled. This
will interfere with auto close.

-c, --AutoCloseAfterSeconds (Default: 0) Automatically exit after n
seconds. Useful for running this program
via autostart, to exit after a while once
CAM has started in non-greedy-mode. Use 0
to disable autoclose.

-t, --ClearTerminalOnRefresh (Default: true) Clears console output on
every refresh. Useful for measurement/raw
data display. Disable to read debug logs.

-r, --ShowRawDataOutput (Default: false) Print raw data bytes to
console?

-d, --ShowDebugOutput (Default: false) Print HID connection
debug output to console?

--help Display this help screen.

--version Display version information.

@Martin I would really love for HWiNFO to be able to handle the Kraken with NZXT CAM running, without needing my tool. Let me know how I can help with that!
 

Martin

HWiNFO Author
Staff member
HWiNFO already verifies byte[0] validity and should be able to work with CAM if it's started before CAM.
 

cun83

Member
That does not work on my system I'm afraid. I just quadruple checked with several reboots, using latest HWiNFO 7.22-4731 and CAM 4.34.2.

A) Without any additional hacks:
  1. Start HWiNFO
    Result: HWiNFO Kraken sensors are displayed and refreshed.
  2. Start NZXT CAM
    Result: The HWiNFO Kraken sensors get greyed out in the sensor window and stop refreshing half a second after the NZXT CAM splashscren pops up. It does not recover from that.
  3. Quit NZXT CAM
    Result: HWiNFO Kraken sensors are displayed and refreshed again
B) Same steps as above, but with running my tool before step 1 or directly after step 1: HWiNFO shows, and keeps showing, the Kraken data, irregardless von NZXT CAM running or not.


I just found CAMs stdout by chance, and there is a difference:

For case A)
18:40:02.550 > Running migration (key: browser, direction: up)
[...]
2022-04-11 18:40:02.968 +02:00 [INFO] [unnamed-8512] [common\logging\src\lib.rs:69] Logging started for pid 25116 ([email protected]; NZXT [email protected])
2022-04-11 18:40:02.969 +02:00 [WARN] [unnamed-8512] [rust_cam\src\helper.rs:69] Failed spawn process by elevation helper: NotInitialized
2022-04-11 18:40:03.045 +02:00 [WARN] [unnamed-8512] [nzxt-device\src\device\asetek.rs:117] AsetekContext::get_count failed: get device count failed with 255
2022-04-11 18:40:03.157 +02:00 [INFO] [unnamed-8512] [nzxt-device\src\api.rs:241] Init device list:
KrakenZ3: 0#KrakenZ3
18:40:03.562 > Update Splash Text Status: Loading App…
[...]

For case B)
18:50:43.006 > Running migration (key: browser, direction: up)
2022-04-11 18:50:43.365 +02:00 [INFO] [unnamed-20320] [common\logging\src\lib.rs:69] Logging started for pid 9472 ([email protected]; NZXT [email protected])
2022-04-11 18:50:43.365 +02:00 [WARN] [unnamed-20320] [rust_cam\src\helper.rs:69] Failed spawn process by elevation helper: NotInitialized
2022-04-11 18:50:43.428 +02:00 [WARN] [unnamed-20320] [nzxt-device\src\device\asetek.rs:117] AsetekContext::get_count failed: get device count failed with 255
2022-04-11 18:50:43.542 +02:00 [WARN] [unnamed-20320] [nzxt-device\src\device\usb.rs:918] Device 0#KrakenZ3 opened with shared access
2022-04-11 18:50:45.772 +02:00 [INFO] [unnamed-20320] [nzxt-device\src\api.rs:241] Init device list:
KrakenZ3: 0#KrakenZ3
18:50:46.204 > Update Splash Text Status: Loading App…

OR a slightly different variant
18:59:34.454 > Running migration (key: browser, direction: up)
2022-04-11 18:59:34.814 +02:00 [INFO] [unnamed-31656] [common\logging\src\lib.rs:69] Logging started for pid 29184 ([email protected]; NZXT [email protected])
2022-04-11 18:59:34.814 +02:00 [WARN] [unnamed-31656] [rust_cam\src\helper.rs:69] Failed spawn process by elevation helper: NotInitialized
2022-04-11 18:59:34.879 +02:00 [WARN] [unnamed-31656] [nzxt-device\src\device\asetek.rs:117] AsetekContext::get_count failed: get device count failed with 255
2022-04-11 18:59:34.988 +02:00 [WARN] [unnamed-31656] [nzxt-device\src\device\usb.rs:918] Device 0#KrakenZ3 opened with shared access
2022-04-11 18:59:37.230 +02:00 [INFO] [unnamed-31656] [nzxt-device\src\device\usb.rs:1047] Removing current process exclusive write entry for \Device\000000b5
2022-04-11 18:59:37.230 +02:00 [INFO] [unnamed-31656] [nzxt-device\src\device\usb.rs:1047] Removing current process exclusive write entry for \Device\000000b5

2022-04-11 18:59:37.230 +02:00 [INFO] [unnamed-31656] [nzxt-device\src\api.rs:241] Init device list:
KrakenZ3: 0#KrakenZ3


Interestingly, my tool is able to read the sensors no matter case A or B, although for case A it seems to interfere with CAM controlling the RPMs. Changes in the CAM UI take quite a few seconds to apply in this case, instead of beeing applied instantly.
 

cun83

Member
Here is the debug output from the HID library I'm using... maybe that helps anything.

My code gets stuck trying to read data from the Kraken, until some other program, like HWiNFO or CAM is started. I'm probably skipping some initialization I'm supposed to do.
The point where it get's stuck corresponds to after the following lines in the debug log:

"
info: Hid.Net.HidDevice[0]
Initialized
Device Id: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} Label: Vid: 7793 Pid: 12296
Read Buffer Size: 64 Write Buffer Size: 64
Manufacturer: NZXT Inc. Product Name: NZXT KrakenZ Device
"
in the log.

Anyway, I'm way over my head here, Windows OS or device interfacing is way out of my area of expertise.
I would appreciate any pointers how to get this puzzle debugged and solved once and for all.

Happily provided by cun83. Big thanks to HWiNFO's Martin for the amazing HWiNFO!
Preventing NZXT CAM from exclusive access. You can start NZXT CAM and HWiNFO now.
info: Device.Net.DeviceFactory[0]
Getting connected device definitions...
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
About to call SetupDiGetClassDevs for class Guid 4d1e55b2-f16f-11cf-88cb-001111000030. Flags: 18
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_02&col01#9&151df17f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col09#3&10839a5c&0&0008#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_048d&pid_5702&col02#6&b08acd6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0d8c&pid_0005&mi_02#8&2556af38&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_02&col02#9&151df17f&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c336&mi_00#9&8978cdd&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_0cf2&pid_a101&mi_01#8&2fe66b59&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_28de&pid_2300&mi_00#9&1f8ca514&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_02&col03#9&151df17f&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_01&col01#9&eb94c43&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#converteddevice&col02#5&36801e08&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_28de&pid_2102&mi_00#9&36b75e09&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#converteddevice&col03#5&36801e08&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col11#3&10839a5c&0&0010#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col10#3&10839a5c&0&000f#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col12#3&10839a5c&0&0011#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_01&col02#9&eb94c43&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_28de&pid_2300&mi_02#9&2821d670&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0b#3&10839a5c&0&000a#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0c#3&10839a5c&0&000b#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#converteddevice&col01#5&36801e08&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col01#3&10839a5c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_28de&pid_2300&mi_01#9&44a98ae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0d#3&10839a5c&0&000c#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_01&col03#9&eb94c43&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0e#3&10839a5c&0&000d#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0f#3&10839a5c&0&000e#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_28de&pid_2102&mi_00#9&350b02fb&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c336&mi_01&col02#9&31023aa6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_00#9&32908a05&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c336&mi_01&col03#9&31023aa6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c336&mi_01&col04#9&31023aa6&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c539&mi_01&col04#9&eb94c43&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col02#3&10839a5c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col03#3&10839a5c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col04#3&10839a5c&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_187c&pid_1008#7&4d7f411&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col05#3&10839a5c&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_048d&pid_5702&col01#6&b08acd6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col06#3&10839a5c&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_046d&pid_c336&mi_01&col01#9&31023aa6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col0a#3&10839a5c&0&0009#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col07#3&10839a5c&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#intc816&col08#3&10839a5c&0&0007#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: None. Share mode: 3. Creation Disposition: 3
dbug: WindowsHidDeviceFactoryExtensions[0]
Found device
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetManufacturer
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetSerialNumber
warn: Hid.Net.Windows.WindowsHidApiService[0]
Could not get Hid string. Message: Region: GetHidString Caller: GetProduct
dbug: Device.Net.Windows.WindowsDeviceEnumerator[0]
The call to SetupDiEnumDeviceInterfaces returned ERROR_NO_MORE_ITEMS
info: Device.Net.DeviceFactory[0]
Getting device for connected device Device Id: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} Label: Vid: 7793 Pid: 12296
Read Buffer Size: 64 Write Buffer Size: 64
Manufacturer: NZXT Inc. Product Name: NZXT KrakenZ Device
info: Hid.Net.HidDevice[0]
Initializing...
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: GenericRead. Share mode: 3. Creation Disposition: 3
info: Hid.Net.Windows.WindowsHidApiService[0]
Calling CreateFile Area: ApiService for DeviceId: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. Desired Access: GenericWrite, GenericRead. Share mode: 3. Creation Disposition: 3
info: Hid.Net.Windows.WindowsHidHandler[0]
Read file stream opened successfully
info: Hid.Net.Windows.WindowsHidHandler[0]
Write file stream opened successfully
info: Hid.Net.HidDevice[0]
Initialized
Device Id: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} Label: Vid: 7793 Pid: 12296
Read Buffer Size: 64 Write Buffer Size: 64
Manufacturer: NZXT Inc. Product Name: NZXT KrakenZ Device
dbug: Hid.Net.Windows.WindowsHidHandler[0]
Physical Read - Bytes transferred: 64
117, 1, 35, 0, 46, 0, 19, 80, 83, 67, 72, 50, 55, 32, 1, 31, 9, 125, 8, 70, 70, 1, 0, 29, 3, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
dbug: Hid.Net.Windows.WindowsHidHandler[0]
Got the report id 117 from transfer result at index zero
dbug: Hid.Net.Windows.WindowsHidHandler[0]
Removed byte at index zero and shifted the array to the left by one place. Input Length: 64 Output Length: 63
dbug: Hid.Net.Windows.WindowsHidHandler[0]
Returning the report based on the data and the Report Id
dbug: Hid.Net.HidDevice[0]
Shifted data one place to the right and inserted 117 at index zero. Input Length: 63 Output Length: 64
Done, everything is set up! After NZXT CAM has started completely you may exit this program.
Press any key to exit.
info: Hid.Net.HidDevice[0]
Disposing ... DeviceId: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
info: Hid.Net.HidDevice[0]
DeviceBase: Disposing ... DeviceId: \\?\hid#vid_1e71&pid_3008&mi_01#8&2751026a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 

cun83

Member
Several reboots later, I can confirm this beta works! As long as HWiNFO is started first, everything seems fine.
It seems to reliably make CAM start "with shared access", as the log output confirms.

I will use this beta for a bit and report on any issues, should some come up.

Thanks a ton Martin!
 
Top