Rick Staa activity https://gitlab.com/rickstaa 2022-05-25T18:14:41Z tag:gitlab.com,2022-05-25:1907081128 Rick Staa pushed new project branch main at Rick Staa / Test project 2022-05-25T18:14:41Z rickstaa Rick Staa

Rick Staa (43553902) at 25 May 18:14

Initial commit

tag:gitlab.com,2022-05-25:1907081092 Rick Staa created project Rick Staa / Test project 2022-05-25T18:14:40Z rickstaa Rick Staa tag:gitlab.com,2022-03-13:1769450486 Rick Staa commented on issue #1984 at Adam Honse / OpenRGB 2022-03-13T08:46:09Z rickstaa Rick Staa

There is still is one little bug in my setup. OpenRGB now shows 8 ballistics RGB devices where I only installed 4. Control-wise it however doesn't matter since the last 4 are exactly equal to the first 4. This is cased by a small difference in location between the two menu items that are created for the same ram (i.e. /dev/i2c-1 vs /dev/i2c-2). Probably caused by the ram layout, not the OpenRGB program.

image

$ i2cdetect -l
i2c-3	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter
i2c-1	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
i2c-0	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
Open detailed OpenRGB RAM device information

image image image image image image image image

tag:gitlab.com,2022-03-13:1769441587 Rick Staa commented on issue #1984 at Adam Honse / OpenRGB 2022-03-13T08:25:05Z rickstaa Rick Staa

@TheRogueZeta I verified that the problem is solved in the kernel that I build using steps given in #1984 (comment 872699651). As a result, it looks like the patch created by @terry.bowman is working in ubuntu 20.04 under kernel version 5.13. Thanks again for all the effort you put into getting this issue fixed!

tag:gitlab.com,2022-03-12:1769267801 Rick Staa commented on issue #1984 at Adam Honse / OpenRGB 2022-03-12T22:53:31Z rickstaa Rick Staa

For future reference, I was able to apply the patch series on my kernel and install it on Ubuntu 20.04 using the following steps:

  1. Clone the GitHub kernel repository, https://github.com/torvalds/linux.
  2. Check out the version of the kernel you are currently using.
  3. Apply the latest version of the patch that was mentioned by @superm1.
    • This can be done using the b4 python package (i.e. b4 am -o- https://lore.kernel.org/linux-i2c/[email protected]/T/#mde6458f2c96113daccb27ccef0cf8bce2d47fcc7 | git am) or by downloading the mbox.gz file directly and using it in the git am command.
  4. Copy your old kernel config using cp -v /boot/config-$(uname -r) .config.
  5. Run make olddefconfig to keep old config settings while using defaults for the new options.
  6. Add a signing certificate according to https://askubuntu.com/a/1372567/822484.
  7. Build the kernel using make deb-pkg -j $(nproc) command.
  8. Install the kernel using sudo dpkg -i ../linux-headers-*.deb ../linux-image-*.deb.
  9. Update grub using sudo update-grub2.
  10. Reboot into the new kernel through the advanced grub menu.
tag:gitlab.com,2022-03-12:1769256562 Rick Staa commented on issue #2302 at Adam Honse / OpenRGB 2022-03-12T22:20:33Z rickstaa Rick Staa

@TheRogueZeta Thanks a lot for the update. I will check if the new patch fixes the ram detection.

tag:gitlab.com,2022-03-12:1769231596 Rick Staa commented on issue #2302 at Adam Honse / OpenRGB 2022-03-12T21:21:47Z rickstaa Rick Staa

@TheRogueZeta I'm now trying to see if building the kernel from source while applying the patch (i.e. https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1950062)fixes the error.

In the meantime, are you sure I don't also need the patch explained in the README https://gitlab.com/CalcProgrammer1/OpenRGB#smbus-access-1 as I'm on an Asus B550 board? Based on some issues, it already should be merged in the upstream, but the official documentation has not yet been updated.

tag:gitlab.com,2022-03-12:1768998126 Rick Staa commented on issue #2302 at Adam Honse / OpenRGB 2022-03-12T13:36:21Z rickstaa Rick Staa

@TheRogueZeta I tried verifying the fix provided by https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1950062 but I still don't see my RAM sticks in OpenRGB. I installed the fix as follows:

  1. sudo add-apt-repository ppa:vicamo/ppa-1950062.
  2. sudo update.
  3. sudo install linux-oem-5.14-headers-5.14.0-2023 linux-oem-5.14-tools-5.14.0-2023 linux-oem-5.14-tools-host.
  4. sudo apt reboot.
  5. sudo openrgb.

Maybe I need to apply the patch directly on my kernel?

tag:gitlab.com,2022-03-12:1768928984 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T11:23:08Z rickstaa Rick Staa

Let's now set the following colours using the old dragon centre app: #2faced - (47, 172, 237), #dedca7 - (222, 220, 167), #b00b1e - (176, 11, 30), #bad801 - (186, 216, 1), #da7a11 - (218, 122, 17), #bec001 - (190, 192, 1), #5ead13 - (94, 173, 19), #7aff1e - (122, 255, 30), #7AFF1F - (122, 255, 31), #7AFF20 - (122, 255, 32), #7AFF21 - (122, 255, 33), #7AFF22 - (122, 255, 34), #7AFF23 - (122, 255, 35), #7AFF27 - (122, 255, 39), #7AFF29 - (122, 255, 41), #7AFF2A - (122, 255, 42), #7aff28 - (122, 255, 40), #7af51e - (122, 245, 30), #70ff1e - (112, 255, 30):

nvapi_94984.txt

tag:gitlab.com,2022-03-12:1768917785 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T11:01:55Z rickstaa Rick Staa

The full capture of my investigation can be found here:

nvapi_907343_full.txt

tag:gitlab.com,2022-03-12:1768914246 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T10:55:27Z rickstaa Rick Staa

Let's quickly check when the values are changing. Let's start with #7AFF1E again and increase the B value until a change is seen. I will not display the bytes that are not related to the RGB signal:

#7AFF1E - (122, 255, 30)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF1F - (122, 255, 31)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF20 - (122, 255, 32)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x05

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF21 - (122, 255, 33)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x05

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF22 - (122, 255, 34)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x05

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF23 - (122, 255, 35)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x05

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF27 - (122, 255, 39)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x05

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF29 - (122, 255, 41)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7AFF2A - (122, 255, 42)

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

It looks like this device does not support a continuous RGB spectrum, but simply parts of it. This can also be seen from the fact that some colours don't display correctly on the GPU.

tag:gitlab.com,2022-03-12:1768907408 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T10:41:25Z rickstaa Rick Staa

@Dracrius Based on the informatino you gave me I did another capture, but now only from starting up the MSI mystic light program. When doing this it gives the following files:

nvapi_897093.txt

nvapi_907343.txt

These files are created by two processes communicating with the MSI GTX 1070TI on address 0x38:

- **nvapi_897093** is the communication from the `MSI.CentralServer.exe` program. This program is the new https://www.msi.com/Landing/MSI-Center, which contains both the Mystic Light Tool and the System Information tool.
- **nvapi_907343** is the communication from the `LedKeeper2.exe` program. This program is equal to the old [Mystic Light tool](https://www.msi.com/Landing/mystic-light-rgb-gaming-pc/)..

Both processes send the following byte stream when connecting to the GPU. Maybe to establish a connection?:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x04 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x00 Reg: Size: 0x03 Data: 0x00 0xF2 0x46
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x01 Size: 0x01 Data: 0xFF
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x00 Reg: Size: 0x03 Data: 0x00 0xF2 0x4A
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x01 Size: 0x01 Data: 0xFF
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x00 Reg: Size: 0x03 Data: 0x00 0xF0 0x03
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x01 Size: 0x01 Data: 0x25

After that, the MSI center doesn't send any bytes anymore while the Mystic Light Tool sends a byte stream to set the colour that it had in memory (RGB: 122, 255, 30 - #7aff1e) to the GPU:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

When I then send a new color request (i.e. RGB: 176, 11, 39 - #b00b1e) I capture the following byte stream:

==Some initialization==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

===The actual color command==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x17
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x02
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x17
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x02
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

If I then again send the first colour I get (RGB: 122, 255, 30 - #7aff1e):

==Some initialization==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

==Color command similar to the initial command==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00 
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

It's again hard to see where the colours go, but the byte sequence is equal except the first part, which is new. Let's change one value in the colouring (i.e. RGB: 122, 255, 31 - #7aff1f).

==Some initialization==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

==Color command similar to the initial command==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

This gives us the same command, meaning that the colour values are rounded. Lets make a bigger change (i.e. RGB: 122, 255, 40 - #7aff28). This gives us:

==Some initialization==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

==Color command similar to the initial command==
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00 << Reading current color?

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15 << Also set command?
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

=RGB command=
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10 << R (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20 << G (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06 << B (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA << Close or alpha channel which does not exist?
=RGB command=

=SET COMMAND=
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
=SET COMMAND=

=RGB command=
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10 << R (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20 << G (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06 << B (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA << Close Or alpha channel which does not exist?
=RGB command=

In this since we now changed the B value, the following lines are changed:

image

When we change the G value, we get the following change:

image

When we change the R value, we get the following change:

image

It looks like the following commands are used for setting the colour:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10 << R (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20 << G (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06 << B (rounded)
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26

From this we can see that the control goes as follows. First a general connection read command and a connection command are send:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA

After that this read command always retrieves some information from the GPU:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00

Then this set command is always used:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

Then the rounded RGB data is send by modifying this command:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10 << R
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20 << G
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06 << B
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA << Alpha

Followed by another set command:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00

and again the same rounded RGB command:

NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10 << R
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20 << G
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x06 << B
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA << Alpha

I was not able to find how the program converts the rgb values, maybe rounding or using another data format but we now have more information about which bytes are used for setting the RGB.

tag:gitlab.com,2022-03-12:1768864604 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T09:14:00Z rickstaa Rick Staa

I checked the constants in https://github.com/Vipeax/MSI-LED-Tool/blob/master/MSI%20LED%20Tool/Constants.cs, but they are not contained in the capture. Further, the tools seems to be broken.

tag:gitlab.com,2022-03-12:1768844939 Rick Staa commented on issue #2298 at Adam Honse / OpenRGB 2022-03-12T08:34:53Z rickstaa Rick Staa

@Dracrius Thank you so much for looking into my problem. So the missing part we need to find is how the RGB values show up. I will do some more tests to see if I can find them back in the logs. I also found this GitHub project which might help, https://github.com/Vipeax/MSI-LED-Tool.

tag:gitlab.com,2022-03-12:1768836933 Rick Staa commented on issue #2302 at Adam Honse / OpenRGB 2022-03-12T08:16:10Z rickstaa Rick Staa

@TheRogueZeta Thanks a lot for letting me know I overlooked that bug. I added myself as being affected. Hope a fix is merged into the upstream soon.

tag:gitlab.com,2022-03-11:1768317984 Rick Staa opened issue #2302: [Bug Report] Crucial Ballistix RGB 4x8GB C16 3200 MHZ not detected on Linux at Adam Honse / OpenRGB 2022-03-11T19:07:33Z rickstaa Rick Staa

Description of Bug

I can't get my 4x8gb Crucial Ballistix RGB C16 3200 MHz (BL2K8G32C16U4BL) to show up in OpenRGB under Ubuntu 20.04. They show up without any problems on Windows 11. I think this is due to a permission issue or that I first need to patch the kernel.

To solve the permission problem. I tried adding the udev rules and rebooting the OS, but this unfortunately does not work.

I tried to patch the kernel according to OpenRGB-Kernel-Patch, but haven't been able to successfully do so for kernel 5.13 on Ubuntu 20.04. Furthermore, I however was under the impression that the patch has already been released into the upstream as of v5.2.11 (see https://bugzilla.kernel.org/show_bug.cgi?id=204807#c127).

Hardware Configuration

PCPartPicker Part List

Type Item Price
CPU AMD Ryzen 5 5600G 3.9 GHz 6-Core Processor $214.99 @ Newegg
Motherboard Asus ROG STRIX B550-E GAMING ATX AM4 Motherboard $283.92 @ MemoryC
Memory Crucial Ballistix RGB 16 GB (2 x 8 GB) DDR4-3200 CL16 Memory $132.55 @ Amazon
Memory *Crucial Ballistix RGB 16 GB (2 x 8 GB) DDR4-3200 CL16 Memory $132.55 @ Amazon
Video Card NVIDIA GeForce GTX 1070 8 GB Video Card (2-Way SLI) -
Video Card NVIDIA GeForce GTX 1070 8 GB Video Card (2-Way SLI) -
Case Fractal Design Meshify 2 Compact TG Light Tint ATX Mid Tower Case $139.98 @ Newegg
Power Supply Corsair HXi 750 W 80+ Platinum Certified Fully Modular ATX Power Supply $364.00 @ Amazon
Prices include shipping, taxes, rebates, and discounts
Total $1267.99
*Lowest price parts chosen from parametric criteria
Generated by PCPartPicker 2022-03-11 14:01 EST-0500

openrgb output

$ sudo openrgb
Attempting to connect to local OpenRGB server.
Connection attempt failed
Local OpenRGB server unavailable.
Running standalone.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
1E 9F 02 01 00 00
78 3C 00 01 00 00
78 3C 00 00 00 00
00 00 00 00 00 00
00 00 00 09 0B 02
01 F4 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00

lcmod output

$ lsmod | grep i2c
i2c_i801               36864  0
i2c_smbus              20480  1 i2c_i801
i2c_piix4              28672  3

i2cdetect output

$ i2cdetect -l
i2c-3	smbus     	SMBus PIIX4 adapter port 1 at ff20	SMBus adapter
i2c-10	i2c       	NVIDIA i2c adapter 9 at 1:00.0  	I2C adapter
i2c-1	smbus     	SMBus PIIX4 adapter port 0 at ff00	SMBus adapter
i2c-8	i2c       	NVIDIA i2c adapter 7 at 1:00.0  	I2C adapter
i2c-6	i2c       	NVIDIA i2c adapter 4 at 1:00.0  	I2C adapter
i2c-4	i2c       	NVIDIA i2c adapter 1 at 1:00.0  	I2C adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 2 at ff00	SMBus adapter
i2c-0	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-9	i2c       	NVIDIA i2c adapter 8 at 1:00.0  	I2C adapter
i2c-7	i2c       	NVIDIA i2c adapter 6 at 1:00.0  	I2C adapter
i2c-5	i2c       	NVIDIA i2c adapter 2 at 1:00.0  	I2C adapter
System RAM info
$ sudo dmidecode -t 17
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.
# SMBIOS implementations newer than version 3.2.0 are not
# fully supported by this version of dmidecode.

Handle 0x0036, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002F
	Error Information Handle: 0x0035
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: DIMM
	Set: None
	Locator: DIMM_A1
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 3200 MT/s
	Manufacturer: CRUCIAL
	Serial Number: E6491FF2
	Asset Tag: Not Specified
	Part Number: BL8G32C16U4BL.8FE
	Rank: 1
	Configured Memory Speed: 3200 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Unknown
	Module Manufacturer ID: Bank 6, Hex 0x9B
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 8 GB
	Cache Size: None
	Logical Size: None

Handle 0x0039, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002F
	Error Information Handle: 0x0038
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: DIMM
	Set: None
	Locator: DIMM_A2
	Bank Locator: BANK 1
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 3200 MT/s
	Manufacturer: CRUCIAL
	Serial Number: E6491FDA
	Asset Tag: Not Specified
	Part Number: BL8G32C16U4BL.8FE
	Rank: 1
	Configured Memory Speed: 3200 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Unknown
	Module Manufacturer ID: Bank 6, Hex 0x9B
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 8 GB
	Cache Size: None
	Logical Size: None

Handle 0x003C, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002F
	Error Information Handle: 0x003B
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: DIMM
	Set: None
	Locator: DIMM_B1
	Bank Locator: BANK 2
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 3200 MT/s
	Manufacturer: CRUCIAL
	Serial Number: E6491FEE
	Asset Tag: Not Specified
	Part Number: BL8G32C16U4BL.8FE
	Rank: 1
	Configured Memory Speed: 3200 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Unknown
	Module Manufacturer ID: Bank 6, Hex 0x9B
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 8 GB
	Cache Size: None
	Logical Size: None

Handle 0x003F, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002F
	Error Information Handle: 0x003E
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: DIMM
	Set: None
	Locator: DIMM_B2
	Bank Locator: BANK 3
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 3200 MT/s
	Manufacturer: CRUCIAL
	Serial Number: E6491F65
	Asset Tag: Not Specified
	Part Number: BL8G32C16U4BL.8FE
	Rank: 1
	Configured Memory Speed: 3200 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Unknown
	Module Manufacturer ID: Bank 6, Hex 0x9B
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 8 GB
	Cache Size: None
	Logical Size: None
tag:gitlab.com,2022-03-11:1766919990 Rick Staa opened issue #2298: [New Device] MSI GeForce GTX 1070 Ti GAMING 8G at Adam Honse / OpenRGB 2022-03-11T08:52:25Z rickstaa Rick Staa

Name of device:

MSI GeForce GTX 1070 Ti GAMING 8G

https://www.msi.com/Graphics-Card/geforce-gtx-1070-ti-gaming-8g

Please select what type of device/interface the device uses:

DeviceType::GPUNVidia

ID information:

Name                        PNPDeviceID
NVIDIA GeForce GTX 1070 Ti  PCI\VEN_10DE&DEV_1B82&SUBSYS_C3031462&REV_A1\4&7D659FE&0&0009

Please attach screenshots of the device's official control application here:

Mystic light control version: v3.0.0.06 (MSI Center install: v1.0.38.0)

Show images

image image image image

Please attach device captures here:

I did a device capture using the https://gitlab.com/OpenRGBDevelopers/NvAPISpy tool. During this capture, I send 4 RGB control commands to the MSI GPU.

Captures before sending the RGB signal

The following captures were received before I send any RGB control commands:

nvapi_20312.txt

nvapi_23109.txt

nvapi_12062.txt

nvapi_26375.txt

These are likely coming from startup actions from several device RGB software utilities (i.e. Asus armoury crate, MSI tools).

Captures received during command send

I used the colours given by @Dr_No in https://discord.com/channels/699861463375937578/702322217622700052/784264315900657664 for my captures (i.e. #2faced, #dedca7, #b00b1e, #bad801, #da7a11, #bec001, #5ead13, #7aff1e - converted using https://www.rapidtables.com/convert/color/hex-to-rgb.html). When executing these control commands in the MSI mystic light utility the following captures were received:

nvapi_20312.txt

nvapi_23109.txt

nvapi_12062.txt

nvapi_26375.txt

From these, only the last file seems to be changed compared to the captures that were taken before I send the control commands.

Show commands divided per color

#2faced

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x06
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x16
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x1E
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x06
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x16
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x1E
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#dedca7

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#b00b1e

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x17
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x02
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x17
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x02
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#bad801

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#da7a11

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x03
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x1C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x03
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#bec001

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x19
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x19
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#5ead13

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x0C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x16
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x03
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x0C
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x16
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x03
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

#7aff1e

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x10
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
Old captures (11/03/2022:12:00)

nvapi_576406.txt: Commands run when I start up the MSI utility.

nvapi_586390.txt: The last commands in this file are for controlling the RGB logo LED.

Commands received when setting the RGB to 82, 255, 27:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x0B
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x0B
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x04
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

Commands received when setting the RGB to 255, 37, 71:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x05
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x09
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x05
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x09
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

Commands received when setting the RGB to 3, 0, 255:

NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x18
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0xFA
NvAPI_I2CReadEx:  Dev: 0x38 RegSize: 0x01 Reg: 0x31 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x15
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x20 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x21 Size: 0x01 Data: 0x07
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x22 Size: 0x01 Data: 0x00
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x23 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x24 Size: 0x01 Data: 0x01
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x25 Size: 0x01 Data: 0x20
NvAPI_I2CWriteEx: Dev: 0x38 RegSize: 0x01 Reg: 0x26 Size: 0x01 Data: 0xFA

Checklist for Step2

  • Name of device
  • A link to the vendors product page has been included
  • The transport bus has been identified and the appropriate label added to the issue.
  • The device ID's have been included for USB or PCI
  • Screenshots of the OEM Application are included
  • There is either, appropriate code examples linked or suitable device captures attached

Related issues

tag:gitlab.com,2020-11-05:976448054 Rick Staa deleted project branch fix_19 at Rick Staa / FunctionTrace 2020-11-05T08:40:45Z rickstaa Rick Staa

Rick Staa (4c13289c) at 05 Nov 08:40

tag:gitlab.com,2020-11-04:975366568 Rick Staa commented on merge request !7 at Matt / FunctionTrace 2020-11-04T14:52:04Z rickstaa Rick Staa

I will keep this open so that somebody else can review it.