Re: Suspend/resume failing due to SPD5118

From: Armin Wolf
Date: Sun May 04 2025 - 12:59:53 EST


Am 03.05.25 um 03:40 schrieb Guenter Roeck:

On 5/2/25 17:58, Luca Carlon wrote:
 From the context it looks like the "sensors" command was never executed. To get
another data point, it would help if you could load the driver, run the "sensors"
command, and then try to hibernate.

Hello,

yes, I did not have the sensors command installed.

I removed SPD5118 from the blacklist and I rebooted the system. This is what the
"sensors" command is reporting after the boot:

spd5118-i2c-1-50
Adapter: SMBus I801 adapter at efa0
ERROR: Can't get value of subfeature temp1_lcrit_alarm: Can't read
ERROR: Can't get value of subfeature temp1_min_alarm: Can't read
ERROR: Can't get value of subfeature temp1_max_alarm: Can't read
ERROR: Can't get value of subfeature temp1_crit_alarm: Can't read
ERROR: Can't get value of subfeature temp1_min: Can't read
ERROR: Can't get value of subfeature temp1_max: Can't read
ERROR: Can't get value of subfeature temp1_lcrit: Can't read
ERROR: Can't get value of subfeature temp1_crit: Can't read
temp1:            N/A  (low  =  +0.0°C, high =  +0.0°C)
                        (crit low =  +0.0°C, crit =  +0.0°C)

[...]

spd5118-i2c-1-51
Adapter: SMBus I801 adapter at efa0
ERROR: Can't get value of subfeature temp1_lcrit_alarm: Can't read
ERROR: Can't get value of subfeature temp1_min_alarm: Can't read
ERROR: Can't get value of subfeature temp1_max_alarm: Can't read
ERROR: Can't get value of subfeature temp1_crit_alarm: Can't read
ERROR: Can't get value of subfeature temp1_min: Can't read
ERROR: Can't get value of subfeature temp1_max: Can't read
ERROR: Can't get value of subfeature temp1_lcrit: Can't read
ERROR: Can't get value of subfeature temp1_crit: Can't read
temp1:            N/A  (low  =  +0.0°C, high =  +0.0°C)
                        (crit low =  +0.0°C, crit =  +0.0°C)


That means there is a problem with the I2C controller, and you'll have to
black-list the driver. I don't have a better solution, sorry.

Guenter

I do not thing that the i2c controller is at fault here. It seems that when loading the spd5118 driver
for the first time everything works until some point where the spd5118 device stops responding to i2c
requests.

Please you load the i2c-dev module (sudo modprobe i2c-dev) and share the results of the following commands:

sudo i2cdump 1 0x50
sudo i2cdump 1 0x51

This should return the register contents of the spd5118 devices. Please make sure that the spd5118 driver
as been blacklisted and unloaded before executing those commands.

I suspect that somehow the spd5118 driver confuses the spd5118 devices, causing them to lock up.

Could you also please tell us the name of the RAM sticks you are using?

Thanks,
Armin Wolf


I then tried to hibernate. Hibernation failed and the output of the "sensors"
command did not change.

I also tried to rmmod spd5118 and modprobe it. The output of the sensors
command does not show spd5118 anymore.

Hope I did what you asked properly.
Thanks for your answer.

Luca Carlon