Skip to content

Conversation

nigels-com
Copy link

@nigels-com nigels-com commented May 17, 2025

I have a brand new computer including Kingston Fury RAM with LED lighting: KF560C36-32
I was digging into OpenRGB to see why it's detecting one stick of RAM, but not the other.
I can set both to a specified colour with the attached script, included here mainly for my reference.

I did not root-cause why OpenRGB is unhappy with my setup.
But along the way I did make some changes to the logging for TestForFurySignature that might be acceptable.

The output on my machine is:

[Kingston Fury DDR4 DRAM] Detector 1 Jedec ID: 0x0117 [Kingston Fury DDR5 DRAM] Detector 2 Jedec ID: 0x0117 [Kingston Fury DDR5 DRAM] is enabled [ResourceManager] Calling detection progress callbacks. [Kingston Fury DDR4/5 DRAM] looking at bus 0 address 0x61 [Kingston Fury DDR4/5 DRAM] 0x61 beginning transaction; res=0x00 [Kingston Fury DDR4/5 DRAM] Testing address 0x61 register 0x01, res=0x0708 [Kingston Fury DDR4/5 DRAM] Matching 0x07 to 0x46: F [Kingston Fury DDR4/5 DRAM] 0x61 ending transaction; res=0x00 [Kingston Fury DDR4/5 DRAM] not detected at slot index 0x01 [Kingston Fury DDR4/5 DRAM] looking at bus 0 address 0x63 [Kingston Fury DDR4/5 DRAM] 0x63 beginning transaction; res=0x00 [Kingston Fury DDR4/5 DRAM] Testing address 0x63 register 0x01, res=0xFFFF [Kingston Fury DDR4/5 DRAM] Testing address 0x63 register 0x01, res=0x465A [Kingston Fury DDR4/5 DRAM] Matching 0x46 to 0x46: F [Kingston Fury DDR4/5 DRAM] Testing address 0x63 register 0x02, res=0x555A [Kingston Fury DDR4/5 DRAM] Matching 0x55 to 0x55: U [Kingston Fury DDR4/5 DRAM] Testing address 0x63 register 0x03, res=0x525A [Kingston Fury DDR4/5 DRAM] Matching 0x52 to 0x52: R [Kingston Fury DDR4/5 DRAM] Testing address 0x63 register 0x04, res=0x595A [Kingston Fury DDR4/5 DRAM] Matching 0x59 to 0x59: Y [Kingston Fury DDR4/5 DRAM] Reading model code at address 0x63 register 0x06, res=0x105A [Kingston Fury DDR4/5 DRAM] Recognized FURY_MODEL_BEAST_DDR5 at address 0x63 [Kingston Fury DDR4/5 DRAM] 0x63 ending transaction; res=0x00 [Kingston Fury DDR4/5 DRAM] detected at slot index 0x03 [Kingston Fury DDR5 RGB] Registering RGB controller 

My best guess is that 0x61 needs some sort of poke to respond with FURY.

Additional information:

Handle 0x0018, DMI type 17, 92 bytes Memory Device Array Handle: 0x0013 Error Information Handle: 0x0017 Total Width: 64 bits Data Width: 64 bits Size: 32 GB Form Factor: DIMM Set: None Locator: DIMM 1 Bank Locator: P0 CHANNEL A Type: DDR5 Type Detail: Synchronous Unbuffered (Unregistered) Speed: 4800 MT/s Manufacturer: Kingston Serial Number: 38032A59 Asset Tag: Not Specified Part Number: KF560C36-32 Rank: 2 Configured Memory Speed: 4800 MT/s Minimum Voltage: 1.1 V Maximum Voltage: 1.1 V Configured Voltage: 1.1 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: Unknown Module Manufacturer ID: Bank 2, Hex 0x98 Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 32 GB Cache Size: None Logical Size: None 
$ i2cdetect -l i2c-0	smbus	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter i2c-1	smbus	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter i2c-2	smbus	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter i2c-3	i2c	AMDGPU DM i2c hw bus 0	I2C adapter i2c-4	i2c	AMDGPU DM i2c hw bus 1	I2C adapter i2c-5	i2c	AMDGPU DM i2c hw bus 2	I2C adapter i2c-6	i2c	NVIDIA i2c adapter 1 at 1:00.0	I2C adapter i2c-7	i2c	NVIDIA i2c adapter 3 at 1:00.0	I2C adapter i2c-8	i2c	NVIDIA i2c adapter 4 at 1:00.0	I2C adapter i2c-9	i2c	NVIDIA i2c adapter 5 at 1:00.0	I2C adapter i2c-10	i2c	NVIDIA i2c adapter 6 at 1:00.0	I2C adapter i2c-11	i2c	AMDGPU DM aux hw bus 1	I2C adapter i2c-12	i2c	AMDGPU DM aux hw bus 2	I2C adapter 
#!/bin/bash bus=0 ram1addr=0x61 ram2addr=0x63 if ! [[ $1 =~ ^0x[0-9a-fA-F]{2}$ ]]; then echo "$1 is not a valid octet hex value" exit 1 fi red=$1 if ! [[ $2 =~ ^0x[0-9a-fA-F]{2}$ ]]; then echo "$2 is not a valid octet hex value" exit 1 fi green=$2 if ! [[ $3 =~ ^0x[0-9a-fA-F]{2}$ ]]; then echo "$3 is not a valid octet hex value" exit 1 fi blue=$3 echo "Setting static R=$red G=$green B=$blue" i2cset -y $bus $ram1addr 0x08 0x53 sleep 0.020 i2cset -y $bus $ram1addr 0x09 0x00 sleep 0.020 i2cset -y $bus $ram1addr 0x31 $red sleep 0.020 i2cset -y $bus $ram1addr 0x32 $green sleep 0.020 i2cset -y $bus $ram1addr 0x33 $blue sleep 0.020 i2cset -y $bus $ram1addr 0x20 0x1e sleep 0.020 i2cset -y $bus $ram1addr 0x08 0x44 sleep 0.020 i2cset -y $bus $ram2addr 0x08 0x53 sleep 0.020 i2cset -y $bus $ram2addr 0x09 0x00 sleep 0.020 i2cset -y $bus $ram2addr 0x31 $red sleep 0.020 i2cset -y $bus $ram2addr 0x32 $green sleep 0.020 i2cset -y $bus $ram2addr 0x33 $blue sleep 0.020 i2cset -y $bus $ram2addr 0x20 0x1e sleep 0.020 i2cset -y $bus $ram2addr 0x08 0x44 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant