Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error with KF560C40BBAK2-32 (2x16kit) #16

Closed
aschiavon91 opened this issue Jul 15, 2023 · 14 comments
Closed

error with KF560C40BBAK2-32 (2x16kit) #16

aschiavon91 opened this issue Jul 15, 2023 · 14 comments

Comments

@aschiavon91
Copy link

Hey man, first of all, thanks for the work.
I tried to execute the script but I received the error RAM in slot 2 on SMBus i2c-0 doesn't seems to be a Kingston Fury BEAST\RENEGADE DDR5!
This is the return using the --debug flag

-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

### ABOUT DETECTION ###

 Setting register &0x0b to 0x04 on addresses 0x5[0-7] allows to read the DIMM model name, but
 very often address 0x5 is write protected (as in my system), which makes this method useless.

 /home/aschiavon/bin/kfrgb.sh will:
 - lshw: check for 'vendor: Kingston' and 'product: KF5*'.
  - i2cdetect: check if addresses 0x6[0-7], 0x5[0-7] and 0x4[8-f] exist on an smbus that support Quick Command.
   - i2cdump (mode b): on address 0x4[8-f] check if registers &0x21 and &0x25 are both =78 OR =b4 and &0x27=78.
    - i2cdump (mode i): on address 0x6[0-7] check if blocks 0x02=0x46, 0x03=0x55, 0x04=0x52, 0x05=0x59,
      0x07=0x10 (for BEAST) OR =0x11 (for RENEGADE).

 The detection passes if all checks are true.
 The detection fails at the first error in the chain.

-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

- i2cdetect -l (check i2c-buses):
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 SMU 0                    	I2C adapter
i2c-4	i2c       	AMDGPU SMU 1                    	I2C adapter
i2c-5	i2c       	AMDGPU DM i2c hw bus 0          	I2C adapter
i2c-6	i2c       	AMDGPU DM i2c hw bus 1          	I2C adapter
i2c-7	i2c       	AMDGPU DM i2c hw bus 2          	I2C adapter
i2c-8	i2c       	AMDGPU DM i2c hw bus 3          	I2C adapter
i2c-9	i2c       	AMDGPU DM aux hw bus 0          	I2C adapter
i2c-10	i2c       	AMDGPU DM aux hw bus 1          	I2C adapter
i2c-11	i2c       	AMDGPU DM aux hw bus 2          	I2C adapter
i2c-12	i2c       	AMDGPU DM i2c hw bus 0          	I2C adapter
i2c-13	i2c       	AMDGPU DM i2c hw bus 1          	I2C adapter
i2c-14	i2c       	AMDGPU DM i2c hw bus 2          	I2C adapter
i2c-15	i2c       	AMDGPU DM i2c hw bus 3          	I2C adapter
i2c-16	i2c       	AMDGPU DM aux hw bus 1          	I2C adapter
i2c-17	i2c       	AMDGPU DM aux hw bus 2          	I2C adapter
i2c-18	i2c       	AMDGPU DM aux hw bus 3          	I2C adapter

-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

- i2cdetect -y 0 (check SMBus i2c-0):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- 15 -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- 4b -- -- -- 4f 
50: -- 51 -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- 61 -- 63 -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 1 not found on SMBus i2c-0.

 * lshw (check bank 0):
     *-bank:0 UNCLAIMED
          description: [empty]
          product: Unknown
          vendor: Unknown
          physical id: 0
          serial: Unknown
          slot: DIMMA1

  * Address 0x60 not found in SMBus i2c-0.
  * Address 0x48 not found in SMBus i2c-0.
  * Address 0x50 not found in SMBus i2c-0.

 * i2cdump 0 0x48 b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
  * register 0x21: 0xXX (expected 0x78 or 0xb4)
  * register 0x25: 0xXX (expected 0x78 or 0xb4)
  * register 0x27: 0xXX (expected 0x78)

 * i2cdump 0 0x60 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- RAM in slot 2 on SMBus i2c-0 doesn't seems to be a Kingston Fury BEAST\RENEGADE DDR5!

 * lshw (check bank 1):
     *-bank:1 UNCLAIMED
          description: DIMM Synchronous Unbuffered (Unregistered) 4800 MHz (0.2 ns)
          product: KF560C40-16
          vendor: Kingston
          physical id: 1
          serial: E5331BA1
          slot: DIMMA2
          size: 16GiB
          width: 64 bits
          clock: 505MHz (2.0ns)

  * Address 0x61 found in SMBus i2c-0.
  * Address 0x49 found in SMBus i2c-0.
  * Address 0x51 found in SMBus i2c-0.

 * i2cdump 0 0x49 b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 2c 20 00 00 04 00 05 60 00 60 60    ....., ..?.?`.``
20: cf dc 63 00 00 dc 63 b4 63 80 88 42 20 22 b4 5e    ??c..?c?c??B "?^
30: 00 00 80 00 0e 00 00 00 00 00 00 12 8a 8c 00 00    ..?.?......???..
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
  * register 0x21: 0xdc (expected 0x78 or 0xb4)
  * register 0x25: 0xdc (expected 0x78 or 0xb4)
  * register 0x27: 0xb4 (expected 0x78)

 * i2cdump 0 0x61 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 3 not found on SMBus i2c-0.

 * lshw (check bank 2):
     *-bank:2 UNCLAIMED
          description: [empty]
          product: Unknown
          vendor: Unknown
          physical id: 2
          serial: Unknown
          slot: DIMMB1

  * Address 0x62 not found in SMBus i2c-0.
  * Address 0x4a not found in SMBus i2c-0.
  * Address 0x52 not found in SMBus i2c-0.

 * i2cdump 0 0x4a b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
  * register 0x21: 0xXX (expected 0x78 or 0xb4)
  * register 0x25: 0xXX (expected 0x78 or 0xb4)
  * register 0x27: 0xXX (expected 0x78)

 * i2cdump 0 0x62 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- RAM in slot 4 on SMBus i2c-0 doesn't seems to be a Kingston Fury BEAST\RENEGADE DDR5!

 * lshw (check bank 3):
     *-bank:3 UNCLAIMED
          description: DIMM Synchronous Unbuffered (Unregistered) 4800 MHz (0.2 ns)
          product: KF560C40-16
          vendor: Kingston
          physical id: 3
          serial: E6331BA1
          slot: DIMMB2
          size: 16GiB
          width: 64 bits

  * Address 0x63 found in SMBus i2c-0.
  * Address 0x4b found in SMBus i2c-0.
  * Address 0x53 found in SMBus i2c-0.

 * i2cdump 0 0x4b b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 2c 20 00 00 04 00 05 60 00 60 60    ....., ..?.?`.``
20: cf dc 63 00 00 dc 63 b4 63 80 88 42 20 22 b4 5e    ??c..?c?c??B "?^
30: 00 00 80 00 0e 00 00 00 00 00 00 12 8a 8c 00 00    ..?.?......???..
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
  * register 0x21: 0xdc (expected 0x78 or 0xb4)
  * register 0x25: 0xdc (expected 0x78 or 0xb4)
  * register 0x27: 0xb4 (expected 0x78)

 * i2cdump 0 0x63 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 5 not found on SMBus i2c-0.

 * lshw (check bank 4):

  * Address 0x64 not found in SMBus i2c-0.
  * Address 0x4c not found in SMBus i2c-0.
  * Address 0x54 not found in SMBus i2c-0.

 * i2cdump 0 0x4c b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
  * register 0x21: 0xXX (expected 0x78 or 0xb4)
  * register 0x25: 0xXX (expected 0x78 or 0xb4)
  * register 0x27: 0xXX (expected 0x78)

 * i2cdump 0 0x64 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 6 not found on SMBus i2c-0.

 * lshw (check bank 5):

  * Address 0x65 not found in SMBus i2c-0.
  * Address 0x4d not found in SMBus i2c-0.
  * Address 0x55 not found in SMBus i2c-0.

 * i2cdump 0 0x4d b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
  * register 0x21: 0xXX (expected 0x78 or 0xb4)
  * register 0x25: 0xXX (expected 0x78 or 0xb4)
  * register 0x27: 0xXX (expected 0x78)

 * i2cdump 0 0x65 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 7 not found on SMBus i2c-0.

 * lshw (check bank 6):

  * Address 0x66 not found in SMBus i2c-0.
  * Address 0x4e not found in SMBus i2c-0.
  * Address 0x56 not found in SMBus i2c-0.

 * i2cdump 0 0x4e b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
  * register 0x21: 0xXX (expected 0x78 or 0xb4)
  * register 0x25: 0xXX (expected 0x78 or 0xb4)
  * register 0x27: 0xXX (expected 0x78)

 * i2cdump 0 0x66 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN

-----------------------------------------------------------------------------------------------------------------

- Kingston Fury DDR5 RAM in slot 8 not found on SMBus i2c-0.

 * lshw (check bank 7):

  * Address 0x67 not found in SMBus i2c-0.
  * Address 0x4f found in SMBus i2c-0.
  * Address 0x57 not found in SMBus i2c-0.

 * i2cdump 0 0x4f b (check registers 0x21, 0x25, 0x27):
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 33 f6 ff 7a 00 00 00 00 00 00 00 00 00 00 00 00    3?.z............
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 ff 00 00 2f 01 19 00 ff ff ff ff ff ff ff    ...../??........
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
  * register 0x21: 0x00 (expected 0x78 or 0xb4)
  * register 0x25: 0x00 (expected 0x78 or 0xb4)
  * register 0x27: 0x00 (expected 0x78)

 * i2cdump 0 0x67 i (check blocks 0x02, 0x03, 0x04, 0x05, 0x07):
  * block 0x02: 0x (expected 0x46)
  * block 0x03: 0x (expected 0x55)
  * block 0x04: 0x (expected 0x52)
  * block 0x05: 0x (expected 0x59)
  * block 0x07: 0x (expected 0x10 for BEAST or 0x11 for RENEGADE)

 * model: UNKNOWN


- bus i2c-1: is not an SMBus!
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
@KeyofBlueS
Copy link
Owner

Hi!

The first thing that comes in my mind is that this ram kit is some new revision so maybe something changed.

  • Try to run again this script after a cold boot (turn completely off the pc).

  • Still after a cold boot, please post the output of:
    sudo i2cdetect 0
    sudo i2cdump 0 0x49 b
    sudo i2cdump 0 0x61 i
    sudo i2cdump 0 0x4b b
    sudo i2cdump 0 0x63 i

@KeyofBlueS
Copy link
Owner

And please update the script to the latest version as it contains a fix for smbus detection.

@aschiavon91
Copy link
Author

aschiavon91 commented Jul 16, 2023

yeah, I also think it's some kind of new variant.
Running the updated version of the script, right after a cold boot, also doesn't work

PCI (legacy) 
                            
- RAM in slot 2 on SMBus i2c-0 doesn't seems to be a Kingston Fury BEAST\RENEGADE DDR5!

- Kingston Fury DDR5 RAM in slot 2 not found on SMBus i2c-1.

- Kingston Fury DDR5 RAM in slot 2 not found on SMBus i2c-2.

- Please select an SMBus (or type 'quit' to exit from /home/aschiavon/bin/kfrbg.sh:
 0) i2c-0	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter
 1) i2c-1	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
 2) i2c-2	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter

Now the output of the mentioned commands

sudo i2cdetect 0                                                  
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- 15 -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- 4b -- -- -- 4f 
50: -- 51 -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- 61 -- 63 -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --  
sudo i2cdump 0 0x49 b                                     
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0, address 0x49, mode byte
Continue? [Y/n] Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 2c 20 00 00 04 00 05 60 00 60 60    ....., ..?.?`.``
20: cf dc 63 00 00 dc 63 b4 63 80 88 42 20 22 b4 5e    ??c..?c?c??B "?^
30: 00 00 80 00 0e 00 00 00 00 00 00 12 8a 8c 00 00    ..?.?......???..
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
sudo i2cdump 0 0x61 i
Error: Adapter does not have I2C block read capability
sudo i2cdump 0 0x4b b
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0, address 0x4b, mode byte
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 2c 20 00 00 04 00 05 60 00 60 60    ....., ..?.?`.``
20: cf dc 63 00 00 dc 63 b4 63 80 88 42 20 22 b4 5e    ??c..?c?c??B "?^
30: 00 00 80 00 0e 00 00 00 00 00 00 12 8a 8c 00 00    ..?.?......???..
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
sudo i2cdump 0 0x63 i
Error: Adapter does not have I2C block read capability

@KeyofBlueS
Copy link
Owner

KeyofBlueS commented Jul 16, 2023

This is the "detection chain":

 - lshw: check for 'vendor: Kingston' and 'product: KF5*'.
  - i2cdetect: check if addresses 0x6[0-7], 0x5[0-7] and 0x4[8-f] exist on an smbus that support Quick Command.
   - i2cdump (mode b): on address 0x4[8-f] check if registers &0x21 and &0x25 are both =78 OR =b4 and &0x27=78.
    - i2cdump (mode i): on address 0x6[0-7] check if blocks 0x02=0x46, 0x03=0x55, 0x04=0x52, 0x05=0x59, 0x07=0x10 (for BEAST) OR =0x11 (for RENEGADE).

The detection pass on step 1 and 2, but fails on step 3 and 4.

On step 3, registers &0x21 and &0x25 are not both =78 OR =b4 and &0x27=78.
In your case &0x21 and &0x25 are both =dc and &0x27=b4. I don't know why they are not as expected, let's assume a new ram revision here.

Step 4 is the real problematic one, as your system give Error: Adapter does not have I2C block read capability. Searching for this error gave little\no results. Maybe the required kernel modules aren't loaded idk... what is the output of lsmod | grep 'i2c'?

@aschiavon91
Copy link
Author

I bought the memory kit this month, so, I also think it can be a revision or something like that.
About the i2c error, I saw it, but idk if something is wrong, I'm using openrgb with no issues.
this is the output:

$ lsmod | grep 'i2c'
i2c_algo_bit           16384  1 amdgpu
i2c_piix4              28672  0

@KeyofBlueS
Copy link
Owner

Module i2c-dev is not loaded. Follow this procedure https://gitlab.com/CalcProgrammer1/OpenRGB#smbus-access-1

@aschiavon91
Copy link
Author

I did but it not worked, even loading it manually is not working, idk what more I can try
image

@KeyofBlueS
Copy link
Owner

KeyofBlueS commented Jul 18, 2023

Check if i2c-dev is built into kernel:
cat /lib/modules/$(uname -r)/modules.builtin | grep i2c

In that procedure there is a mention that in some scenarios a kernel > 5.7 is required, check your kernel version with uname -a.
Also, it say that "To resolve an ACPI conflict add the acpi_enforce_resources=lax kernel parameter." Have you tried that?

Anyway, if you are willing to RISK, you can disable detection steps 3 and 4, relying only on the first two steps by commenting lines from REDACTED and from REDACTED of the (actual version 0.9.5) script.

@aschiavon91
Copy link
Author

using the command to check if i2c-dev is built into the kernel, I can see it!
image

JFYI, I'm currently using kernel 6.2.6-76060206-generic, from the PopOS repository.

I'm not sure if I wanna risk it right now, it's all brand new parts, and I barely used it, soo, maybe in the future, I will give it a try.

anyway, thanks for the help man, I really appreciate it!

@KeyofBlueS
Copy link
Owner

You're welcome 👍

You can try geofbot's fork of OpenRGB https://gitlab.com/geofbot/OpenRGB/-/tree/fury_ddr5 (there is also a mr to upstream https://gitlab.com/CalcProgrammer1/OpenRGB/-/merge_requests/1887, but it seems it is in stall right now) and see if the detection fails there too. I'm using it and it works well.

The risk you take by commenting those lines is if addresses 0x6[0-7], 0x5[0-7] and 0x4[8-f] exist on an smbus that support Quick Command, but they ARE NOT Kingston Fury BEAST\RENEGADE DDR5 devices (model is found on step 4, the one that gives you Error: Adapter does not have I2C block read capability).
In your case you know you have two Kingston Fury BEAST RGB DDR5 in slot 2 and 4, and this match the detection on step 1 and 2. I'm not trying to convince you to risk, just want you to know how it works.

I suggest you to try to figure out the reason for that error and solve it if possible, try e.g. with your distro support resource.

Feel free to let me know how it goes.

@aschiavon91
Copy link
Author

Oh, sorry for my misinterpretation, I was thinking that it will fry my memories or motherboard, don't ask me why this come to my mind 😆
I tested the geofbot fork, and absolutely worked! But, I don't wanna let you without answers too, so, I will make the changes, as you explained before, and run it to see if it works, I'm pretty sure that I'm using Fury BEAST RGB DDR5 in slot 2 and 4, and nothing is in slot 1 and 3, so, I guess it's safe to test.

@KeyofBlueS
Copy link
Owner

Happy that fork works for you also.
You can try those changes only if you are curious or want/need to use this script, i don't need to know if it works, but thanks for the thought.

@cloudednine
Copy link

cloudednine commented Mar 31, 2024

Anyway, if you are willing to RISK, you can disable detection steps 3 and 4, relying only on the first two steps by commenting lines from REDACTED and from REDACTED of the (actual version 0.9.5) script.

For posterity, if it helps anyone who encounters this thread, I own the KF560C36BBEAK2-32 and I have exactly the same detection problem described in this thread.

On Arch Linux I encountered so many build dependency problems with the OpenRGB fork, I took the risk with this script. After much manual checking, commenting out exactly these lines worked very well.

@KeyofBlueS
Copy link
Owner

KeyofBlueS commented Mar 31, 2024

@cloudednine and everyone please, the script is now updated so commenting those lines no longer work.

You can use the undocumented option --iwanttoriskandskipmodeldetectionevenifiknowthisisstronglynotrecommended, the name says all so please don't use it recklessly, try to open an issue here first, attaching the full log (option -D).

Thanks and best regards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants