Re: w83627ehf: Wrong values reported after resuming from suspend/hibernation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 29.07.2013 08:58, schrieb Guenter Roeck:
> On 07/28/2013 07:47 PM, Harald Judt wrote:
>> Am 29.07.2013 04:24, schrieb Harald Judt:
>>> Am 29.07.2013 00:28, schrieb Guenter Roeck:
>>>> On 07/28/2013 01:43 PM, Harald Judt wrote:
>>>>> Hi,
>>>>>
>>>>> Am 22.10.2012 23:40, schrieb Guenter Roeck:
>>>>>> On Mon, Oct 22, 2012 at 05:03:45PM +0200, Harald Judt wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> After resuming from suspend or hibernation, the Vbat value is
>>>>>>> reported to be 0.0. Before that, it reported the correct value.
>>>>>>> Min/max values are wrong too.
>>>>>>>
>>>>>>> Linux-3.6.2, ASRock Z77 Extreme4 BIOS v1.80.
>>>>>>>
>>>>>>> Before suspend:
>>>>>>> nct6776-isa-0290
>>>>>>> Adapter: ISA adapter
>>>>>>> Vcore:         +0.97 V  (min =  +0.00 V, max =  +1.74 V)
>>>>>>> in1:           +1.84 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> AVCC:          +3.34 V  (min =  +2.98 V, max =  +3.63 V)
>>>>>>> +3.3V:         +3.34 V  (min =  +2.98 V, max =  +3.63 V)
>>>>>>> in4:           +1.04 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> 3VSB:          +3.47 V  (min =  +2.98 V, max =  +3.63 V)
>>>>>>> Vbat:          +3.31 V  (min =  +2.70 V, max =  +3.63 V)
>>>>>>> fan1:            0 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan2:         1289 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan3:          724 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan4:          661 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan5:         1076 RPM  (min =    0 RPM)  ALARM
>>>>>>> SYSTIN:        +37.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM
>>>>>>> sensor = thermistor
>>>>>>> CPUTIN:        +28.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>>>>>> thermistor
>>>>>>> AUXTIN:        +33.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>>>>>> thermistor
>>>>>>> PECI Agent 0:  +32.0°C
>>>>>>> cpu0_vid:     +0.000 V
>>>>>>> intrusion0:   ALARM
>>>>>>> intrusion1:   ALARM
>>>>>>>
>>>>>>> After resuming:
>>>>>>> nct6776-isa-0290
>>>>>>> Adapter: ISA adapter
>>>>>>> Vcore:         +0.97 V  (min =  +0.00 V, max =  +1.74 V)
>>>>>>> in1:           +1.84 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> AVCC:          +3.34 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> +3.3V:         +3.34 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> in4:           +1.03 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> 3VSB:          +3.47 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>>>>>> Vbat:          +0.00 V  (min =  +0.00 V, max =  +0.00 V)
>>>>>>> fan1:            0 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan2:         1271 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan3:          734 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan4:          673 RPM  (min =    0 RPM)  ALARM
>>>>>>> fan5:         1093 RPM  (min =    0 RPM)  ALARM
>>>>>>> SYSTIN:        +36.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM
>>>>>>> sensor = thermistor
>>>>>>> CPUTIN:        +26.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>>>>>> thermistor
>>>>>>> AUXTIN:        +33.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>>>>>> thermistor
>>>>>>> PECI Agent 0:  +30.0°C
>>>>>>> cpu0_vid:     +0.000 V
>>>>>>> intrusion0:   ALARM
>>>>>>> intrusion1:   ALARM
>>>>>>>
>>>>>>> Reloading the module helps. Of course, a fresh boot too ;-)
>>>>>>>
>>>>>> The driver doesn't implement suspend/resume support, so it is not
>>>>>> very
>>>>>> surprising that the limits get lost - and it looks like vbat
>>>>>> monitoring
>>>>>> is disabled by default, so that gets lost as well.
>>>>>>
>>>>>> Someone would have to submit a patch to add suspend/resume support to
>>>>>> the driver ... any takers out there ?
>>>>>>
>>>>>> Thanks,
>>>>>> Guenter
>>>>>
>>>>> A while ago, support for suspend/resume has been added and this issue
>>>>> was fixed and values are now preserved during suspend/resume.
>>>>>
>>>>> 3300fb4f88688029fff8dfb9ec0734f6e4cba3e7 hwmon: (w83627ehf) Force
>>>>> initial bank selection
>>>>> 7e630bb55a52cfaa35011c0ebc2efc96f13e5135 hwmon: (w83627ehf) Add
>>>>> support
>>>>> for suspend
>>>>>
>>>>> But now with kernel 3.11-rc2, I noticed it only works in case of
>>>>> suspend/resume, not hibernate/resume. I'm not sure this worked
>>>>> properly
>>>>> with kernel 3.6.2 with the patch applied, though I think it did, but I
>>>>> don't have that version available for verification at the moment. Of
>>>>> course, I could test if necessary. Perhaps there is more to do for
>>>>> hibernate/resume than for suspend/resume?
>>>>>
>>>> It should not require anything special, and at first glance the code
>>>> seems to be ok. Maybe hibernate (now) results in some secondary changes
>>>> which we don't take into account.
>>>>
>>>> It would be great if you can download
>>>>      http://roeck-us.net/linux/bin/superiotool
>>>> and run "sudo ./superiotool -d -e" before hibernation and after resume
>>>> and send me the results.
>>>>
>>>> Thanks,
>>>> Guenter
>>>
>>> Ok, I've switched to the nct6775 driver, didn't know there was a new one
>>> ;-) Unfortunately, the same behaviour. I have installed superiotool-6637
>>> from the gentoo repository, I hope that does the job too. I compiled
>>> nct6775, did modprobe -r w83627ehf, modprobe nct6775.
>>> Sensors output:
>>>
>>> Before hibernation:
>>> -------------------------------------------------------------------
>>> nct6776-isa-0290
>>> Adapter: ISA adapter
>>> Vcore:          +0.97 V  (min =  +0.00 V, max =  +1.74 V)
>>> in1:            +1.82 V  (min =  +1.71 V, max =  +1.89 V)
>>> AVCC:           +3.34 V  (min =  +2.98 V, max =  +3.63 V)
>>> +3.3V:          +3.33 V  (min =  +2.98 V, max =  +3.63 V)
>>> in4:            +1.07 V  (min =  +1.00 V, max =  +1.50 V)
>>> in5:            +1.68 V  (min =  +1.50 V, max =  +1.89 V)
>>> in6:            +0.92 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> 3VSB:           +3.47 V  (min =  +2.98 V, max =  +3.63 V)
>>> Vbat:           +3.31 V  (min =  +2.70 V, max =  +3.63 V)
>>> fan1:             0 RPM  (min =    0 RPM)
>>> fan2:          1337 RPM  (min =    0 RPM)
>>> fan3:           742 RPM  (min =    0 RPM)
>>> fan4:           661 RPM  (min =    0 RPM)
>>> fan5:          1077 RPM  (min =    0 RPM)
>>> SYSTIN:         +42.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor
>>> = thermistor
>>> CPUTIN:         +35.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> AUXTIN:         +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> PECI Agent 0:   +37.0°C  (high = +80.0°C, hyst = +75.0°C)
>>>                           (crit = +98.0°C)
>>> PCH_CHIP_TEMP:   +0.0°C
>>> PCH_CPU_TEMP:    +0.0°C
>>> PCH_MCH_TEMP:    +0.0°C
>>> intrusion0:    ALARM
>>> intrusion1:    OK
>>> -------------------------------------------------------------------
>>>
>>> After resuming from hibernation:
>>> -------------------------------------------------------------------
>>> nct6776-isa-0290
>>> Adapter: ISA adapter
>>> Vcore:          +1.24 V  (min =  +0.00 V, max =  +1.74 V)
>>> in1:            +1.82 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> AVCC:           +3.33 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> +3.3V:          +3.33 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> in4:            +1.09 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> in5:            +1.67 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> in6:            +0.93 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> 3VSB:           +3.47 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> Vbat:           +0.00 V  (min =  +0.00 V, max =  +0.00 V)
>>> fan1:             0 RPM  (min =    0 RPM)  ALARM
>>> fan2:          1339 RPM  (min =    0 RPM)  ALARM
>>> fan3:           744 RPM  (min =    0 RPM)  ALARM
>>> fan4:           657 RPM  (min =    0 RPM)  ALARM
>>> fan5:          1100 RPM  (min =    0 RPM)  ALARM
>>> SYSTIN:         +43.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor
>>> = thermistor
>>> CPUTIN:         +37.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> AUXTIN:         +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> PECI Agent 0:   +43.0°C  (high = +80.0°C, hyst = +75.0°C)
>>>                           (crit = +98.0°C)
>>> PCH_CHIP_TEMP:   +0.0°C
>>> PCH_CPU_TEMP:    +0.0°C
>>> PCH_MCH_TEMP:    +0.0°C
>>> intrusion0:    ALARM
>>> intrusion1:    OK
>>> -------------------------------------------------------------------
>>>
>>>
>>> modprobe -r nct6775, modprobe nct6775, sensors -s to restore
>>> functionality.
>>>
>>> Before suspending:
>>> -------------------------------------------------------------------
>>> nct6776-isa-0290
>>> Adapter: ISA adapter
>>> Vcore:          +0.97 V  (min =  +0.00 V, max =  +1.74 V)
>>> in1:            +1.82 V  (min =  +1.71 V, max =  +1.89 V)
>>> AVCC:           +3.34 V  (min =  +2.98 V, max =  +3.63 V)
>>> +3.3V:          +3.33 V  (min =  +2.98 V, max =  +3.63 V)
>>> in4:            +1.10 V  (min =  +1.00 V, max =  +1.50 V)
>>> in5:            +1.68 V  (min =  +1.50 V, max =  +1.89 V)
>>> in6:            +0.94 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> 3VSB:           +3.47 V  (min =  +2.98 V, max =  +3.63 V)
>>> Vbat:           +3.33 V  (min =  +2.70 V, max =  +3.63 V)
>>> fan1:             0 RPM  (min =    0 RPM)
>>> fan2:          1345 RPM  (min =    0 RPM)
>>> fan3:           731 RPM  (min =    0 RPM)
>>> fan4:           655 RPM  (min =    0 RPM)
>>> fan5:          1083 RPM  (min =    0 RPM)
>>> SYSTIN:         +45.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor
>>> = thermistor
>>> CPUTIN:         +36.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> AUXTIN:         +31.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> PECI Agent 0:   +38.0°C  (high = +80.0°C, hyst = +75.0°C)
>>>                           (crit = +98.0°C)
>>> PCH_CHIP_TEMP:   +0.0°C
>>> PCH_CPU_TEMP:    +0.0°C
>>> PCH_MCH_TEMP:    +0.0°C
>>> intrusion0:    ALARM
>>> intrusion1:    OK
>>> -------------------------------------------------------------------
>>>
>>> After resuming from S3:
>>> -------------------------------------------------------------------
>>> nct6776-isa-0290
>>> Adapter: ISA adapter
>>> Vcore:          +0.97 V  (min =  +0.00 V, max =  +1.74 V)
>>> in1:            +1.82 V  (min =  +1.71 V, max =  +1.89 V)
>>> AVCC:           +3.33 V  (min =  +2.98 V, max =  +3.63 V)
>>> +3.3V:          +3.33 V  (min =  +2.98 V, max =  +3.63 V)
>>> in4:            +1.10 V  (min =  +1.00 V, max =  +1.50 V)
>>> in5:            +1.67 V  (min =  +1.50 V, max =  +1.89 V)
>>> in6:            +0.94 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>> 3VSB:           +3.47 V  (min =  +2.98 V, max =  +3.63 V)
>>> Vbat:           +3.33 V  (min =  +2.70 V, max =  +3.63 V)
>>> fan1:             0 RPM  (min =    0 RPM)
>>> fan2:          1336 RPM  (min =    0 RPM)
>>> fan3:           744 RPM  (min =    0 RPM)
>>> fan4:           656 RPM  (min =    0 RPM)
>>> fan5:          1103 RPM  (min =    0 RPM)
>>> SYSTIN:         +45.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor
>>> = thermistor
>>> CPUTIN:         +36.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> AUXTIN:         +31.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor =
>>> thermistor
>>> PECI Agent 0:   +45.0°C  (high = +80.0°C, hyst = +75.0°C)
>>>                           (crit = +98.0°C)
>>> PCH_CHIP_TEMP:   +0.0°C
>>> PCH_CPU_TEMP:    +0.0°C
>>> PCH_MCH_TEMP:    +0.0°C
>>> intrusion0:    ALARM
>>> intrusion1:    OK
>>> -------------------------------------------------------------------
>>>
>>>
>>> Superiotool output is attached.
>>>
>>> Note that I can do "sensors -s", but that won't reset/reenable some
>>> values like vbat. The only way to get it back working is rmmod/modprobe.
>>> It seems like the code that runs properly at resume after suspend simply
>>> is not executed after resuming from hibernation. Maybe I should put some
>>> debug output in there to verify...
>>
>> And indeed, the resume code is not run on hibernate/resume. I've place
>> two lines in there for debugging (see the small patch attached). The
>> lines are printed at suspend/resume, but not at hibernate/resume. I
>> guess this is not a problem with the nct6775 driver then?
>>
> I don't know; I'll have to have a look into the kernel itself. Maybe it
> is on purpose, though it evades me why that would be the case.
> 
> Question: Does the suspend code run on hibernation ? There are separate
> callbacks for suspend/resume vs. hibernate/wakeup; the latter are
> freeze/thaw. I thought suspend/resume would be called if freeze/thaw is
> not defined, but maybe that is not or no longer the case.
> 
> Thanks,
> Guenter

Thanks for your suggestions; I will add similar lines to the suspend
function, and depending on the result maybe hook up the suspend/resume
functions to .thaw and .freeze to see if it works and helps.

Harald

-- 
`Experience is the best teacher.'

PGP Key ID: 0xB29C7F8F

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors





[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux