4

I'm trying to read DDR4 RAM SPD data with the new ee1004 driver. I thought that after modprobe ee1004 I would be able to read data from /sys/bus/i2c/drivers/ee1004, however thats not the case (no devices appeared there). Am I missing something?

I'm running Ubuntu 19.04 with Kernel 5.0.0-13. Contents of ee1004 directory in sysfs is:

user@ryzen:/sys/bus/i2c/drivers/ee1004$ ls -l
celkom 0
--w------- 1 root root 4096 apr 28 21:33 bind
lrwxrwxrwx 1 root root    0 apr 28 21:33 module -> ../../../../module/ee1004
--w------- 1 root root 4096 apr 28 21:33 uevent
--w------- 1 root root 4096 apr 28 21:33 unbind

2 Answers 2

4

I was able to find solution thanks to RafDouglas.

The trick is to manually set i2c addresses to ee1004 driver. Follow these instructions https://www.spinics.net/lists/linux-i2c/msg32331.html (start at "First you must find out the i2c bus number of your motherboard's SMBus ...")

3
+50

Welcome, user22600!

You can try using decode-dimms, which supports the ee1004 driver:

sudo apt-get install i2c-tools
sudo modprobe eeprom
sudo modprobe ee1004
decode-dimms|grep -A6 SPD

looking at your specific listing of /sys/bus/i2c/drivers/ee1004, however, I am not sure the modules are detected correctly by the kernel, which is a pre-requisite of any tool.

After loading the ee1004 module, and verifying no errors are returned, I would suggest to check dmesg outputs:

sudo dmesg

sudo dmesg -c
sudo modprobe eeprom
sudo modprobe ee1004
sudo dmesg
7
  • Hello @RafDouglas, unfortunatelly it did solved my problem. There are no messages in dmesg after loading ee1004. Decode-dimms is also throwing error: No EEPROM found, the kernel probably does not support your hardware. Is there any other way how to check whether ee1004 is working? Or is this kernel bug or ee1004 bug?
    – user22600
    Commented May 6, 2019 at 10:17
  • 1
    what do you get from ls -la /sys/bus/i2c/drivers/ee1004/module/ ? Commented May 6, 2019 at 16:57
  • this: pastebin.ubuntu.com/p/ZwgSmJXw3h
    – user22600
    Commented May 6, 2019 at 20:53
  • I edited the previous answer, adding sudo modprobe eeprom which your system might have missed. Just to ask the obvious: are you positive your PC has DDR4 memory modules mounted? if you issue: modprobe i2c-dev i2cdetect $(i2cdetect -l | grep smbus|tr " \t" '--'|cut -d'-' -f2) 0x50 0x57 are there addresses in use in the 0x50-0x55 range? Commented May 7, 2019 at 7:24
  • Please see also the original post of the decode-dimms developer: spinics.net/lists/linux-i2c/msg32331.html Commented May 7, 2019 at 7:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .