All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
@ 2012-10-22 15:03 Harald Judt
  2012-10-22 21:40 ` Guenter Roeck
                   ` (38 more replies)
  0 siblings, 39 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-22 15:03 UTC (permalink / raw)
  To: lm-sensors

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 ;-)

Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
@ 2012-10-22 21:40 ` Guenter Roeck
  2012-10-23  7:14 ` Jean Delvare
                   ` (37 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-22 21:40 UTC (permalink / raw)
  To: lm-sensors

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

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
  2012-10-22 21:40 ` Guenter Roeck
@ 2012-10-23  7:14 ` Jean Delvare
  2012-10-23  9:57 ` Harald Judt
                   ` (36 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-23  7:14 UTC (permalink / raw)
  To: lm-sensors

On Mon, 22 Oct 2012 14:40:00 -0700, Guenter Roeck wrote:
> 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 ;-)

Reloading the module shouldn't help for limits, they are set by
user-space. Reloading the lm_sensors service instead should help.

Vbat is indeed enabled by the driver at device bind time, as well as a
few other things. In your case you report battery monitoring missing,
but other settings may be broken, for example temperature monitoring
could be stuck or overall monitoring could be disabled. Do all values
(other than Vbat) change as before? The exact effects really depend on
what the BIOS is doing to the chip at boot time and resume time.

> 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 ?

I've been pondering this for a long time. Adding support for limit
saving and restoring to all hwmon drivers would be a significant amount
of code. An easier workaround would be to run "sensors -s" after
resume. This is what I had suggested here:
  https://bugzilla.novell.com/show_bug.cgi?id=580988#c3

However I am not totally happy with this either, because 1* relying on
user-space for anything related to hardware monitoring or fan control
always makes me feel a little nervous, 2* there is no guarantee that
the chip limits at suspend time match the libsensors configuration
files and 3* there are a few other settings which aren't covered by the
libsensors configuration files.

For 1* I suppose it can't be worse than the current situation where we
don't do anything at all at resume time. For 2* it should be correct in
99% of the cases. 3* is the real problem, for example if the user has a
custom script at initialization time to alter fan speeds, etc.

That being said, I'm not sure how many monitoring chips actually lose
their configuration at suspend time. My initial assumption was "most of
them" but if that was the case I presume we would have received many
more complaints than we did. The other report I had was also about a
Winbond Super-I/O chip, and these chips have an area named "Value RAM",
as opposed to actual registers. I would bet this is the part which is
lost on suspend.

So it could be that only drivers for Winbond/Nuvoton drivers need to be
taught how to save and restore values at suspend/resume. Well this is 9
drivers still, but this is only a small percentage of the whole driver
set. Plus the "Value RAM" is a contiguous area so saving and restoring
it should be very easy. I'll give it a try.

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
  2012-10-22 21:40 ` Guenter Roeck
  2012-10-23  7:14 ` Jean Delvare
@ 2012-10-23  9:57 ` Harald Judt
  2012-10-23 11:45 ` Jean Delvare
                   ` (35 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-23  9:57 UTC (permalink / raw)
  To: lm-sensors

Hi,

Am 23.10.2012 09:14, schrieb Jean Delvare:
> On Mon, 22 Oct 2012 14:40:00 -0700, Guenter Roeck wrote:
>> 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 ;-)
>
> Reloading the module shouldn't help for limits, they are set by
> user-space. Reloading the lm_sensors service instead should help.

Actually that's what I did. Why the need to reload the service after 
suspend? Restarting the service causes some user applications to crash 
(yes maybe they should be fixed so that doesn't happen).

> Vbat is indeed enabled by the driver at device bind time, as well as a
> few other things. In your case you report battery monitoring missing,
> but other settings may be broken, for example temperature monitoring
> could be stuck or overall monitoring could be disabled. Do all values
> (other than Vbat) change as before? The exact effects really depend on
> what the BIOS is doing to the chip at boot time and resume time.

All values except the ones mentioned are being reported correctly after 
resuming.

>> 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 ?
>
> I've been pondering this for a long time. Adding support for limit
> saving and restoring to all hwmon drivers would be a significant amount
> of code. An easier workaround would be to run "sensors -s" after
> resume. This is what I had suggested here:
>    https://bugzilla.novell.com/show_bug.cgi?id=580988#c3

I will try this and see if it helps. However, the min/max values or 
alarms are not something I use on my desktop, so I don't care very much 
if they don't work. In other environments, they will be much more 
important I guess.

> However I am not totally happy with this either, because 1* relying on
> user-space for anything related to hardware monitoring or fan control
> always makes me feel a little nervous, 2* there is no guarantee that
> the chip limits at suspend time match the libsensors configuration
> files and 3* there are a few other settings which aren't covered by the
> libsensors configuration files.
>
> For 1* I suppose it can't be worse than the current situation where we
> don't do anything at all at resume time. For 2* it should be correct in
> 99% of the cases. 3* is the real problem, for example if the user has a
> custom script at initialization time to alter fan speeds, etc.
>
> That being said, I'm not sure how many monitoring chips actually lose
> their configuration at suspend time. My initial assumption was "most of
> them" but if that was the case I presume we would have received many
> more complaints than we did. The other report I had was also about a
> Winbond Super-I/O chip, and these chips have an area named "Value RAM",
> as opposed to actual registers. I would bet this is the part which is
> lost on suspend.

Maybe people don't notice or care too if _some_ values are missing. 
Especially when those values are not vital. CPU temp, fan speeds etc ok, 
but how many typical users monitor the VBAT voltage?

The VBAT voltage is not shown in BIOS, while other values are. Maybe the 
BIOS is at fault here, and the problem needs to be tackled there.

> So it could be that only drivers for Winbond/Nuvoton drivers need to be
> taught how to save and restore values at suspend/resume. Well this is 9
> drivers still, but this is only a small percentage of the whole driver
> set. Plus the "Value RAM" is a contiguous area so saving and restoring
> it should be very easy. I'll give it a try.

Harald

-- 
`Experience is the best teacher.'


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (2 preceding siblings ...)
  2012-10-23  9:57 ` Harald Judt
@ 2012-10-23 11:45 ` Jean Delvare
  2012-10-23 12:08 ` Harald Judt
                   ` (34 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-23 11:45 UTC (permalink / raw)
  To: lm-sensors

On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
> Am 23.10.2012 09:14, schrieb Jean Delvare:
> > Reloading the module shouldn't help for limits, they are set by
> > user-space. Reloading the lm_sensors service instead should help.
> 
> Actually that's what I did. Why the need to reload the service after 
> suspend? Restarting the service causes some user applications to crash 
> (yes maybe they should be fixed so that doesn't happen).

The key issue with service reloading is that it will reload (some of)
the hwmon drivers, which it turn causes hwmon devices to disappear and
reappear in sysfs. libsensors doesn't notice so it can't tell the
applications. If we want to be able to handle that kind of cases
properly we need to let libsensors monitor this and notify the
applications.

The fact that this isn't supported at the moment certainly speaks in
favor of adding proper suspend/resume to the affected drivers rather
than blindly reloading the lm_sensors service after resume.

> > Vbat is indeed enabled by the driver at device bind time, as well as a
> > few other things. In your case you report battery monitoring missing,
> > but other settings may be broken, for example temperature monitoring
> > could be stuck or overall monitoring could be disabled. Do all values
> > (other than Vbat) change as before? The exact effects really depend on
> > what the BIOS is doing to the chip at boot time and resume time.
> 
> All values except the ones mentioned are being reported correctly after 
> resuming.

OK. This might depend on the board though. But we can start with your
particular case, and improve on top of that.

> > I've been pondering this for a long time. Adding support for limit
> > saving and restoring to all hwmon drivers would be a significant amount
> > of code. An easier workaround would be to run "sensors -s" after
> > resume. This is what I had suggested here:
> >    https://bugzilla.novell.com/show_bug.cgi?idX0988#c3
> 
> I will try this and see if it helps. However, the min/max values or 
> alarms are not something I use on my desktop, so I don't care very much 
> if they don't work. In other environments, they will be much more 
> important I guess.

Really depends on who is monitoring and for what reasons. Also depends
if the wrong limits trigger alarms, which in turn may trigger all sort
of (software or hardware) events.

The workaround won't work completely for you anyway, as running
"sensors -s" won't get your Vbat reading back. We will have to do it
explicitly in the driver's resume function.

More generally, my first tests suggest that saving and restoring the
"Value RAM" is neither required (all values read from the sensors are
useless) nor sufficient (there are other register values which get
lost.) Some register values are reverted to their default values, which
suggests these registers are as volatile as the "Value RAM". Other
values change arbitrarily, suggesting that the BIOS is explicitly
setting them to different values at resume time.

If we want to be able to deal with all chips and all BIOS bugs, there's
a lot of work ahead.

> (...)
> Maybe people don't notice or care too if _some_ values are missing. 
> Especially when those values are not vital. CPU temp, fan speeds etc ok, 
> but how many typical users monitor the VBAT voltage?

Actually everyone should, a dead batter can have very bad consequences.

> The VBAT voltage is not shown in BIOS, while other values are. Maybe the 
> BIOS is at fault here, and the problem needs to be tackled there.

It is very frequent that the BIOS doesn't display the values for all
available sensors. This is a vendor decision, there's nothing we can or
should do.

I'm working on my test system now. It has a different chip (W83627THF)
supported by a different driver (w83627hf) but the logic should be very
similar. When I'm done with my case, I'll post my results and do the
same for the w83627ehf driver.

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (3 preceding siblings ...)
  2012-10-23 11:45 ` Jean Delvare
@ 2012-10-23 12:08 ` Harald Judt
  2012-10-23 12:34 ` Jean Delvare
                   ` (33 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-23 12:08 UTC (permalink / raw)
  To: lm-sensors

Am 23.10.2012 13:45, schrieb Jean Delvare:
> On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
>> Am 23.10.2012 09:14, schrieb Jean Delvare:
>>> Reloading the module shouldn't help for limits, they are set by
>>> user-space. Reloading the lm_sensors service instead should help.
>>
>> Actually that's what I did. Why the need to reload the service after
>> suspend? Restarting the service causes some user applications to crash
>> (yes maybe they should be fixed so that doesn't happen).
>
> The key issue with service reloading is that it will reload (some of)
> the hwmon drivers, which it turn causes hwmon devices to disappear and
> reappear in sysfs. libsensors doesn't notice so it can't tell the
> applications. If we want to be able to handle that kind of cases
> properly we need to let libsensors monitor this and notify the
> applications.
>
> The fact that this isn't supported at the moment certainly speaks in
> favor of adding proper suspend/resume to the affected drivers rather
> than blindly reloading the lm_sensors service after resume.

I agree. Suspend/resume support is always a good idea.

>>> Vbat is indeed enabled by the driver at device bind time, as well as a
>>> few other things. In your case you report battery monitoring missing,
>>> but other settings may be broken, for example temperature monitoring
>>> could be stuck or overall monitoring could be disabled. Do all values
>>> (other than Vbat) change as before? The exact effects really depend on
>>> what the BIOS is doing to the chip at boot time and resume time.
>>
>> All values except the ones mentioned are being reported correctly after
>> resuming.
>
> OK. This might depend on the board though. But we can start with your
> particular case, and improve on top of that.
>
>>> I've been pondering this for a long time. Adding support for limit
>>> saving and restoring to all hwmon drivers would be a significant amount
>>> of code. An easier workaround would be to run "sensors -s" after
>>> resume. This is what I had suggested here:
>>>     https://bugzilla.novell.com/show_bug.cgi?idX0988#c3
>>
>> I will try this and see if it helps. However, the min/max values or
>> alarms are not something I use on my desktop, so I don't care very much
>> if they don't work. In other environments, they will be much more
>> important I guess.
>
> Really depends on who is monitoring and for what reasons. Also depends
> if the wrong limits trigger alarms, which in turn may trigger all sort
> of (software or hardware) events.

Yes, if you rely on that then things can indeed get problematic.

> The workaround won't work completely for you anyway, as running
> "sensors -s" won't get your Vbat reading back. We will have to do it
> explicitly in the driver's resume function.
>
> More generally, my first tests suggest that saving and restoring the
> "Value RAM" is neither required (all values read from the sensors are
> useless) nor sufficient (there are other register values which get
> lost.) Some register values are reverted to their default values, which
> suggests these registers are as volatile as the "Value RAM". Other
> values change arbitrarily, suggesting that the BIOS is explicitly
> setting them to different values at resume time.
>
> If we want to be able to deal with all chips and all BIOS bugs, there's
> a lot of work ahead.
>
>> (...)
>> Maybe people don't notice or care too if _some_ values are missing.
>> Especially when those values are not vital. CPU temp, fan speeds etc ok,
>> but how many typical users monitor the VBAT voltage?
>
> Actually everyone should, a dead batter can have very bad consequences.

It is a very reliable way for CMOS clear.

>> The VBAT voltage is not shown in BIOS, while other values are. Maybe the
>> BIOS is at fault here, and the problem needs to be tackled there.
>
> It is very frequent that the BIOS doesn't display the values for all
> available sensors. This is a vendor decision, there's nothing we can or
> should do.

It's not about being displayed, I meant that there could be a 
relationship between the values shown in the BIOS and the values set by 
the BIOS. That is, VBAT is not displayed in the BIOS and is 0 after 
resuming. The other values are reported in the BIOS (I'd have to check 
that again now just to be sure) and get set at boot and after resume too 
(at least that's the assumption). So maybe the BIOS engineers simply 
didn't care about that value or forgot about it. But never mind, that's 
just speculation and doesn't help either, as long as it can be dealt 
with in the module.

> I'm working on my test system now. It has a different chip (W83627THF)
> supported by a different driver (w83627hf) but the logic should be very
> similar. When I'm done with my case, I'll post my results and do the
> same for the w83627ehf driver.

Thanks, I'd be very interested in your suspend/resume code (learn 
something new). May I assume you have the same problem (at least with 
min/max) values then?

Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (4 preceding siblings ...)
  2012-10-23 12:08 ` Harald Judt
@ 2012-10-23 12:34 ` Jean Delvare
  2012-10-23 14:01 ` Guenter Roeck
                   ` (32 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-23 12:34 UTC (permalink / raw)
  To: lm-sensors

On Tue, 23 Oct 2012 14:08:10 +0200, Harald Judt wrote:
> Am 23.10.2012 13:45, schrieb Jean Delvare:
> > It is very frequent that the BIOS doesn't display the values for all
> > available sensors. This is a vendor decision, there's nothing we can or
> > should do.
> 
> It's not about being displayed, I meant that there could be a 
> relationship between the values shown in the BIOS and the values set by 
> the BIOS. That is, VBAT is not displayed in the BIOS and is 0 after 
> resuming. The other values are reported in the BIOS (I'd have to check 
> that again now just to be sure) and get set at boot and after resume too 
> (at least that's the assumption).

The fact is that on these chips, all inputs are always monitored except
Vbat, temp2 and temp3. And temp2 and temp3 are monitored by default. So
no active step is needed in the BIOS to get all the values they are
displaying.

> So maybe the BIOS engineers simply 
> didn't care about that value or forgot about it. But never mind, that's 
> just speculation and doesn't help either, as long as it can be dealt 
> with in the module.

You are prefectly right, the BIOS doesn't bother enabling Vbat
monitoring because it does not display the Vbat value anyway. The
driver enables Vbat monitoring because it does display the value, but
forgets to re-enable it at resume. This is one of the things we must
fix.

> > I'm working on my test system now. It has a different chip (W83627THF)
> > supported by a different driver (w83627hf) but the logic should be very
> > similar. When I'm done with my case, I'll post my results and do the
> > same for the w83627ehf driver.
> 
> Thanks, I'd be very interested in your suspend/resume code (learn 
> something new). May I assume you have the same problem (at least with 
> min/max) values then?

I had never tried suspending this specific machine, I'm only using it
to test and fix the w83627hf driver. Yes, some (curiously not all)
limits go wrong on resume, but that's not the only register values
which are lost. I suspect the rest is mainly BIOS bugs, where the
hardware monitoring chip configuration done by the BIOS at boot time is
not replayed at resume time, while it should. As I don't expect it to
be fixed in the BIOS on that 2005 machine, we'll have to work around it
in the driver I suppose.

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (5 preceding siblings ...)
  2012-10-23 12:34 ` Jean Delvare
@ 2012-10-23 14:01 ` Guenter Roeck
  2012-10-23 16:32 ` Jean Delvare
                   ` (31 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-23 14:01 UTC (permalink / raw)
  To: lm-sensors

On Tue, Oct 23, 2012 at 01:45:16PM +0200, Jean Delvare wrote:
> On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
> > Am 23.10.2012 09:14, schrieb Jean Delvare:
> > > Reloading the module shouldn't help for limits, they are set by
> > > user-space. Reloading the lm_sensors service instead should help.
> > 
> > Actually that's what I did. Why the need to reload the service after 
> > suspend? Restarting the service causes some user applications to crash 
> > (yes maybe they should be fixed so that doesn't happen).
> 
> The key issue with service reloading is that it will reload (some of)
> the hwmon drivers, which it turn causes hwmon devices to disappear and
> reappear in sysfs. libsensors doesn't notice so it can't tell the
> applications. If we want to be able to handle that kind of cases
> properly we need to let libsensors monitor this and notify the
> applications.
> 
> The fact that this isn't supported at the moment certainly speaks in
> favor of adding proper suspend/resume to the affected drivers rather
> than blindly reloading the lm_sensors service after resume.
> 
> > > Vbat is indeed enabled by the driver at device bind time, as well as a
> > > few other things. In your case you report battery monitoring missing,
> > > but other settings may be broken, for example temperature monitoring
> > > could be stuck or overall monitoring could be disabled. Do all values
> > > (other than Vbat) change as before? The exact effects really depend on
> > > what the BIOS is doing to the chip at boot time and resume time.
> > 
> > All values except the ones mentioned are being reported correctly after 
> > resuming.
> 
> OK. This might depend on the board though. But we can start with your
> particular case, and improve on top of that.
> 
> > > I've been pondering this for a long time. Adding support for limit
> > > saving and restoring to all hwmon drivers would be a significant amount
> > > of code. An easier workaround would be to run "sensors -s" after
> > > resume. This is what I had suggested here:
> > >    https://bugzilla.novell.com/show_bug.cgi?idX0988#c3
> > 
> > I will try this and see if it helps. However, the min/max values or 
> > alarms are not something I use on my desktop, so I don't care very much 
> > if they don't work. In other environments, they will be much more 
> > important I guess.
> 
> Really depends on who is monitoring and for what reasons. Also depends
> if the wrong limits trigger alarms, which in turn may trigger all sort
> of (software or hardware) events.
> 
> The workaround won't work completely for you anyway, as running
> "sensors -s" won't get your Vbat reading back. We will have to do it
> explicitly in the driver's resume function.
> 
> More generally, my first tests suggest that saving and restoring the
> "Value RAM" is neither required (all values read from the sensors are
> useless) nor sufficient (there are other register values which get
> lost.) Some register values are reverted to their default values, which
> suggests these registers are as volatile as the "Value RAM". Other
> values change arbitrarily, suggesting that the BIOS is explicitly
> setting them to different values at resume time.
> 
> If we want to be able to deal with all chips and all BIOS bugs, there's
> a lot of work ahead.
> 
> > (...)
> > Maybe people don't notice or care too if _some_ values are missing. 
> > Especially when those values are not vital. CPU temp, fan speeds etc ok, 
> > but how many typical users monitor the VBAT voltage?
> 
> Actually everyone should, a dead batter can have very bad consequences.
> 
> > The VBAT voltage is not shown in BIOS, while other values are. Maybe the 
> > BIOS is at fault here, and the problem needs to be tackled there.
> 
> It is very frequent that the BIOS doesn't display the values for all
> available sensors. This is a vendor decision, there's nothing we can or
> should do.
> 
> I'm working on my test system now. It has a different chip (W83627THF)
> supported by a different driver (w83627hf) but the logic should be very
> similar. When I'm done with my case, I'll post my results and do the
> same for the w83627ehf driver.
> 
I have a system with NCT6775F, so I'll be able to test the w83627ehf changes
there, at least for that chip.

Guenter

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (6 preceding siblings ...)
  2012-10-23 14:01 ` Guenter Roeck
@ 2012-10-23 16:32 ` Jean Delvare
  2012-10-23 19:02 ` Harald Judt
                   ` (30 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-23 16:32 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 607 bytes --]

Hi Harald,

On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
> All values except the ones mentioned are being reported correctly after 
> resuming.

I have attached a shell script which will dump all registers from the
chip. I would like you to run it before and after suspend, and send me
the results. That way I can ensure that I save and restore all relevant
registers.

# rmmod w83627ehf
# ./isadump_all_banks.sh 0x295 0x296 before-suspend
(suspend, resume)
# ./isadump_all_banks.sh 0x295 0x296 after-resume

This will generate 8 dump files, please send them back to me.

Thanks,
-- 
Jean Delvare

[-- Attachment #2: isadump_all_banks.sh --]
[-- Type: application/x-shellscript, Size: 246 bytes --]

[-- Attachment #3: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (7 preceding siblings ...)
  2012-10-23 16:32 ` Jean Delvare
@ 2012-10-23 19:02 ` Harald Judt
  2012-10-24  3:45 ` Guenter Roeck
                   ` (29 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-23 19:02 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]

Hi,

Am 23.10.2012 18:32, schrieb Jean Delvare:
> Hi Harald,
>
> On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
>> All values except the ones mentioned are being reported correctly after
>> resuming.
>
> I have attached a shell script which will dump all registers from the
> chip. I would like you to run it before and after suspend, and send me
> the results. That way I can ensure that I save and restore all relevant
> registers.
>
> # rmmod w83627ehf
> # ./isadump_all_banks.sh 0x295 0x296 before-suspend
> (suspend, resume)
> # ./isadump_all_banks.sh 0x295 0x296 after-resume
>
> This will generate 8 dump files, please send them back to me.

Here are the 8 dumps generated by the script.

Harald

-- 
`Experience is the best teacher.'

[-- Attachment #2: w83627ehf-isa-dumps.tar.bz2 --]
[-- Type: application/x-bzip, Size: 810 bytes --]

[-- Attachment #3: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (8 preceding siblings ...)
  2012-10-23 19:02 ` Harald Judt
@ 2012-10-24  3:45 ` Guenter Roeck
  2012-10-24  8:39 ` Jean Delvare
                   ` (28 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-24  3:45 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 808 bytes --]

On Tue, Oct 23, 2012 at 06:32:51PM +0200, Jean Delvare wrote:
> Hi Harald,
> 
> On Tue, 23 Oct 2012 11:57:41 +0200, Harald Judt wrote:
> > All values except the ones mentioned are being reported correctly after 
> > resuming.
> 
> I have attached a shell script which will dump all registers from the
> chip. I would like you to run it before and after suspend, and send me
> the results. That way I can ensure that I save and restore all relevant
> registers.
> 
> # rmmod w83627ehf
> # ./isadump_all_banks.sh 0x295 0x296 before-suspend
> (suspend, resume)
> # ./isadump_all_banks.sh 0x295 0x296 after-resume
> 
> This will generate 8 dump files, please send them back to me.
> 
Hi Jean,

In case it helps, I attached register dump files for NCT6775F, created with a
recent version of superiotool.

Guenter

[-- Attachment #2: before-suspend --]
[-- Type: text/plain, Size: 11703 bytes --]

superiotool r4.0-2775-gb3a18ac
Found Nuvoton NCT6775F (B) (id=0xb473) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 27  28 29 2a 2b 2c 2d 2e 2f
val b4 73 ff 60 40 00 00 01  10 00 38 77 fc 04 00 08
def b4 73 ff 78 40 00 00 7d  00 00 58 77 fc 04 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 8e 00 ff  00 00
def 03 03 f0 06 02 8e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1
val 00 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 81
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 1c 00 00 00 00 00 00 00  00 7b 00 00 00 00 00 00  ff ff ff ff ff
def 18 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1)
idx 30 e0 e1 e2 e3 e4 f0 f1  f2 f3 f4 f5 f6 f7
val 06 ff 37 00 00 00 ff 00  00 00 00 ff 00 ff
def 00 ff 00 00 00 00 ff 00  00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0f cf 00 00 00 ff 80 00  00 00 00 00 00 00 00 00  00 ff e0 00 00 00
def 05 ff 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ed f2 f3  f4 f6 f7 fe
val 01 01 00 00 00 00 02 5c  00 01 00 00 16 20 7c 00  00 00 20 00
def 00 01 00 00 00 00 02 1c  00 00 00 00 00 00 7c 00  00 00 20 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 f0 f1  f2 f3 f4 f5 f6 f7 f8 f9  fa fb fc fd fe
val 01 02 90 02 a0 00 1e 00  00 00 04 10 00 87 47 00  00 00 00 00 00
def 00 00 00 00 00 00 c1 00  00 00 00 10 00 87 47 00  00 00 00 00 00
LDN 0x0c (PECI, SST)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee ef f1 f2 f3 fa
val ff 00 00 00 00 60 00 01  2f 47 5b 48 50 10 00
def 00 00 00 00 00 00 00 01  0f 47 5b 40 50 10 00
LDN 0x0d (VID, VIDDAC, BUSSEL)
idx e0 e1 e2 e3 e4 e5 e6 e7  eb ec ed ee ef f3 f4 f5  f6 f7 f8 f9
val 00 00 ff ff 07 00 00 00  14 00 00 88 00 00 00 00  07 ff 00 7b
def 00 00 00 00 07 00 00 00  14 01 00 88 00 00 00 00  07 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f2 f3 f4 f8 fe
val ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
def ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 4d 04 33 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 4d 00 ff 00 ff ff ff 43 3f 00 00 26 ff 04 c5 
02: 5f 60 d9 d9 a2 b8 84 1a 40 29 00 da 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: 01 00 00 ff ff 00 3a 05 2d ff 00 00 18 95 00 a3 
05: ff ff 00 ff ff ff 00 80 c1 70 ff ff 01 0f 0e 05 
06: 00 ff 40 01 01 01 00 ff ff ff ff ff 00 ed 1a ff 
07: 00 0a 00 2f 00 16 00 2f 00 ff 00 1f ff 01 1a 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 00 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 31 00 00 00 01 ff ff ff ff ff 01 ff 
05: 1a 00 00 4b 00 50 05 fe ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 05 01 42 0a 0a 80 01 3c 01 33 ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 46 46 4f 52 55 33 33 33 66 9a ff ff ff ff 
03: ff 00 ff 33 02 5d 00 ff 00 c2 02 01 29 46 ff 00 
04: 33 ff 33 33 17 00 00 00 01 ff ff ff ff ff 02 ff 
05: 16 00 00 4b 00 50 18 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 02 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 31 00 00 00 01 ff ff ff ff ff 03 ff 
05: 00 03 03 05 00 03 03 03 04 01 24 d8 24 05 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff 00 00 96 64 96 64 e1 96 01 ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 03 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 00 13 ff 00 00 00 00 2b 6c de 11 33 09 5f 20 ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 55 77 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: cf c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ec ff 
02: ff 01 02 05 0e 06 01 ff 00 00 00 2f 00 1a 04 00 
03: 00 40 00 29 00 00 00 00 00 00 ff ff ff ff ff ff 
04: ff 02 02 02 02 02 00 00 00 ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 02 93 04 04 00 00 00 00 00 00 
06: 2f 2f 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 10:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 62 48 48 48 48 48 48 48 00 00 00 00 00 01 01 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 2f ed 00 00 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
03: 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 12:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0c ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 13:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d ff 
05: 02 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 32 00 00 00 00 00 00 00 01 00 01 00 42 22 00 
07: 00 3c 41 be e0 ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #3: after-suspend --]
[-- Type: text/plain, Size: 11703 bytes --]

superiotool r4.0-2775-gb3a18ac
Found Nuvoton NCT6775F (B) (id=0xb473) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 27  28 29 2a 2b 2c 2d 2e 2f
val b4 73 ff 60 40 00 00 01  10 00 38 77 fc 04 00 08
def b4 73 ff 78 40 00 00 7d  00 00 58 77 fc 04 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 8e 00 ff  00 00
def 03 03 f0 06 02 8e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1
val 00 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 81
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 1c 00 00 00 00 00 00 00  00 7b 00 00 00 00 00 00  ff ff ff ff ff
def 18 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1)
idx 30 e0 e1 e2 e3 e4 f0 f1  f2 f3 f4 f5 f6 f7
val 06 ff 37 00 00 00 ff 00  00 00 00 ff 00 ff
def 00 ff 00 00 00 00 ff 00  00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0f cf 00 00 00 ff 80 00  80 00 00 00 00 00 00 00  00 1f 00 00 00 00
def 05 ff 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ed f2 f3  f4 f6 f7 fe
val 01 00 00 00 00 00 02 5c  00 01 00 00 16 20 7c 00  00 00 20 00
def 00 01 00 00 00 00 02 1c  00 00 00 00 00 00 7c 00  00 00 20 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 f0 f1  f2 f3 f4 f5 f6 f7 f8 f9  fa fb fc fd fe
val 01 02 90 02 a0 00 1e 00  00 00 04 10 00 87 47 00  00 00 00 00 00
def 00 00 00 00 00 00 c1 00  00 00 00 10 00 87 47 00  00 00 00 00 00
LDN 0x0c (PECI, SST)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee ef f1 f2 f3 fa
val ff 00 00 00 00 60 00 01  2f 47 5b 48 50 10 00
def 00 00 00 00 00 00 00 01  0f 47 5b 40 50 10 00
LDN 0x0d (VID, VIDDAC, BUSSEL)
idx e0 e1 e2 e3 e4 e5 e6 e7  eb ec ed ee ef f3 f4 f5  f6 f7 f8 f9
val 00 00 ff ff 07 00 00 00  14 00 00 88 00 00 00 00  07 ff 00 e7
def 00 00 00 00 07 00 00 00  14 01 00 88 00 00 00 00  07 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f2 f3 f4 f8 fe
val ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
def ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 4d 04 33 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 4d 00 ff 00 ff ff ff 43 3f 00 00 25 ff 03 c5 
02: 5d 60 d9 d9 a2 b8 84 1b 3d 00 00 da 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: 01 5e 07 ff ff 00 3a 05 2d ff 00 00 18 95 00 a3 
05: ff ff 00 ff ff ff 00 80 c1 70 ff ff 01 0e 0e 05 
06: 00 ff 40 01 01 01 00 ff ff ff ff ff 00 ed 86 ff 
07: 00 0a 00 2c 00 18 00 2c 00 ff 00 1f ff 01 1b 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 00 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 2b 00 00 00 01 ff ff ff ff ff 01 ff 
05: 1a 80 00 4b 00 50 05 fe ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 05 01 42 0a 0a 80 01 3c 01 33 ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 46 46 4f 52 55 33 33 33 66 9a ff ff ff ff 
03: ff 00 ff 33 02 5d 00 ff 00 c2 02 01 29 46 ff 00 
04: 33 ff 33 33 19 00 00 00 01 ff ff ff ff ff 02 ff 
05: 18 00 00 4b 00 50 18 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 02 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 2b 00 00 00 01 ff ff ff ff ff 03 ff 
05: 07 03 05 05 00 03 03 03 07 00 24 d7 24 08 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff 00 00 96 64 96 64 e1 96 01 ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 03 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 03 13 ff 00 00 00 00 23 30 5e 11 33 09 5f 20 ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 55 55 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: cf 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ec ff 
02: ff 01 02 05 0e 06 01 ff 00 00 00 2c 00 1b 00 00 
03: 00 3d 00 00 00 00 00 00 00 00 ff ff ff ff ff ff 
04: ff 02 02 02 02 02 00 00 00 ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 02 b3 00 00 00 00 00 00 00 00 
06: 2c 2c 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 10:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 62 48 48 48 48 48 48 48 00 00 00 00 00 01 01 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 86 ed 00 00 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
03: 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 12:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0c ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 13:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d ff 
05: 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 32 00 00 00 00 00 00 00 01 00 01 00 42 22 00 
07: 00 3c 41 be 45 ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #4: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (9 preceding siblings ...)
  2012-10-24  3:45 ` Guenter Roeck
@ 2012-10-24  8:39 ` Jean Delvare
  2012-10-24 18:05 ` Harald Judt
                   ` (27 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-24  8:39 UTC (permalink / raw)
  To: lm-sensors

On Tue, 23 Oct 2012 21:02:40 +0200, Harald Judt wrote:
> Am 23.10.2012 18:32, schrieb Jean Delvare:
> > I have attached a shell script which will dump all registers from the
> > chip. I would like you to run it before and after suspend, and send me
> > the results. That way I can ensure that I save and restore all relevant
> > registers.
> >
> > # rmmod w83627ehf
> > # ./isadump_all_banks.sh 0x295 0x296 before-suspend
> > (suspend, resume)
> > # ./isadump_all_banks.sh 0x295 0x296 after-resume
> >
> > This will generate 8 dump files, please send them back to me.
> 
> Here are the 8 dumps generated by the script.

Thank you. I have come up with a first implementation of suspend/resume
support for the w83627ehf driver. Is is available as a patch below, but
also as a standalone driver at:
  http://khali.linux-fr.org/devel/misc/w83627ehf/
Instructions at:
 http://khali.linux-fr.org/devel/misc/INSTALL

From: Jean Delvare <khali@linux-fr.org>
Subject: hwmon: (w83627ehf) Add support for suspend

On suspend some register values are lost, most notably the Value RAM
areas but also other limits and settings. Restore them on resume.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
---
 drivers/hwmon/w83627ehf.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 92 insertions(+), 1 deletion(-)

--- linux-3.7-rc2.orig/drivers/hwmon/w83627ehf.c	2012-10-23 11:29:19.000000000 +0200
+++ linux-3.7-rc2/drivers/hwmon/w83627ehf.c	2012-10-24 10:12:36.752171223 +0200
@@ -1,7 +1,7 @@
 /*
  *  w83627ehf - Driver for the hardware monitoring functionality of
  *		the Winbond W83627EHF Super-I/O chip
- *  Copyright (C) 2005-2011  Jean Delvare <khali@linux-fr.org>
+ *  Copyright (C) 2005-2012  Jean Delvare <khali@linux-fr.org>
  *  Copyright (C) 2006  Yuan Mu (Winbond),
  *			Rudolf Marek <r.marek@assembler.cz>
  *			David Hubbard <david.c.hubbard@gmail.com>
@@ -502,6 +502,13 @@ struct w83627ehf_data {
 	u16 have_temp_offset;
 	u8 in6_skip:1;
 	u8 temp3_val_only:1;
+
+#ifdef CONFIG_PM
+	/* Remember extra register values over suspend/resume */
+	u8 vbat;
+	u8 fandiv1;
+	u8 fandiv2;
+#endif
 };
 
 struct w83627ehf_sio_data {
@@ -2607,10 +2614,94 @@ static int __devexit w83627ehf_remove(st
 	return 0;
 }
 
+#ifdef CONFIG_PM
+static int w83627ehf_suspend(struct device *dev)
+{
+	struct w83627ehf_data *data = w83627ehf_update_device(dev);
+	struct w83627ehf_sio_data *sio_data = dev->platform_data;
+
+	mutex_lock(&data->update_lock);
+	data->vbat = w83627ehf_read_value(data, W83627EHF_REG_VBAT);
+	if (sio_data->kind = nct6775) {
+		data->fandiv1 = w83627ehf_read_value(data, NCT6775_REG_FANDIV1);
+		data->fandiv2 = w83627ehf_read_value(data, NCT6775_REG_FANDIV2);
+	}
+	mutex_unlock(&data->update_lock);
+
+	return 0;
+}
+
+static int w83627ehf_resume(struct device *dev)
+{
+	struct w83627ehf_data *data = dev_get_drvdata(dev);
+	struct w83627ehf_sio_data *sio_data = dev->platform_data;
+	int i;
+
+	/* Restore limits */
+	mutex_lock(&data->update_lock);
+	for (i = 0; i < data->in_num; i++) {
+		if ((i = 6) && data->in6_skip)
+			continue;
+
+		w83627ehf_write_value(data, W83627EHF_REG_IN_MIN(i),
+				      data->in_min[i]);
+		w83627ehf_write_value(data, W83627EHF_REG_IN_MAX(i),
+				      data->in_max[i]);
+	}
+
+	for (i = 0; i < 5; i++) {
+		if (!(data->has_fan_min & (1 << i)))
+			continue;
+
+		w83627ehf_write_value(data, data->REG_FAN_MIN[i],
+				      data->fan_min[i]);
+	}
+
+	for (i = 0; i < NUM_REG_TEMP; i++) {
+		if (!(data->have_temp & (1 << i)))
+			continue;
+
+		if (data->reg_temp_over[i])
+			w83627ehf_write_temp(data, data->reg_temp_over[i],
+					     data->temp_max[i]);
+		if (data->reg_temp_hyst[i])
+			w83627ehf_write_temp(data, data->reg_temp_hyst[i],
+					     data->temp_max_hyst[i]);
+		if (data->have_temp_offset & (1 << i))
+			w83627ehf_write_value(data,
+					      W83627EHF_REG_TEMP_OFFSET[i],
+					      data->temp_offset[i]);
+	}
+
+	/* Restore other settings */
+	w83627ehf_write_value(data, W83627EHF_REG_VBAT, data->vbat);
+	if (sio_data->kind = nct6775) {
+		w83627ehf_write_value(data, NCT6775_REG_FANDIV1, data->fandiv1);
+		w83627ehf_write_value(data, NCT6775_REG_FANDIV2, data->fandiv2);
+	}
+
+	/* Force re-reading all values */
+	data->valid = 0;
+	mutex_unlock(&data->update_lock);
+
+	return 0;
+}
+
+static const struct dev_pm_ops w83627ehf_dev_pm_ops = {
+	.suspend = w83627ehf_suspend,
+	.resume = w83627ehf_resume,
+};
+
+#define W83627EHF_DEV_PM_OPS	(&w83627ehf_dev_pm_ops)
+#else
+#define W83627EHF_DEV_PM_OPS	NULL
+#endif /* CONFIG_PM */
+
 static struct platform_driver w83627ehf_driver = {
 	.driver = {
 		.owner	= THIS_MODULE,
 		.name	= DRVNAME,
+		.pm	= W83627EHF_DEV_PM_OPS,
 	},
 	.probe		= w83627ehf_probe,
 	.remove		= __devexit_p(w83627ehf_remove),


-- 
Jean Delvare
http://khali.linux-fr.org/wishlist.html

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (10 preceding siblings ...)
  2012-10-24  8:39 ` Jean Delvare
@ 2012-10-24 18:05 ` Harald Judt
  2012-10-24 18:14 ` Harald Judt
                   ` (26 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-24 18:05 UTC (permalink / raw)
  To: lm-sensors

Hi Jean,

Am 24.10.2012 10:39, schrieb Jean Delvare:
> On Tue, 23 Oct 2012 21:02:40 +0200, Harald Judt wrote:
>> Am 23.10.2012 18:32, schrieb Jean Delvare:
>>> I have attached a shell script which will dump all registers from the
>>> chip. I would like you to run it before and after suspend, and send me
>>> the results. That way I can ensure that I save and restore all relevant
>>> registers.
>>>
>>> # rmmod w83627ehf
>>> # ./isadump_all_banks.sh 0x295 0x296 before-suspend
>>> (suspend, resume)
>>> # ./isadump_all_banks.sh 0x295 0x296 after-resume
>>>
>>> This will generate 8 dump files, please send them back to me.
>>
>> Here are the 8 dumps generated by the script.
>
> Thank you. I have come up with a first implementation of suspend/resume
> support for the w83627ehf driver. Is is available as a patch below, but
> also as a standalone driver at:
>    http://khali.linux-fr.org/devel/misc/w83627ehf/
> Instructions at:
>   http://khali.linux-fr.org/devel/misc/INSTALL
>
> From: Jean Delvare <khali@linux-fr.org>
> Subject: hwmon: (w83627ehf) Add support for suspend
>
> On suspend some register values are lost, most notably the Value RAM
> areas but also other limits and settings. Restore them on resume.
>
> Signed-off-by: Jean Delvare <khali@linux-fr.org>
> ---
>   drivers/hwmon/w83627ehf.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-
>   1 file changed, 92 insertions(+), 1 deletion(-)
>
> --- linux-3.7-rc2.orig/drivers/hwmon/w83627ehf.c	2012-10-23 11:29:19.000000000 +0200
> +++ linux-3.7-rc2/drivers/hwmon/w83627ehf.c	2012-10-24 10:12:36.752171223 +0200
> @@ -1,7 +1,7 @@
>   /*
>    *  w83627ehf - Driver for the hardware monitoring functionality of
>    *		the Winbond W83627EHF Super-I/O chip
> - *  Copyright (C) 2005-2011  Jean Delvare <khali@linux-fr.org>
> + *  Copyright (C) 2005-2012  Jean Delvare <khali@linux-fr.org>
>    *  Copyright (C) 2006  Yuan Mu (Winbond),
>    *			Rudolf Marek <r.marek@assembler.cz>
>    *			David Hubbard <david.c.hubbard@gmail.com>
> @@ -502,6 +502,13 @@ struct w83627ehf_data {
>   	u16 have_temp_offset;
>   	u8 in6_skip:1;
>   	u8 temp3_val_only:1;
> +
> +#ifdef CONFIG_PM
> +	/* Remember extra register values over suspend/resume */
> +	u8 vbat;
> +	u8 fandiv1;
> +	u8 fandiv2;
> +#endif
>   };
>
>   struct w83627ehf_sio_data {
> @@ -2607,10 +2614,94 @@ static int __devexit w83627ehf_remove(st
>   	return 0;
>   }
>
> +#ifdef CONFIG_PM
> +static int w83627ehf_suspend(struct device *dev)
> +{
> +	struct w83627ehf_data *data = w83627ehf_update_device(dev);
> +	struct w83627ehf_sio_data *sio_data = dev->platform_data;
> +
> +	mutex_lock(&data->update_lock);
> +	data->vbat = w83627ehf_read_value(data, W83627EHF_REG_VBAT);
> +	if (sio_data->kind = nct6775) {
> +		data->fandiv1 = w83627ehf_read_value(data, NCT6775_REG_FANDIV1);
> +		data->fandiv2 = w83627ehf_read_value(data, NCT6775_REG_FANDIV2);
> +	}
> +	mutex_unlock(&data->update_lock);
> +
> +	return 0;
> +}
> +
> +static int w83627ehf_resume(struct device *dev)
> +{
> +	struct w83627ehf_data *data = dev_get_drvdata(dev);
> +	struct w83627ehf_sio_data *sio_data = dev->platform_data;
> +	int i;
> +
> +	/* Restore limits */
> +	mutex_lock(&data->update_lock);
> +	for (i = 0; i < data->in_num; i++) {
> +		if ((i = 6) && data->in6_skip)
> +			continue;
> +
> +		w83627ehf_write_value(data, W83627EHF_REG_IN_MIN(i),
> +				      data->in_min[i]);
> +		w83627ehf_write_value(data, W83627EHF_REG_IN_MAX(i),
> +				      data->in_max[i]);
> +	}
> +
> +	for (i = 0; i < 5; i++) {
> +		if (!(data->has_fan_min & (1 << i)))
> +			continue;
> +
> +		w83627ehf_write_value(data, data->REG_FAN_MIN[i],
> +				      data->fan_min[i]);
> +	}
> +
> +	for (i = 0; i < NUM_REG_TEMP; i++) {
> +		if (!(data->have_temp & (1 << i)))
> +			continue;
> +
> +		if (data->reg_temp_over[i])
> +			w83627ehf_write_temp(data, data->reg_temp_over[i],
> +					     data->temp_max[i]);
> +		if (data->reg_temp_hyst[i])
> +			w83627ehf_write_temp(data, data->reg_temp_hyst[i],
> +					     data->temp_max_hyst[i]);
> +		if (data->have_temp_offset & (1 << i))
> +			w83627ehf_write_value(data,
> +					      W83627EHF_REG_TEMP_OFFSET[i],
> +					      data->temp_offset[i]);
> +	}
> +
> +	/* Restore other settings */
> +	w83627ehf_write_value(data, W83627EHF_REG_VBAT, data->vbat);
> +	if (sio_data->kind = nct6775) {
> +		w83627ehf_write_value(data, NCT6775_REG_FANDIV1, data->fandiv1);
> +		w83627ehf_write_value(data, NCT6775_REG_FANDIV2, data->fandiv2);
> +	}
> +
> +	/* Force re-reading all values */
> +	data->valid = 0;
> +	mutex_unlock(&data->update_lock);
> +
> +	return 0;
> +}
> +
> +static const struct dev_pm_ops w83627ehf_dev_pm_ops = {
> +	.suspend = w83627ehf_suspend,
> +	.resume = w83627ehf_resume,
> +};
> +
> +#define W83627EHF_DEV_PM_OPS	(&w83627ehf_dev_pm_ops)
> +#else
> +#define W83627EHF_DEV_PM_OPS	NULL
> +#endif /* CONFIG_PM */
> +
>   static struct platform_driver w83627ehf_driver = {
>   	.driver = {
>   		.owner	= THIS_MODULE,
>   		.name	= DRVNAME,
> +		.pm	= W83627EHF_DEV_PM_OPS,
>   	},
>   	.probe		= w83627ehf_probe,
>   	.remove		= __devexit_p(w83627ehf_remove),
>
>

Thank you for your patch. I've applied it on 3.6.2, and it seems to work 
fine. The values are saved and restored correctly, and they also keep 
changing after resume. Further it gave me a little insight in how 
suspend/resume code works.

Best regards,
Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (11 preceding siblings ...)
  2012-10-24 18:05 ` Harald Judt
@ 2012-10-24 18:14 ` Harald Judt
  2012-10-24 19:23 ` Jean Delvare
                   ` (25 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-24 18:14 UTC (permalink / raw)
  To: lm-sensors

Hi Jean,

Am 24.10.2012 20:05, schrieb Harald Judt:
[...]
> Thank you for your patch. I've applied it on 3.6.2, and it seems to work
> fine. The values are saved and restored correctly, and they also keep
> changing after resume. Further it gave me a little insight in how
> suspend/resume code works.

Sorry, I stand corrected. Not all min/max values have been restored:

Before suspend:
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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM

After resume:
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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM

I somehow missed the min/max differences in AVCC and +3.3V, too many 
numbers ;-)

But the rest is fine, double-checked now.

BTW: cpu0_vid is always +0.000 V, am I right assuming this simply isn't 
supported on my board?

Harald

-- 
`Experience is the best teacher.'


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (12 preceding siblings ...)
  2012-10-24 18:14 ` Harald Judt
@ 2012-10-24 19:23 ` Jean Delvare
  2012-10-25  9:53 ` Guenter Roeck
                   ` (24 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-24 19:23 UTC (permalink / raw)
  To: lm-sensors

On Wed, 24 Oct 2012 20:14:41 +0200, Harald Judt wrote:
> Hi Jean,
> 
> Am 24.10.2012 20:05, schrieb Harald Judt:
> [...]
> > Thank you for your patch. I've applied it on 3.6.2, and it seems to work
> > fine. The values are saved and restored correctly, and they also keep
> > changing after resume. Further it gave me a little insight in how
> > suspend/resume code works.
> 
> Sorry, I stand corrected. Not all min/max values have been restored:
> 
> Before suspend:
> 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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
> 
> After resume:
> 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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
> 
> I somehow missed the min/max differences in AVCC and +3.3V, too many 
> numbers ;-)

Odd, I'll take a look.

> But the rest is fine, double-checked now.

To be really sure, it would be good if you could set arbitrary non-zero
limits to in1, in4, in5 etc. otherwise we can't be sure these limits
have been restored either.

> BTW: cpu0_vid is always +0.000 V, am I right assuming this simply isn't 
> supported on my board?

Yes, that's the most likely. With CPUs reporting their VID through MSRs
these days, board manufacturers tend to stop wiring the VID pins to
save space on the PCB.

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (13 preceding siblings ...)
  2012-10-24 19:23 ` Jean Delvare
@ 2012-10-25  9:53 ` Guenter Roeck
  2012-10-25 17:26 ` Harald Judt
                   ` (23 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-25  9:53 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 2840 bytes --]

On Wed, Oct 24, 2012 at 10:39:36AM +0200, Jean Delvare wrote:
> On Tue, 23 Oct 2012 21:02:40 +0200, Harald Judt wrote:
> > Am 23.10.2012 18:32, schrieb Jean Delvare:
> > > I have attached a shell script which will dump all registers from the
> > > chip. I would like you to run it before and after suspend, and send me
> > > the results. That way I can ensure that I save and restore all relevant
> > > registers.
> > >
> > > # rmmod w83627ehf
> > > # ./isadump_all_banks.sh 0x295 0x296 before-suspend
> > > (suspend, resume)
> > > # ./isadump_all_banks.sh 0x295 0x296 after-resume
> > >
> > > This will generate 8 dump files, please send them back to me.
> > 
> > Here are the 8 dumps generated by the script.
> 
> Thank you. I have come up with a first implementation of suspend/resume
> support for the w83627ehf driver. Is is available as a patch below, but
> also as a standalone driver at:
>   http://khali.linux-fr.org/devel/misc/w83627ehf/
> Instructions at:
>  http://khali.linux-fr.org/devel/misc/INSTALL
> 
Data for before and after suspend/resume attached. This is with the new driver
and NCT6775F.

When I tried susped/resume with the old driver, automatic fan control was not
properly restored. The system ended up really hot under load and even got a thermal
throttle event. Given that more and more people use suspend/resume, it may be
quite important to implement this for as many drivers as we can.

Sensors command output looks ok after resume.

nct6775-isa-0290
Adapter: ISA adapter
Vcore:          +1.23 V  (min =  +0.00 V, max =  +1.74 V)
in1:            +0.75 V  (min =  +0.67 V, max =  +0.82 V)
AVCC:           +3.42 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:          +3.42 V  (min =  +2.98 V, max =  +3.63 V)
in4:            +1.30 V  (min =  +1.17 V, max =  +1.43 V)
in5:            +1.46 V  (min =  +1.35 V, max =  +1.65 V)
in6:            +1.06 V  (min =  +0.90 V, max =  +1.10 V)
3VSB:           +3.30 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:           +3.22 V  (min =  +2.70 V, max =  +3.30 V)
fan1:           691 RPM  (min =  502 RPM, div = 16)
fan2:          1562 RPM  (min = 1004 RPM, div = 16)
fan3:             0 RPM  (min =    0 RPM, div = 128)
fan4:             0 RPM  (div = 128)
SYSTIN:         +44.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
CPUTIN:         +70.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
PECI Agent 0:   +82.5°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = Intel PECI
PCH_CHIP_TEMP:  +49.0°C
PECI Agent 1:    +0.0°C  (high = +80.0°C, hyst = +75.0°C)
cpu0_vid:      +0.000 V
intrusion0:    OK

The CPU temperature is around 80 degrees C (load average around 10). That is ok;
important is that fan2 runs at higher than its base speed (which it didn't with
the old driver after resume).

Guenter

[-- Attachment #2: before-suspend --]
[-- Type: text/plain, Size: 11703 bytes --]

superiotool r4.0-2775-gb3a18ac
Found Nuvoton NCT6775F (B) (id=0xb473) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 27  28 29 2a 2b 2c 2d 2e 2f
val b4 73 ff 60 40 00 00 01  10 00 38 77 fc 04 00 08
def b4 73 ff 78 40 00 00 7d  00 00 58 77 fc 04 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 8e 00 ff  00 00
def 03 03 f0 06 02 8e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1
val 00 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 81
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 1c 00 00 00 00 00 00 00  00 7b 00 00 00 00 00 00  ff ff ff ff ff
def 18 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1)
idx 30 e0 e1 e2 e3 e4 f0 f1  f2 f3 f4 f5 f6 f7
val 06 00 00 00 00 00 ff 00  00 00 00 ff 00 ff
def 00 ff 00 00 00 00 ff 00  00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0f cf 00 00 00 ff 80 00  00 00 00 00 00 00 00 00  00 1f 00 00 00 00
def 05 ff 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ed f2 f3  f4 f6 f7 fe
val 01 01 00 00 00 00 02 5c  00 01 00 00 16 20 7c 00  00 00 20 00
def 00 01 00 00 00 00 02 1c  00 00 00 00 00 00 7c 00  00 00 20 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 f0 f1  f2 f3 f4 f5 f6 f7 f8 f9  fa fb fc fd fe
val 01 02 90 02 a0 00 1e 00  00 00 04 10 00 87 47 00  00 00 00 00 00
def 00 00 00 00 00 00 c1 00  00 00 00 10 00 87 47 00  00 00 00 00 00
LDN 0x0c (PECI, SST)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee ef f1 f2 f3 fa
val ff 00 00 00 00 60 00 01  2f 47 5b 48 50 10 00
def 00 00 00 00 00 00 00 01  0f 47 5b 40 50 10 00
LDN 0x0d (VID, VIDDAC, BUSSEL)
idx e0 e1 e2 e3 e4 e5 e6 e7  eb ec ed ee ef f3 f4 f5  f6 f7 f8 f9
val 00 00 ff ff 07 00 00 00  14 00 00 88 00 00 00 00  07 ff 00 7b
def 00 00 00 00 07 00 00 00  14 01 00 88 00 00 00 00  07 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f2 f3 f4 f8 fe
val ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
def ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 4d 04 33 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 4d 00 ff 00 ff ff ff 43 3f 00 00 32 ff 04 c2 
02: 9a 5f d7 d7 a0 b7 84 2a 77 a5 00 da 00 67 54 e3 
03: ba e3 ba b3 92 ce a9 8a 71 50 4b a8 a8 00 00 00 
04: 01 00 00 ff ff 00 3a 05 2d ff 00 00 18 95 00 a3 
05: ff ff 00 ff ff ff 00 80 c1 70 ff ff 01 0f 0e 05 
06: 00 ff 40 01 01 01 00 ff ff ff ff ff 00 f6 76 ff 
07: 00 0a 00 31 00 3b 80 31 00 ff 00 1f ff 01 2a 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 00 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 31 00 00 00 01 ff ff ff ff ff 01 ff 
05: 34 00 00 4b 00 50 00 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 05 01 42 0a 0a 80 01 3c 01 33 ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 46 46 4f 52 55 33 33 33 66 9a ff ff ff ff 
03: ff 00 ff 33 02 5d 00 ff 00 c2 02 01 29 46 ff 00 
04: 33 ff 33 33 3d 00 00 00 01 ff ff ff ff ff 02 ff 
05: 3b 80 00 4b 00 50 1c 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 02 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 31 00 00 00 01 ff ff ff ff ff 03 ff 
05: 06 05 06 07 07 04 01 05 05 00 26 d5 27 0a 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff 00 00 96 64 96 64 e1 96 01 ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 03 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 00 13 ff 00 00 00 00 26 4d 00 10 00 09 5f 20 ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 34 77 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: ce c9 00 00 e3 ba ce a9 00 00 00 00 00 00 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ec ff 
02: ff 01 02 05 0e 06 01 ff 00 00 00 31 00 2a 04 00 
03: 00 77 00 a5 00 00 00 00 00 00 ff ff ff ff ff ff 
04: ff 02 02 02 02 02 00 00 00 ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 02 c5 03 fe 00 00 00 00 00 00 
06: 31 31 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 10:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 62 48 48 48 48 48 48 48 00 00 00 00 00 01 01 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 76 f6 00 00 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
03: 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 12:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0c ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 13:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d ff 
05: 03 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 32 00 00 00 00 00 00 00 01 00 01 00 42 22 00 
07: 00 3c 41 be 10 ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #3: after-suspend --]
[-- Type: text/plain, Size: 11703 bytes --]

superiotool r4.0-2775-gb3a18ac
Found Nuvoton NCT6775F (B) (id=0xb473) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 27  28 29 2a 2b 2c 2d 2e 2f
val b4 73 ff 60 40 00 00 01  10 00 38 77 fc 04 00 08
def b4 73 ff 78 40 00 00 7d  00 00 58 77 fc 04 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 8e 00 ff  00 00
def 03 03 f0 06 02 8e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1
val 00 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 81
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 1c 00 00 00 00 00 00 00  00 7b 00 00 00 00 00 00  ff ff ff ff ff
def 18 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1)
idx 30 e0 e1 e2 e3 e4 f0 f1  f2 f3 f4 f5 f6 f7
val 06 ff 37 00 00 00 ff 00  00 00 00 ff 00 ff
def 00 ff 00 00 00 00 ff 00  00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0f cf 00 00 00 ff 80 00  80 00 00 00 00 00 00 00  00 1f 00 00 00 00
def 05 ff 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ed f2 f3  f4 f6 f7 fe
val 01 00 00 00 00 00 02 5c  00 01 00 00 16 20 7c 00  00 00 20 00
def 00 01 00 00 00 00 02 1c  00 00 00 00 00 00 7c 00  00 00 20 00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 f0 f1  f2 f3 f4 f5 f6 f7 f8 f9  fa fb fc fd fe
val 01 02 90 02 a0 00 1e 00  00 00 04 10 00 87 47 00  00 00 00 00 00
def 00 00 00 00 00 00 c1 00  00 00 00 10 00 87 47 00  00 00 00 00 00
LDN 0x0c (PECI, SST)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee ef f1 f2 f3 fa
val ff 00 00 00 00 60 00 01  2f 47 5b 48 50 10 00
def 00 00 00 00 00 00 00 01  0f 47 5b 40 50 10 00
LDN 0x0d (VID, VIDDAC, BUSSEL)
idx e0 e1 e2 e3 e4 e5 e6 e7  eb ec ed ee ef f3 f4 f5  f6 f7 f8 f9
val 00 00 ff ff 07 00 00 00  14 00 00 88 00 00 00 00  07 ff 00 7b
def 00 00 00 00 07 00 00 00  14 01 00 88 00 00 00 00  07 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f2 f3 f4 f8 fe
val ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
def ff ff f7 ff fb cb ff ff  ff ff 00 00 00 00 70 ff
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 4d 04 88 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 4d 00 ff 00 ff ff ff 43 3f 00 00 30 ff 03 d7 
02: 9a 5e d6 d6 a1 b7 84 2a 7a 3c 00 da 00 67 54 e3 
03: ba e3 ba b3 92 ce a9 8a 71 50 4b a8 54 00 00 00 
04: 01 de 00 ff ff 00 3a 05 2d ff 00 00 18 95 00 a3 
05: ff ff 00 ff ff ff 00 80 c1 70 ff ff 01 0f 0e 05 
06: 00 ff 40 01 01 01 00 ff ff ff ff ff 00 fc 3e ff 
07: 00 0a 00 30 00 52 80 30 00 ff 00 1f ff 01 2a 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 00 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 2f 00 00 00 01 ff ff ff ff ff 01 ff 
05: 45 80 00 4b 00 50 10 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 05 01 42 0a 0a 80 01 3c 01 33 ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 46 46 4f 52 55 33 33 33 66 9a ff ff ff ff 
03: ff 00 ff 88 02 5d 00 ff 00 c2 02 01 29 46 ff 00 
04: 88 ff 33 88 51 00 00 00 01 ff ff ff ff ff 02 ff 
05: 52 80 00 4b 00 50 0c 00 ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0e 01 42 0a 0a 01 01 3c 02 4d ff 01 ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 02 01 59 59 62 65 68 4d 4d 4d 7b a6 ff ff ff ff 
03: ff 00 ff 4d 02 72 00 ff 00 c1 02 01 24 46 ff 00 
04: 4d ff 4d 4d 2f 00 00 00 01 ff ff ff ff ff 03 ff 
05: 03 04 03 04 06 05 02 06 04 00 26 c5 29 0a 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff 00 00 96 64 96 64 e1 96 01 ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 03 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 03 13 ff 00 00 00 00 25 26 00 30 00 09 5f 20 ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 44 77 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: ce c9 00 00 e3 ba ce a9 00 00 00 00 00 00 00 00 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 
01: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ec ff 
02: ff 01 02 05 0e 06 01 ff 00 00 00 30 00 2a 04 00 
03: 00 7a 00 3c 00 00 00 00 00 00 ff ff ff ff ff ff 
04: ff 02 02 02 02 02 00 00 00 ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 02 b3 05 7e 00 00 00 00 00 00 
06: 30 30 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 10:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 62 48 48 48 48 48 48 48 00 00 00 00 00 01 01 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 3e fc 00 00 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
03: 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 80 f8 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 12:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0c ff 
05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 13:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d ff 
05: 03 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
06: 00 32 00 00 00 00 00 00 00 01 00 01 00 42 22 00 
07: 00 3c 41 be d5 ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #4: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (14 preceding siblings ...)
  2012-10-25  9:53 ` Guenter Roeck
@ 2012-10-25 17:26 ` Harald Judt
  2012-10-25 19:07 ` Jean Delvare
                   ` (22 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-25 17:26 UTC (permalink / raw)
  To: lm-sensors

Am 24.10.2012 21:23, schrieb Jean Delvare:
> On Wed, 24 Oct 2012 20:14:41 +0200, Harald Judt wrote:
>> Hi Jean,
>>
>> Am 24.10.2012 20:05, schrieb Harald Judt:
>> [...]
>>> Thank you for your patch. I've applied it on 3.6.2, and it seems to work
>>> fine. The values are saved and restored correctly, and they also keep
>>> changing after resume. Further it gave me a little insight in how
>>> suspend/resume code works.
>>
>> Sorry, I stand corrected. Not all min/max values have been restored:
>>
>> Before suspend:
>> 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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>
>> After resume:
>> 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.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>> in5:           +1.68 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
>>
>> I somehow missed the min/max differences in AVCC and +3.3V, too many
>> numbers ;-)
>
> Odd, I'll take a look.
>
>> But the rest is fine, double-checked now.
>
> To be really sure, it would be good if you could set arbitrary non-zero
> limits to in1, in4, in5 etc. otherwise we can't be sure these limits
> have been restored either.

Good idea. Here is the corresponding part of my adjusted 
/etc/sensors3.conf file:

chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"

     label in0 "Vcore"
     label in2 "AVCC"
     label in3 "+3.3V"
     label in7 "3VSB"
     label in8 "Vbat"

     set in0_min  0.5 * 1.00
     set in0_max  2.0 * 1.00
     set in1_min  1.6 * 1.00
     set in1_max  1.95 * 1.00
     set in2_min  2.0 * 1.00
     set in2_max  3.5 * 1.00
     set in3_min  2.0 * 1.00
     set in3_max  3.5 * 1.00
     set in4_min  0.8 * 1.00
     set in4_max  1.2 * 1.00
     set in5_min  1.5 * 1.00
     set in5_max  1.95 * 1.00
     set in7_min  2.0 * 1.00
     set in7_max  3.5 * 1.00
     set in8_min  2.0 * 1.00
     set in8_max  3.5 * 1.00

There are some limits for min/max values, e.g. in5_max will get reset to 
2.04 if you try to use a higher value. Therefore I've set it to 0.95 to 
avoid any confusion.

So, here are the results after sensors -s:

nct6776-isa-0290
Adapter: ISA adapter
Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
+3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)

And after resume:
nct6776-isa-0290
Adapter: ISA adapter
Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)

Apparently, in0-in5 do not get restored, only in7 and in8 do. There is 
no in6 on this chip (verified by looking in /sys/class/hwmon).

>> BTW: cpu0_vid is always +0.000 V, am I right assuming this simply isn't
>> supported on my board?
>
> Yes, that's the most likely. With CPUs reporting their VID through MSRs
> these days, board manufacturers tend to stop wiring the VID pins to
> save space on the PCB.

Thanks for clarification.

Note that I'll be able to respond to mails but not to do any further 
tests on this machine until 2nd of November.

Regards,
Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (15 preceding siblings ...)
  2012-10-25 17:26 ` Harald Judt
@ 2012-10-25 19:07 ` Jean Delvare
  2012-10-25 19:16 ` Harald Judt
                   ` (21 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-25 19:07 UTC (permalink / raw)
  To: lm-sensors

On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
> Am 24.10.2012 21:23, schrieb Jean Delvare:
> > To be really sure, it would be good if you could set arbitrary non-zero
> > limits to in1, in4, in5 etc. otherwise we can't be sure these limits
> > have been restored either.
> 
> Good idea. Here is the corresponding part of my adjusted 
> /etc/sensors3.conf file:
> 
> chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
> 
>      label in0 "Vcore"
>      label in2 "AVCC"
>      label in3 "+3.3V"
>      label in7 "3VSB"
>      label in8 "Vbat"
> 
>      set in0_min  0.5 * 1.00
>      set in0_max  2.0 * 1.00
>      set in1_min  1.6 * 1.00
>      set in1_max  1.95 * 1.00
>      set in2_min  2.0 * 1.00
>      set in2_max  3.5 * 1.00
>      set in3_min  2.0 * 1.00
>      set in3_max  3.5 * 1.00
>      set in4_min  0.8 * 1.00
>      set in4_max  1.2 * 1.00
>      set in5_min  1.5 * 1.00
>      set in5_max  1.95 * 1.00
>      set in7_min  2.0 * 1.00
>      set in7_max  3.5 * 1.00
>      set in8_min  2.0 * 1.00
>      set in8_max  3.5 * 1.00
> 
> There are some limits for min/max values, e.g. in5_max will get reset to 
> 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to 
> avoid any confusion.
> 
> So, here are the results after sensors -s:
> 
> nct6776-isa-0290
> Adapter: ISA adapter
> Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
> in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
> AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
> in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
> 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> 
> And after resume:
> nct6776-isa-0290
> Adapter: ISA adapter
> Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> 
> Apparently, in0-in5 do not get restored, only in7 and in8 do. There is 
> no in6 on this chip (verified by looking in /sys/class/hwmon).

I don't get it. I have double checked my code and I don't see how this
is possible. Plus Guenter's testing was successful...

Are you 100% certain that the above test was with my driver and not the
one shipping with your distribution kernel?

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (16 preceding siblings ...)
  2012-10-25 19:07 ` Jean Delvare
@ 2012-10-25 19:16 ` Harald Judt
  2012-10-25 20:37 ` Guenter Roeck
                   ` (20 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-25 19:16 UTC (permalink / raw)
  To: lm-sensors

Am 25.10.2012 21:07, schrieb Jean Delvare:
> On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
>> Am 24.10.2012 21:23, schrieb Jean Delvare:
>>> To be really sure, it would be good if you could set arbitrary non-zero
>>> limits to in1, in4, in5 etc. otherwise we can't be sure these limits
>>> have been restored either.
>>
>> Good idea. Here is the corresponding part of my adjusted
>> /etc/sensors3.conf file:
>>
>> chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
>>
>>       label in0 "Vcore"
>>       label in2 "AVCC"
>>       label in3 "+3.3V"
>>       label in7 "3VSB"
>>       label in8 "Vbat"
>>
>>       set in0_min  0.5 * 1.00
>>       set in0_max  2.0 * 1.00
>>       set in1_min  1.6 * 1.00
>>       set in1_max  1.95 * 1.00
>>       set in2_min  2.0 * 1.00
>>       set in2_max  3.5 * 1.00
>>       set in3_min  2.0 * 1.00
>>       set in3_max  3.5 * 1.00
>>       set in4_min  0.8 * 1.00
>>       set in4_max  1.2 * 1.00
>>       set in5_min  1.5 * 1.00
>>       set in5_max  1.95 * 1.00
>>       set in7_min  2.0 * 1.00
>>       set in7_max  3.5 * 1.00
>>       set in8_min  2.0 * 1.00
>>       set in8_max  3.5 * 1.00
>>
>> There are some limits for min/max values, e.g. in5_max will get reset to
>> 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to
>> avoid any confusion.
>>
>> So, here are the results after sensors -s:
>>
>> nct6776-isa-0290
>> Adapter: ISA adapter
>> Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
>> in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
>> AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
>> +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
>> in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
>> in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
>> 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
>> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
>>
>> And after resume:
>> nct6776-isa-0290
>> Adapter: ISA adapter
>> Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
>> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
>>
>> Apparently, in0-in5 do not get restored, only in7 and in8 do. There is
>> no in6 on this chip (verified by looking in /sys/class/hwmon).
>
> I don't get it. I have double checked my code and I don't see how this
> is possible. Plus Guenter's testing was successful...
>
> Are you 100% certain that the above test was with my driver and not the
> one shipping with your distribution kernel?

No, as mentioned before I tested this with the 3.6.2 kernel. Well, I 
have the tuxonice patch applied, but it shouldn't interfere because I'm 
using in-kernel suspend. I somehow overlooked I _have_ to use another 
driver.

Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (17 preceding siblings ...)
  2012-10-25 19:16 ` Harald Judt
@ 2012-10-25 20:37 ` Guenter Roeck
  2012-10-25 23:49 ` Guenter Roeck
                   ` (19 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-25 20:37 UTC (permalink / raw)
  To: lm-sensors

On Thu, Oct 25, 2012 at 09:07:36PM +0200, Jean Delvare wrote:
> On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
> > Am 24.10.2012 21:23, schrieb Jean Delvare:
> > > To be really sure, it would be good if you could set arbitrary non-zero
> > > limits to in1, in4, in5 etc. otherwise we can't be sure these limits
> > > have been restored either.
> > 
> > Good idea. Here is the corresponding part of my adjusted 
> > /etc/sensors3.conf file:
> > 
> > chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
> > 
> >      label in0 "Vcore"
> >      label in2 "AVCC"
> >      label in3 "+3.3V"
> >      label in7 "3VSB"
> >      label in8 "Vbat"
> > 
> >      set in0_min  0.5 * 1.00
> >      set in0_max  2.0 * 1.00
> >      set in1_min  1.6 * 1.00
> >      set in1_max  1.95 * 1.00
> >      set in2_min  2.0 * 1.00
> >      set in2_max  3.5 * 1.00
> >      set in3_min  2.0 * 1.00
> >      set in3_max  3.5 * 1.00
> >      set in4_min  0.8 * 1.00
> >      set in4_max  1.2 * 1.00
> >      set in5_min  1.5 * 1.00
> >      set in5_max  1.95 * 1.00
> >      set in7_min  2.0 * 1.00
> >      set in7_max  3.5 * 1.00
> >      set in8_min  2.0 * 1.00
> >      set in8_max  3.5 * 1.00
> > 
> > There are some limits for min/max values, e.g. in5_max will get reset to 
> > 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to 
> > avoid any confusion.
> > 
> > So, here are the results after sensors -s:
> > 
> > nct6776-isa-0290
> > Adapter: ISA adapter
> > Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
> > in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
> > AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
> > in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
> > 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
> > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > 
> > And after resume:
> > nct6776-isa-0290
> > Adapter: ISA adapter
> > Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
> > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > 
> > Apparently, in0-in5 do not get restored, only in7 and in8 do. There is 
> > no in6 on this chip (verified by looking in /sys/class/hwmon).
> 
> I don't get it. I have double checked my code and I don't see how this
> is possible. Plus Guenter's testing was successful...
> 
That was with NCT6775F. Should not make a difference, but I'll test it
with NCT6776F tonight (can't do it from work since I can not pull the
system out of suspend remotely).

Guenter

> Are you 100% certain that the above test was with my driver and not the
> one shipping with your distribution kernel?
> 
> -- 
> Jean Delvare
> 

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (18 preceding siblings ...)
  2012-10-25 20:37 ` Guenter Roeck
@ 2012-10-25 23:49 ` Guenter Roeck
  2012-10-26  0:41 ` Guenter Roeck
                   ` (18 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-25 23:49 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 5258 bytes --]

On Thu, Oct 25, 2012 at 09:07:36PM +0200, Jean Delvare wrote:
> On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
> > Am 24.10.2012 21:23, schrieb Jean Delvare:
> > > To be really sure, it would be good if you could set arbitrary non-zero
> > > limits to in1, in4, in5 etc. otherwise we can't be sure these limits
> > > have been restored either.
> > 
> > Good idea. Here is the corresponding part of my adjusted 
> > /etc/sensors3.conf file:
> > 
> > chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
> > 
> >      label in0 "Vcore"
> >      label in2 "AVCC"
> >      label in3 "+3.3V"
> >      label in7 "3VSB"
> >      label in8 "Vbat"
> > 
> >      set in0_min  0.5 * 1.00
> >      set in0_max  2.0 * 1.00
> >      set in1_min  1.6 * 1.00
> >      set in1_max  1.95 * 1.00
> >      set in2_min  2.0 * 1.00
> >      set in2_max  3.5 * 1.00
> >      set in3_min  2.0 * 1.00
> >      set in3_max  3.5 * 1.00
> >      set in4_min  0.8 * 1.00
> >      set in4_max  1.2 * 1.00
> >      set in5_min  1.5 * 1.00
> >      set in5_max  1.95 * 1.00
> >      set in7_min  2.0 * 1.00
> >      set in7_max  3.5 * 1.00
> >      set in8_min  2.0 * 1.00
> >      set in8_max  3.5 * 1.00
> > 
> > There are some limits for min/max values, e.g. in5_max will get reset to 
> > 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to 
> > avoid any confusion.
> > 
> > So, here are the results after sensors -s:
> > 
> > nct6776-isa-0290
> > Adapter: ISA adapter
> > Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
> > in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
> > AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
> > in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
> > 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
> > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > 
> > And after resume:
> > nct6776-isa-0290
> > Adapter: ISA adapter
> > Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
> > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > 
> > Apparently, in0-in5 do not get restored, only in7 and in8 do. There is 
> > no in6 on this chip (verified by looking in /sys/class/hwmon).
> 
> I don't get it. I have double checked my code and I don't see how this
> is possible. Plus Guenter's testing was successful...
> 
Doesn't work for me either on NCT6776F. Some of the data is restored, which is
not the case if I use the "old" driver, so I must have used the correct driver.

sensors before restore:

nct6776-isa-0290
Adapter: ISA adapter
Vcore:         +0.78 V  (min =  +0.00 V, max =  +1.74 V)
in1:           +1.02 V  (min =  +0.90 V, max =  +1.10 V)
AVCC:          +3.42 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:         +3.42 V  (min =  +2.98 V, max =  +3.63 V)
in4:           +1.02 V  (min =  +0.90 V, max =  +1.10 V)
3VSB:          +3.39 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:          +3.34 V  (min =  +2.70 V, max =  +3.60 V)
fan1:          840 RPM  (min =  500 RPM)
fan2:         1074 RPM  (min = 1000 RPM)
fan3:            0 RPM  (min =    0 RPM)  ALARM
fan4:            0 RPM  (min =    0 RPM)  ALARM
fan5:            0 RPM  (min =    0 RPM)  ALARM
SYSTIN:        +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
CPUTIN:        +92.0°C  (high = +81.0°C, hyst = +76.0°C)  ALARM  sensor =
thermistor
AUXTIN:        +89.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor =
thermistor
PECI Agent 0:  +34.5°C
cpu0_vid:     +2.050 V
intrusion0:   OK
intrusion1:   OK

sensors after restore:

nct6776-isa-0290
Adapter: ISA adapter
Vcore:         +0.88 V  (min =  +0.00 V, max =  +1.74 V)
in1:           +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:          +3.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
+3.3V:         +3.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:           +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:          +3.39 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:          +3.34 V  (min =  +2.70 V, max =  +3.60 V)
fan1:          858 RPM  (min =  500 RPM)
fan2:         1210 RPM  (min = 1000 RPM)
fan3:            0 RPM  (min =    0 RPM)  ALARM
fan4:            0 RPM  (min =    0 RPM)  ALARM
fan5:            0 RPM  (min =    0 RPM)  ALARM
SYSTIN:        +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
CPUTIN:        +91.5°C  (high = +81.0°C, hyst = +76.0°C)  ALARM  sensor =
thermistor
AUXTIN:        +89.5°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor =
thermistor
PECI Agent 0:  +35.0°C
cpu0_vid:     +2.050 V
intrusion0:   OK
intrusion1:   OK

Before and after register dumps are attached.

Guenter

[-- Attachment #2: before-suspend --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2834-gdef50b0
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  c0 68 03 00 ff ff c3 33  ff 00 20 00 00 00 00 68  08 80 00 00 03
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 82
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 03 e0 0b 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  73 5b 00 00 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0e ef 10 00 00 f7 00 00  00 ff 00 00 ff ff ff ff  ff ff ff ff ff 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 00 00 06 1c 01  00 00 00 5d 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val 01 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val 7f df ff fe f6 ff ff d3  ff 9f 9d 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 20 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 a3 04 5a 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 a3 00 a3 5a a3 ff ff 50 00 00 00 00 84 00 00 
02: 6b 7f d6 d5 80 ff 1d 20 ff ff ff da 00 8a 71 e3 
03: ba e3 ba 8a 71 ff e1 00 00 50 4b ff ff ff ff ff 
04: 01 00 00 df ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff 
06: 00 ff ff ff ff 01 07 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 22 00 22 00 22 00 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 32 00 1c 00 00 34 28 80 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 0e 06 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 00 40 01 01 01 01 3c ff a3 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 1e 46 46 46 ff ff 99 ff ff ff ff ff ff ff ff 
03: ff 00 ff ff 00 4b ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff 49 03 ff ff ff ff ff ff ff 01 ff 
05: 5c 80 02 4c 00 51 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 32 40 01 01 01 01 3c ff 5a ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 14 41 46 46 ff ff 33 b2 ff ff ff ff ff ff ff 
03: ff 00 ff ff 00 4b ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff 06 04 ff ff ff ff ff ff ff 02 ff 
05: 59 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 00 40 01 01 01 01 3c ff a3 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 1e 46 46 46 ff ff 99 ff ff ff ff ff ff ff ff 
03: ff 00 ff ff 00 4b ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 90 3e 90 3e ed af ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 00 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 00 13 ff ff 00 00 00 ff 00 20 3e b0 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d4 d1 00 ff e3 ba e1 a9 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 00 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 0c 01 01 ff 00 00 00 22 20 20 06 ff 
03: 32 04 28 1e ff 1f ff 1f ff 1f 54 0c 2a 06 00 00 
04: 00 00 00 00 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 03 49 04 06 00 a4 00 a4 00 a4 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 63 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 ef de f8 80 f8 80 f8 80 01 
02: 22 01 06 00 00 00 ef ef 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #3: after-suspend --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2834-gdef50b0
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  c0 68 03 00 ff ff c3 33  ff 00 20 00 00 00 00 68  08 80 00 00 03
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 82
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 03 e0 0b 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  73 5b 00 7b 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val 0e ef 10 00 10 f7 00 00  00 ff 00 00 ff ff ff ff  ff ff ff ff ff 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 04 00 06 1c 01  00 00 00 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val 01 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val 7f df ff fe f6 ff ff d3  ff 9f 9d 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 20 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 a5 04 5d 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 a5 00 a5 ff a5 ff ff 50 00 00 00 00 84 00 00 
02: 61 80 d6 d6 80 ff 1d 20 ff ff ff da 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 50 4b ff ff ff ff ff 
04: 01 fe 2f df ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff 
06: 00 ff ff ff ff 01 00 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 23 80 23 80 23 80 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 33 00 1c 00 00 34 28 00 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 1e 06 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 00 40 01 01 01 01 3c ff a5 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 1e 46 46 46 ff ff 99 ff ff ff ff ff ff ff ff 
03: ff 00 ff ff 00 4b ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff 59 03 ff ff ff ff ff ff ff 01 ff 
05: 5c 80 02 4c 00 51 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 32 40 01 01 01 01 3c ff 5d ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 14 41 46 46 ff ff 33 b2 ff ff ff ff ff ff ff 
03: ff 01 ff ff 01 ff ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff f7 03 ff ff ff ff ff ff ff 02 ff 
05: 59 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 0c 00 40 01 01 01 01 3c ff a5 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 1e 46 46 46 ff ff 99 ff ff ff ff ff ff ff ff 
03: ff 00 ff ff 00 4b ff ff 02 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 90 3e 90 3e ed af ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 00 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 33 13 ff ff 00 00 00 ff 00 2e 3f b0 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d4 d1 c0 ff e3 ba e1 a9 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 01 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 01 01 01 ff 00 00 00 20 20 20 07 ff 
03: 31 07 29 12 ff 1f ff 1f ff 1f 54 0c 2a 06 00 00 
04: 00 00 00 00 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 03 59 03 f7 00 a4 00 a4 00 a4 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 63 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 f0 20 f8 80 f8 80 f8 80 01 
02: 23 02 06 00 00 00 ef 70 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #4: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (19 preceding siblings ...)
  2012-10-25 23:49 ` Guenter Roeck
@ 2012-10-26  0:41 ` Guenter Roeck
  2012-10-26  0:55 ` Harald Judt
                   ` (17 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-26  0:41 UTC (permalink / raw)
  To: lm-sensors

On Thu, Oct 25, 2012 at 04:49:01PM -0700, Guenter Roeck wrote:
> On Thu, Oct 25, 2012 at 09:07:36PM +0200, Jean Delvare wrote:
> > On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
> > > Am 24.10.2012 21:23, schrieb Jean Delvare:
> > > > To be really sure, it would be good if you could set arbitrary non-zero
> > > > limits to in1, in4, in5 etc. otherwise we can't be sure these limits
> > > > have been restored either.
> > > 
> > > Good idea. Here is the corresponding part of my adjusted 
> > > /etc/sensors3.conf file:
> > > 
> > > chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
> > > 
> > >      label in0 "Vcore"
> > >      label in2 "AVCC"
> > >      label in3 "+3.3V"
> > >      label in7 "3VSB"
> > >      label in8 "Vbat"
> > > 
> > >      set in0_min  0.5 * 1.00
> > >      set in0_max  2.0 * 1.00
> > >      set in1_min  1.6 * 1.00
> > >      set in1_max  1.95 * 1.00
> > >      set in2_min  2.0 * 1.00
> > >      set in2_max  3.5 * 1.00
> > >      set in3_min  2.0 * 1.00
> > >      set in3_max  3.5 * 1.00
> > >      set in4_min  0.8 * 1.00
> > >      set in4_max  1.2 * 1.00
> > >      set in5_min  1.5 * 1.00
> > >      set in5_max  1.95 * 1.00
> > >      set in7_min  2.0 * 1.00
> > >      set in7_max  3.5 * 1.00
> > >      set in8_min  2.0 * 1.00
> > >      set in8_max  3.5 * 1.00
> > > 
> > > There are some limits for min/max values, e.g. in5_max will get reset to 
> > > 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to 
> > > avoid any confusion.
> > > 
> > > So, here are the results after sensors -s:
> > > 
> > > nct6776-isa-0290
> > > Adapter: ISA adapter
> > > Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
> > > in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
> > > AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > > +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
> > > in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
> > > in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
> > > 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
> > > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > > 
> > > And after resume:
> > > nct6776-isa-0290
> > > Adapter: ISA adapter
> > > Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
> > > Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
> > > 
> > > Apparently, in0-in5 do not get restored, only in7 and in8 do. There is 
> > > no in6 on this chip (verified by looking in /sys/class/hwmon).
> > 
> > I don't get it. I have double checked my code and I don't see how this
> > is possible. Plus Guenter's testing was successful...
> > 
> Doesn't work for me either on NCT6776F. Some of the data is restored, which is
> not the case if I use the "old" driver, so I must have used the correct driver.
> 
Hi Jean,

I found the problem. The NCT6776F has the wrong bank selected when resuming.

It started working for me after adding

	data->bank = 0xff;

to the beginning of the resume function. This forces the bank register to be
updated when the first chip access is done. It might make sense to do this
for all chips with bank registers.

Guenter

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (20 preceding siblings ...)
  2012-10-26  0:41 ` Guenter Roeck
@ 2012-10-26  0:55 ` Harald Judt
  2012-10-26  7:27 ` Jean Delvare
                   ` (16 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2012-10-26  0:55 UTC (permalink / raw)
  To: lm-sensors

Am 26.10.2012 02:41, schrieb Guenter Roeck:
> On Thu, Oct 25, 2012 at 04:49:01PM -0700, Guenter Roeck wrote:
>> On Thu, Oct 25, 2012 at 09:07:36PM +0200, Jean Delvare wrote:
>>> On Thu, 25 Oct 2012 19:26:45 +0200, Harald Judt wrote:
>>>> Am 24.10.2012 21:23, schrieb Jean Delvare:
>>>>> To be really sure, it would be good if you could set arbitrary non-zero
>>>>> limits to in1, in4, in5 etc. otherwise we can't be sure these limits
>>>>> have been restored either.
>>>>
>>>> Good idea. Here is the corresponding part of my adjusted
>>>> /etc/sensors3.conf file:
>>>>
>>>> chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"
>>>>
>>>>       label in0 "Vcore"
>>>>       label in2 "AVCC"
>>>>       label in3 "+3.3V"
>>>>       label in7 "3VSB"
>>>>       label in8 "Vbat"
>>>>
>>>>       set in0_min  0.5 * 1.00
>>>>       set in0_max  2.0 * 1.00
>>>>       set in1_min  1.6 * 1.00
>>>>       set in1_max  1.95 * 1.00
>>>>       set in2_min  2.0 * 1.00
>>>>       set in2_max  3.5 * 1.00
>>>>       set in3_min  2.0 * 1.00
>>>>       set in3_max  3.5 * 1.00
>>>>       set in4_min  0.8 * 1.00
>>>>       set in4_max  1.2 * 1.00
>>>>       set in5_min  1.5 * 1.00
>>>>       set in5_max  1.95 * 1.00
>>>>       set in7_min  2.0 * 1.00
>>>>       set in7_max  3.5 * 1.00
>>>>       set in8_min  2.0 * 1.00
>>>>       set in8_max  3.5 * 1.00
>>>>
>>>> There are some limits for min/max values, e.g. in5_max will get reset to
>>>> 2.04 if you try to use a higher value. Therefore I've set it to 0.95 to
>>>> avoid any confusion.
>>>>
>>>> So, here are the results after sensors -s:
>>>>
>>>> nct6776-isa-0290
>>>> Adapter: ISA adapter
>>>> Vcore:         +0.96 V  (min =  +0.50 V, max =  +2.00 V)
>>>> in1:           +1.84 V  (min =  +1.60 V, max =  +1.95 V)
>>>> AVCC:          +3.34 V  (min =  +2.00 V, max =  +3.50 V)
>>>> +3.3V:         +3.34 V  (min =  +2.00 V, max =  +3.50 V)
>>>> in4:           +1.05 V  (min =  +0.80 V, max =  +1.20 V)
>>>> in5:           +1.68 V  (min =  +1.50 V, max =  +1.95 V)
>>>> 3VSB:          +3.47 V  (min =  +2.00 V, max =  +3.50 V)
>>>> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
>>>>
>>>> And after resume:
>>>> nct6776-isa-0290
>>>> Adapter: ISA adapter
>>>> Vcore:         +0.96 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.05 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.00 V, max =  +3.50 V)
>>>> Vbat:          +3.31 V  (min =  +2.00 V, max =  +3.50 V)
>>>>
>>>> Apparently, in0-in5 do not get restored, only in7 and in8 do. There is
>>>> no in6 on this chip (verified by looking in /sys/class/hwmon).
>>>
>>> I don't get it. I have double checked my code and I don't see how this
>>> is possible. Plus Guenter's testing was successful...
>>>
>> Doesn't work for me either on NCT6776F. Some of the data is restored, which is
>> not the case if I use the "old" driver, so I must have used the correct driver.
>>
> Hi Jean,
>
> I found the problem. The NCT6776F has the wrong bank selected when resuming.
>
> It started working for me after adding
>
> 	data->bank = 0xff;
>
> to the beginning of the resume function. This forces the bank register to be
> updated when the first chip access is done. It might make sense to do this
> for all chips with bank registers.
>
> Guenter

Confirmed. After adding that command to the beginning of the resume 
function all values get properly restored.

Harald

-- 
`Experience is the best teacher.'

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (21 preceding siblings ...)
  2012-10-26  0:55 ` Harald Judt
@ 2012-10-26  7:27 ` Jean Delvare
  2012-10-26 14:06 ` Guenter Roeck
                   ` (15 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-26  7:27 UTC (permalink / raw)
  To: lm-sensors

Hi Guenter,

On Thu, 25 Oct 2012 17:41:15 -0700, Guenter Roeck wrote:
> On Thu, Oct 25, 2012 at 04:49:01PM -0700, Guenter Roeck wrote:
> > > I don't get it. I have double checked my code and I don't see how this
> > > is possible. Plus Guenter's testing was successful...
> >
> > Doesn't work for me either on NCT6776F. Some of the data is restored, which is
> > not the case if I use the "old" driver, so I must have used the correct driver.
>
> Hi Jean,
> 
> I found the problem. The NCT6776F has the wrong bank selected when resuming.
> 
> It started working for me after adding
> 
> 	data->bank = 0xff;
> 
> to the beginning of the resume function. This forces the bank register to be
> updated when the first chip access is done.

Wow, very good catch, thanks a lot. That explains it all. I couldn't
see this in the dumps I asked for, as these dumps do force the bank to
a specific value.

Now I think we have a bug in the w83627ehf driver. data->bank is never
initialized, so it default to 0 per kzalloc of data. If the driver
reads a register from bank 0 first, and this wasn't the currently
selected bank at hardware level, it will read from the wrong register.

We are lucky that the driver always reads register
NCT6775_REG_TEMP_SOURCE[0] = 0x621 first for the NCT677x chips. For
other chips only registers 0x50-0x5F are banked. For the W83667HG and
W83667HG-B we read W83627EHF_REG_TEMP_CONFIG[2] = 0x252 first so we
are lucky once more. For older chips we could be in trouble depending
on the initial bank setting and chip configuration.

I'll send a fixup patch in a minute.

> It might make sense to do this for all chips with bank registers.

Depends on how bank switching is implemented. For example the w83627hf
driver doesn't make any assumption on the currently selected bank, it
always sets the bank (even if it is 0) before accessing a register in
the banked area. Which is why my own testing with the w83627hf driver
was successful.

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (22 preceding siblings ...)
  2012-10-26  7:27 ` Jean Delvare
@ 2012-10-26 14:06 ` Guenter Roeck
  2012-10-26 14:15 ` Jean Delvare
                   ` (14 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2012-10-26 14:06 UTC (permalink / raw)
  To: lm-sensors

On Fri, Oct 26, 2012 at 09:27:52AM +0200, Jean Delvare wrote:
> Hi Guenter,
> 
> On Thu, 25 Oct 2012 17:41:15 -0700, Guenter Roeck wrote:
> > On Thu, Oct 25, 2012 at 04:49:01PM -0700, Guenter Roeck wrote:
> > > > I don't get it. I have double checked my code and I don't see how this
> > > > is possible. Plus Guenter's testing was successful...
> > >
> > > Doesn't work for me either on NCT6776F. Some of the data is restored, which is
> > > not the case if I use the "old" driver, so I must have used the correct driver.
> >
> > Hi Jean,
> > 
> > I found the problem. The NCT6776F has the wrong bank selected when resuming.
> > 
> > It started working for me after adding
> > 
> > 	data->bank = 0xff;
> > 
> > to the beginning of the resume function. This forces the bank register to be
> > updated when the first chip access is done.
> 
> Wow, very good catch, thanks a lot. That explains it all. I couldn't
> see this in the dumps I asked for, as these dumps do force the bank to
> a specific value.
> 
Yes, that was a lucky catch. I didn't find it from the dumps, but by adding
debug code to the resume function. And when reading back the register values
it was quite obvious what happpened.

> Now I think we have a bug in the w83627ehf driver. data->bank is never
> initialized, so it default to 0 per kzalloc of data. If the driver
> reads a register from bank 0 first, and this wasn't the currently
> selected bank at hardware level, it will read from the wrong register.
> 
I had briefly wondered how we know that bank 0 is selected initially :).

> We are lucky that the driver always reads register
> NCT6775_REG_TEMP_SOURCE[0] = 0x621 first for the NCT677x chips. For
> other chips only registers 0x50-0x5F are banked. For the W83667HG and
> W83667HG-B we read W83627EHF_REG_TEMP_CONFIG[2] = 0x252 first so we
> are lucky once more. For older chips we could be in trouble depending
> on the initial bank setting and chip configuration.
> 
> I'll send a fixup patch in a minute.
> 
> > It might make sense to do this for all chips with bank registers.
> 
> Depends on how bank switching is implemented. For example the w83627hf
> driver doesn't make any assumption on the currently selected bank, it
> always sets the bank (even if it is 0) before accessing a register in
> the banked area. Which is why my own testing with the w83627hf driver

Yes, I noticed.

> was successful.
> 
My testing with NCT6775 was successful as well, so the lucky part may be
that my Asus board selects another bank during resume....

Guenter

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (23 preceding siblings ...)
  2012-10-26 14:06 ` Guenter Roeck
@ 2012-10-26 14:15 ` Jean Delvare
  2013-07-28 20:43 ` Harald Judt
                   ` (13 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Jean Delvare @ 2012-10-26 14:15 UTC (permalink / raw)
  To: lm-sensors

On Fri, 26 Oct 2012 07:06:19 -0700, Guenter Roeck wrote:
> On Fri, Oct 26, 2012 at 09:27:52AM +0200, Jean Delvare wrote:
> > Now I think we have a bug in the w83627ehf driver. data->bank is never
> > initialized, so it default to 0 per kzalloc of data. If the driver
> > reads a register from bank 0 first, and this wasn't the currently
> > selected bank at hardware level, it will read from the wrong register.
>
> I had briefly wondered how we know that bank 0 is selected initially :).

Well, we don't ;)

> (...)
> My testing with NCT6775 was successful as well, so the lucky part may be
> that my Asus board selects another bank during resume....

No, the reason why it was working on the NCT6775 is because, for that
chip, the last register read at suspend time is NCT6775_REG_FANDIV2 =
0x507 and the first one written at resume time is
W83627EHF_REG_IN_MIN(0) = 0x2c. They are in different banks so the
driver will issue a bank change, regardless of what the BIOS did in
between.

For the other chips (including the NCT6776F) there was no such bank
difference, hence the problem.

Thanks for the reviews and testing :)

-- 
Jean Delvare

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (24 preceding siblings ...)
  2012-10-26 14:15 ` Jean Delvare
@ 2013-07-28 20:43 ` Harald Judt
  2013-07-28 21:43 ` Guenter Roeck
                   ` (12 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-07-28 20:43 UTC (permalink / raw)
  To: lm-sensors

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?

Regards,
Harald

-- 
`Experience is the best teacher.'

PGP Key ID: 0xB29C7F8F

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (25 preceding siblings ...)
  2013-07-28 20:43 ` Harald Judt
@ 2013-07-28 21:43 ` Guenter Roeck
  2013-07-28 22:28 ` Guenter Roeck
                   ` (11 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-07-28 21:43 UTC (permalink / raw)
  To: lm-sensors

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?
>
Can you test with the new nct6775 driver ? Probably it won't make a 
difference, but we'll likely drop nct6775/nct6776 support from the 
w83627ehf driver in the near future.

Either case, I'll have a look.

Thanks,
Guenter


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (26 preceding siblings ...)
  2013-07-28 21:43 ` Guenter Roeck
@ 2013-07-28 22:28 ` Guenter Roeck
  2013-07-29  2:24 ` Harald Judt
                   ` (10 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-07-28 22:28 UTC (permalink / raw)
  To: lm-sensors

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


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (27 preceding siblings ...)
  2013-07-28 22:28 ` Guenter Roeck
@ 2013-07-29  2:24 ` Harald Judt
  2013-07-29  2:47 ` Harald Judt
                   ` (9 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-07-29  2:24 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 11203 bytes --]

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...

Harald

-- 
`Experience is the best teacher.'

PGP Key ID: 0xB29C7F8F

[-- Attachment #2: 01-superiotool-before-hibernate.out --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2514-gf419483
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  f8 0e 00 00 ff ff c3 33  ff 00 5c 00 00 d0 00 62  00 80 00 00 01
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff f3 00 fb ff ff ff  ff ff ff ff ff 00 ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  b0 b1 00 00 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val b6 ff 2c 00 00 ff ff ff  ff 00 00 ff 00 00 ff 6c  00 ff 00 00 00 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 01 20 02 4c 00  00 00 20 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val e1 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 02 50 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val ff df ff fe f6 ff ff d3  ff 9f 00 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 68 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 ff 04 b1 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 ff 00 00 00 00 ff ff 40 00 00 00 00 86 00 00 
02: 78 e6 d1 d1 8a d2 77 2e ff ff ff da 00 ec d6 e3 
03: ba e3 ba bc 7d ec bc 00 00 00 00 ff ff ff ff ff 
04: 03 00 50 ff ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff 
06: 30 ff ff ff ff 01 00 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 2e 00 26 80 1e 80 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 3e 00 1c 00 00 04 d8 c0 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 1e 02 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 01 ff 
05: 24 80 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 8c 32 12 0a 0a b1 ff 60 ff b1 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 28 32 3c 46 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff 44 05 ff ff ff ff ff ff ff 02 ff 
05: 1e 80 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 03 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 3c ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff dc 02 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 96 64 96 64 e1 96 ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 01 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 00 13 ff ff 00 00 00 ff 00 10 10 10 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d9 d0 40 ff e3 ba e3 a9 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 00 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 01 01 01 ff 00 00 00 2e 2e 2e 00 ff 
03: ff 1f 1f 0f 39 12 3f 1a 26 18 ff 1f ff 1f ff 1f 
04: ff 1f ff 1f 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 00 a4 05 3c 02 dc 02 95 04 40 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 62 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 f1 2f f8 80 f8 80 f8 80 01 
02: 26 02 06 00 00 00 ef b4 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #3: 02-superiotool-after-resume-from-hibernate.out --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2514-gf419483
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  f8 0e 00 00 ff ff c3 33  ff 00 5c 00 00 d0 00 62  00 80 00 00 01
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff f7 00 ff ff ff ff  ff ff ff ff ff 00 ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  b0 b1 00 b1 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val b6 ff 2c 00 2c ff ff ff  ff 6c 00 ff 00 00 ff 6c  00 ff 00 00 00 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 01 20 02 4c 00  00 00 20 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val e1 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val ff df ff fe f6 ff ff d3  ff 9f 00 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 68 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 ff 04 b1 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 ff 00 00 00 00 ff ff 40 00 00 00 00 87 00 00 
02: 7a e6 d1 d1 8a d2 77 2e ff ff ff da 00 00 00 00 
03: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
04: 03 de 5f ff ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 00 00 ff 
06: a2 ff ff ff ff 01 00 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 2e 00 27 00 1e 80 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 3e 00 1c 00 00 04 88 40 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 0c 01 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 01 ff 
05: 25 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 8c 32 12 0a 0a b1 ff 60 ff b1 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 28 32 3c 46 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff 43 05 ff ff ff ff ff ff ff 02 ff 
05: 1e 80 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 03 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 3c ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff dd 02 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 96 64 96 64 e1 96 ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 01 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 31 13 ff ff 00 00 00 ff 00 de 1d b1 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d9 00 00 ff 00 00 00 00 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 01 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 01 01 01 ff 00 00 00 2e 2e 2e 00 ff 
03: ff 1f 1f 0a 39 11 40 02 26 16 00 00 00 00 00 00 
04: 00 00 00 00 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 00 a4 05 43 02 dd 02 92 04 42 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 62 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 f1 57 f8 80 f8 80 f8 80 01 
02: 27 01 06 00 00 00 ef be 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #4: 03-superiotool-before-suspend.out --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2514-gf419483
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  f8 0e 00 00 ff ff c3 33  ff 00 5c 00 00 d0 00 62  00 80 00 00 01
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff f7 00 f7 ff ff ff  ff ff ff ff ff 00 ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  b0 b1 00 00 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val b6 ff 2c 00 00 ff ff ff  ff 00 00 ff 00 00 ff 6c  00 ff 00 00 00 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 01 20 02 4c 00  00 00 20 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val e1 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 02 50 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val ff df ff fe f6 ff ff d3  ff 9f 00 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 68 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 ff 04 b1 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 ff 00 00 00 00 ff ff 40 00 00 00 00 87 00 00 
02: 79 e6 d1 d1 8a d2 76 2d ff ff ff da 00 ec d6 e3 
03: ba e3 ba bc 7d ec bc 00 00 00 00 ff ff ff ff ff 
04: 03 0e 55 ff ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff 
06: 30 ff ff ff ff 01 00 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 2d 80 26 80 1f 00 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 3d 00 1c 00 00 04 6e c0 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 10 01 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 01 ff 
05: 24 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 8c 32 12 0a 0a b1 ff 60 ff b1 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 28 32 3c 46 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff 43 05 ff ff ff ff ff ff ff 02 ff 
05: 1f 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 03 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 3c ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff eb 02 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 96 64 96 64 e1 96 ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 01 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 03 13 ff ff 00 00 00 ff 00 10 10 10 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d9 d0 40 ff e3 ba e3 a9 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 00 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 0c 01 01 ff 00 00 00 26 2d 2d 07 ff 
03: ff 1f 1f 0a 38 0f 40 06 26 03 ff 1f ff 1f ff 1f 
04: ff 1f ff 1f 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 00 a4 05 43 02 eb 02 91 04 53 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 62 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 f1 37 f8 80 f8 80 f8 80 01 
02: 26 03 06 00 00 00 ef 4b 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #5: 04-superiotool-after-resume-from-suspend.out --]
[-- Type: text/plain, Size: 9967 bytes --]

superiotool r4.0-2514-gf419483
Found Nuvoton NCT6776F (C) (id=0xc333) at 0x2e
Register dump:
idx 10 11 13 14 16 17 18 19  1a 1b 1c 1d 1e 1f 20 21  22 23 24 25 26 27 28 2a  2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff  f8 0e 00 00 ff ff c3 33  ff 00 5c 00 00 d0 00 62  00 80 00 00 01
def ff ff 00 00 ff ff ff ff  f0 78 00 00 ff ff c3 33  ff 00 64 00 MM 00 00 c0  00 81 00 00 MM
LDN 0x00 (FDC)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 00 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 00 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8, GPIO9)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ec ed ee  f4 f5 f6 f7 f8
val 00 ff fb 00 fb ff ff ff  ff ff ff ff ff 00 ff ff  ff ff ff ff ff
def 03 ff 00 00 00 ef 00 00  00 ff 00 00 00 00 00 00  ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1, GPIOA)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  b0 b1 00 b1 00 ff 00 ff
def 02 00 00 ff 00 00 00 ef  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO2, GPIO3, GPIO4, GPIO5)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val b6 ff 2c 00 2c ff ff ff  ff 6c 00 ff 00 00 ff 6c  00 ff 00 00 00 00
def 04 df 00 00 00 ff 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 01 20 02 4c 00  00 00 20 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 00 00 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 f0 f1 f2 f5 f6 f7 f8  f9 fa
val e1 02 90 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
def 00 00 00 00 00 00 7f 7f  ff 00 00 00 10 00 87 47  00 00
LDN 0x0d (VID)
idx e0 e1 e2 e3 e4 e5 e6 e9  ee ef f0 f4 f5
val 00 00 00 00 00 00 00 00  88 00 00 00 00
def 00 00 00 00 00 00 00 00  88 00 00 00 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 02 50 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e8 e9 f0 f1 f2
val ff df ff fe f6 ff ff d3  ff 9f 00 00 00
def ff df ff fe f6 ff ff d3  ff 9f 00 00 00
LDN 0x14 (SVID)
idx e0 e1 e3 e4
val 00 80 00 00
def 00 80 00 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 68 20 04 05
def 20 20 04 05
LDN 0x17 (GPIOA)
idx e0 e1 e2 e3 e4 e5
val ff ff ff ff 01 ff
def 01 00 00 00 01 00
Bank 0:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 04 ff 04 b1 00 ff ff ff ff ff ff ff ff ff ff ff 
01: 04 ff 00 00 00 00 ff ff 40 00 00 00 00 87 00 00 
02: 79 e6 d1 d1 89 d2 76 2d ff ff ff da 00 ec d6 e3 
03: ba e3 ba bc 7d ec bc 00 00 00 00 ff ff ff ff ff 
04: 03 de 5f ff ff 00 3f ff 2d ff ff ff 18 05 00 a3 
05: ff ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff 
06: 30 ff ff ff ff 01 00 ff ff ff ff ff ff ff ff ff 
07: 00 0a 00 2d 80 26 00 1f 00 ff ff ff ff ff ff ff 
08: ff 03 1f 0f ff 3c 3c 3c 00 00 00 00 00 00 00 00 
09: 0a 00 00 00 00 0a 0a 0a 0a aa ef 80 ff 40 46 c4 
0a: 0e 01 00 00 ff 00 00 ff 00 00 80 66 66 06 01 01 
0b: 00 00 00 00 00 00 3d 00 1c 00 00 34 28 c0 c4 ff 
0c: 01 00 00 00 00 00 00 00 00 0d 03 ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 1:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 01 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff a4 00 ff ff ff ff ff ff ff 01 ff 
05: 24 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 2:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 8c 32 12 0a 0a b1 ff 60 ff b1 ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 28 32 3c 46 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 7f ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff 3c 05 ff ff ff ff ff ff ff 02 ff 
05: 1f 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 3:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 03 00 00 0a 0a 01 01 3c ff ff ff ff 00 ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: 00 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff 
03: ff 00 ff ff 00 3c ff ff 00 01 00 00 00 00 00 00 
04: ff ff ff ff ff eb 02 ff ff ff ff ff ff ff 03 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 4:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff 
02: ff ff ff 96 64 96 64 e1 96 ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: 3f 00 01 ff ff ff ff ff ff ff ff ff ff ff 04 ff 
05: 31 13 ff ff 00 00 00 ff 00 10 10 10 09 ff ff ff 
06: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 5:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff ff 00 00 00 00 ff ff ff ff ff ff ff 00 00 ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
03: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 ff 
05: d9 d0 40 ff e3 ba e3 a9 ff ff ff ff ff ff ff ff 
06: 00 00 00 00 00 00 07 01 01 ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 6:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
01: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
02: ff 01 02 03 01 01 01 ff 00 00 00 2d 2d 2d 07 ff 
03: ff 1f 1f 0f 38 0e 40 02 26 02 ff 1f ff 1f ff 1f 
04: ff 1f ff 1f 02 02 02 ff ff ff ff ff ff ff 06 ff 
05: 7f 7f 7f 7f 7f 7f 00 a4 05 3c 02 eb 02 92 04 54 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: 7f 7f 50 4b 04 7f 7f 50 4b 04 7f 7f 50 4b 04 ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
Bank 7:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00: ff 95 02 10 00 00 00 00 00 62 00 00 00 00 00 00 
01: 00 00 00 00 00 00 00 f1 11 f8 80 f8 80 f8 80 01 
02: 26 01 06 00 00 00 ef 9b 00 ef 00 00 00 00 00 00 
03: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 
04: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 07 ff 
05: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
06: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
07: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
08: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
09: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0a: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0c: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0d: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0e: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
0f: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

[-- Attachment #6: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (28 preceding siblings ...)
  2013-07-29  2:24 ` Harald Judt
@ 2013-07-29  2:47 ` Harald Judt
  2013-07-29  6:58 ` Guenter Roeck
                   ` (8 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-07-29  2:47 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 11923 bytes --]

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?

Harald

-- 
`Experience is the best teacher.'

PGP Key ID: 0xB29C7F8F

[-- Attachment #2: nct6775-resume-debug.patch --]
[-- Type: text/x-patch, Size: 635 bytes --]

diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 99cec18..a7a0b07 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -4007,6 +4007,7 @@ static int nct6775_resume(struct device *dev)
 	struct nct6775_sio_data *sio_data = dev->platform_data;
 	int i, j;
 
+    printk(KERN_INFO "nct6776: resuming...\n");
 	mutex_lock(&data->update_lock);
 	data->bank = 0xff;		/* Force initial bank selection */
 
@@ -4050,6 +4051,7 @@ static int nct6775_resume(struct device *dev)
 	data->valid = false;
 	mutex_unlock(&data->update_lock);
 
+    printk(KERN_INFO "nct6776: resume complete.\n");
 	return 0;
 }
 

[-- Attachment #3: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (29 preceding siblings ...)
  2013-07-29  2:47 ` Harald Judt
@ 2013-07-29  6:58 ` Guenter Roeck
  2013-07-29  9:12 ` Harald Judt
                   ` (7 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-07-29  6:58 UTC (permalink / raw)
  To: lm-sensors

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


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (30 preceding siblings ...)
  2013-07-29  6:58 ` Guenter Roeck
@ 2013-07-29  9:12 ` Harald Judt
  2013-07-29 15:27 ` Harald Judt
                   ` (6 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-07-29  9:12 UTC (permalink / raw)
  To: lm-sensors

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@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (31 preceding siblings ...)
  2013-07-29  9:12 ` Harald Judt
@ 2013-07-29 15:27 ` Harald Judt
  2013-07-29 22:46 ` Guenter Roeck
                   ` (5 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-07-29 15:27 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 13788 bytes --]

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

No, the suspend code did not run on hibernation, nor did the resume
code. The documentation in Documentation/power/devices.txt does not
say anything about the suspend/resume code being used for hibernation;
Indeed it seems one has to treat that as a separate case because it's
a more complicated process. The attached, rather trivial patch fixes
this on my system. Using "thaw" however, the resume function would not
be called, so I had to use "restore" which is analogous to the resume
function when leaving hibernation. I'm not sure if one does not have
to hook up a thaw function too (maybe so that it's called in case of
error, but if it fails there may not be anything that can be done
about it). So I think those two entries should suffice.

Harald

-- 
`Experience is the best teacher.'

PGP Key ID: 0xB29C7F8F

[-- Attachment #2: 0001-hwmon-nct6775-Add-support-for-hibernate.patch --]
[-- Type: text/x-patch, Size: 726 bytes --]

From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17 00:00:00 2001
From: Harald Judt <h.judt@gmx.at>
Date: Mon, 29 Jul 2013 17:00:27 +0200
Subject: hwmon: (nct6775) Add support for hibernate

---
 drivers/hwmon/nct6775.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 99cec18..b66bc74 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -4056,6 +4056,8 @@ static int nct6775_resume(struct device *dev)
 static const struct dev_pm_ops nct6775_dev_pm_ops = {
 	.suspend = nct6775_suspend,
 	.resume = nct6775_resume,
+	.freeze = nct6775_suspend,
+	.restore = nct6775_resume
 };
 
 #define NCT6775_DEV_PM_OPS	(&nct6775_dev_pm_ops)
-- 
1.8.3.2


[-- Attachment #3: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (32 preceding siblings ...)
  2013-07-29 15:27 ` Harald Judt
@ 2013-07-29 22:46 ` Guenter Roeck
  2013-07-31 22:11 ` Guenter Roeck
                   ` (4 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-07-29 22:46 UTC (permalink / raw)
  To: lm-sensors

On 07/29/2013 08:27 AM, Harald Judt wrote:
> 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
>
> No, the suspend code did not run on hibernation, nor did the resume
> code. The documentation in Documentation/power/devices.txt does not
> say anything about the suspend/resume code being used for hibernation;
> Indeed it seems one has to treat that as a separate case because it's
> a more complicated process. The attached, rather trivial patch fixes
> this on my system. Using "thaw" however, the resume function would not
> be called, so I had to use "restore" which is analogous to the resume

Yes, sorry, I got that wrong.

> function when leaving hibernation. I'm not sure if one does not have
> to hook up a thaw function too (maybe so that it's called in case of
> error, but if it fails there may not be anything that can be done
> about it). So I think those two entries should suffice.
>
Other drivers do the same, so looks like that is ok and necessary. I'll 
apply your patch later this week after I am back home.

Thanks,
Guenter


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (33 preceding siblings ...)
  2013-07-29 22:46 ` Guenter Roeck
@ 2013-07-31 22:11 ` Guenter Roeck
  2013-08-01  9:08 ` Harald Judt
                   ` (3 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-07-31 22:11 UTC (permalink / raw)
  To: lm-sensors

On Mon, Jul 29, 2013 at 05:27:35PM +0200, Harald Judt wrote:
[ ... ]
> 
> -- 
> `Experience is the best teacher.'
> 
> PGP Key ID: 0xB29C7F8F

> From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17 00:00:00 2001
> From: Harald Judt <h.judt@gmx.at>
> Date: Mon, 29 Jul 2013 17:00:27 +0200
> Subject: hwmon: (nct6775) Add support for hibernate
> 
Hi Harald,

Signed-off-by: is missing. Ok if I add your Signed-off to the patch ?

Thanks,
Guenter

> ---
>  drivers/hwmon/nct6775.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
> index 99cec18..b66bc74 100644
> --- a/drivers/hwmon/nct6775.c
> +++ b/drivers/hwmon/nct6775.c
> @@ -4056,6 +4056,8 @@ static int nct6775_resume(struct device *dev)
>  static const struct dev_pm_ops nct6775_dev_pm_ops = {
>  	.suspend = nct6775_suspend,
>  	.resume = nct6775_resume,
> +	.freeze = nct6775_suspend,
> +	.restore = nct6775_resume
>  };
>  
>  #define NCT6775_DEV_PM_OPS	(&nct6775_dev_pm_ops)
> -- 
> 1.8.3.2
> 


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (34 preceding siblings ...)
  2013-07-31 22:11 ` Guenter Roeck
@ 2013-08-01  9:08 ` Harald Judt
  2013-08-01 13:42 ` Guenter Roeck
                   ` (2 subsequent siblings)
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-08-01  9:08 UTC (permalink / raw)
  To: lm-sensors

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 01.08.2013 00:11, schrieb Guenter Roeck:
> On Mon, Jul 29, 2013 at 05:27:35PM +0200, Harald Judt wrote: [ ...
> ]
>> 
>> -- `Experience is the best teacher.'
>> 
> 
>> From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17 00:00:00
>> 2001 From: Harald Judt <h.judt@gmx.at> Date: Mon, 29 Jul 2013
>> 17:00:27 +0200 Subject: hwmon: (nct6775) Add support for
>> hibernate
>> 
> Hi Harald,
> 
> Signed-off-by: is missing. Ok if I add your Signed-off to the patch
> ?
> 
> Thanks, Guenter

Sure, no problem, I didn't think about that. Also, even though
deprecated, probably a similar patch would be needed for the original
w83627ehf.c. I could create, test and send you another such patch
today in the evening or tomorrow. Otherwise,

Signed-off-by: Harald Judt <h.judt@gmx.at>

- -- 
`Experience is the best teacher.'

PGP Key ID: 0xBA3AC516
Fingerprint: 569E 0ADA 440A 8B11 D1A2 AB47 8238 0256 BA3A C516
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJR+iWIAAoJEII4Ala6OsUWHlkH+gOmHw6Q3DYKP5yTD3wXq4yH
hkb2kdUeWLv2AU8OcN4sV6KNjaMbM8lRBIf3iW70r+I0OXgoo68Y5aDGHxoHUhqw
sH12jMVY/bhINdi8dzqa8KU/3oQ4Cp4vI/3J4wTMax0edvoPOzt7at65w0wwbmVS
IJ1NWdIHyYVJGrcbw5JLUBZGBGyHQjPru1SjlXqUOuxOeSvexDHR4c9+kcEIbA76
oHvQrDLrYG6X3wC8zXZfcpfzqvOJdNv6qVOSlhlQ5766ZCmS28rHNpTqxrRjJshV
V1p5d9SXE02uNgUQZVVFv7hTScVvytM4iv3YFL3Dv+enwR1DojpVS/AHgs568Q4=yiNS
-----END PGP SIGNATURE-----

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (35 preceding siblings ...)
  2013-08-01  9:08 ` Harald Judt
@ 2013-08-01 13:42 ` Guenter Roeck
  2013-08-01 14:36 ` Harald Judt
  2013-08-01 17:46 ` Guenter Roeck
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-08-01 13:42 UTC (permalink / raw)
  To: lm-sensors

On 08/01/2013 02:08 AM, Harald Judt wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Am 01.08.2013 00:11, schrieb Guenter Roeck:
>> On Mon, Jul 29, 2013 at 05:27:35PM +0200, Harald Judt wrote: [ ...
>> ]
>>>
>>> -- `Experience is the best teacher.'
>>>
>>
>>>  From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17 00:00:00
>>> 2001 From: Harald Judt <h.judt@gmx.at> Date: Mon, 29 Jul 2013
>>> 17:00:27 +0200 Subject: hwmon: (nct6775) Add support for
>>> hibernate
>>>
>> Hi Harald,
>>
>> Signed-off-by: is missing. Ok if I add your Signed-off to the patch
>> ?
>>
>> Thanks, Guenter
>
> Sure, no problem, I didn't think about that. Also, even though
> deprecated, probably a similar patch would be needed for the original
> w83627ehf.c. I could create, test and send you another such patch
> today in the evening or tomorrow. Otherwise,
>
Yes, that would be great.

> Signed-off-by: Harald Judt <h.judt@gmx.at>
>
Thanks!

Guenter


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

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (36 preceding siblings ...)
  2013-08-01 13:42 ` Guenter Roeck
@ 2013-08-01 14:36 ` Harald Judt
  2013-08-01 17:46 ` Guenter Roeck
  38 siblings, 0 replies; 40+ messages in thread
From: Harald Judt @ 2013-08-01 14:36 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 1863 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Am 01.08.2013 15:42, schrieb Guenter Roeck:
> On 08/01/2013 02:08 AM, Harald Judt wrote:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>> 
>> Am 01.08.2013 00:11, schrieb Guenter Roeck:
>>> On Mon, Jul 29, 2013 at 05:27:35PM +0200, Harald Judt wrote: [
>>> ... ]
>>>> 
>>>> -- `Experience is the best teacher.'
>>>> 
>>> 
>>>> From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17
>>>> 00:00:00 2001 From: Harald Judt <h.judt@gmx.at> Date: Mon, 29
>>>> Jul 2013 17:00:27 +0200 Subject: hwmon: (nct6775) Add support
>>>> for hibernate
>>>> 
>>> Hi Harald,
>>> 
>>> Signed-off-by: is missing. Ok if I add your Signed-off to the
>>> patch ?
>>> 
>>> Thanks, Guenter
>> 
>> Sure, no problem, I didn't think about that. Also, even though 
>> deprecated, probably a similar patch would be needed for the
>> original w83627ehf.c. I could create, test and send you another
>> such patch today in the evening or tomorrow. Otherwise,
>> 
> Yes, that would be great.
> 
>> Signed-off-by: Harald Judt <h.judt@gmx.at>
>> 
> Thanks!
> 
> Guenter

Attached you will find the two patches, tested and this time already
signed-off.

Harald

- -- 
`Experience is the best teacher.'

PGP Key ID: 0xBA3AC516
Fingerprint: 569E 0ADA 440A 8B11 D1A2 AB47 8238 0256 BA3A C516
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJR+nJ7AAoJEII4Ala6OsUWtq4H/Re5XomkMpB7HyGWUHMB4Lgg
tWf156At41eB6UUKKpM3wpmdAeTKEEVKheX6hEoAdnz1cHdPtw4XUSheKIS7KHjf
VOE1KWXipzLWBF4h3bM5hPS1NFeSyUE43UIZFYvYw97P3eoffyrt/PS5zIeUnYBm
d0D12it6b00heBOIfh11TofhsQLZfHBbcNBfMM43sez12J5yYOSfhZ9SCBssiViQ
ujEMv5vO5ig1Co1RucuMfsHwgX8ZsunlxW9djgXHHUtDI++nBmKk0Xnrd+n/u1d2
GAyKYCBo7FJyOxFqTNr5WfZOeqdXCeGblrVMM34T7Zm554vsUaIMJ96yr565U+w=
=Y3PD
-----END PGP SIGNATURE-----

[-- Attachment #2: 0001-hwmon-nct6775-Add-support-for-hibernate.patch --]
[-- Type: text/x-patch, Size: 770 bytes --]

From 67c57edfefeca37f8ec7a85a9f0eaeedea5d10a1 Mon Sep 17 00:00:00 2001
From: Harald Judt <h.judt@gmx.at>
Date: Tue, 30 Jul 2013 19:50:16 +0200
Subject: hwmon: (nct6775) Add support for hibernate

Signed-off-by: Harald Judt <h.judt@gmx.at>
---
 drivers/hwmon/nct6775.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 99cec18..005cfd5 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -4056,6 +4056,8 @@ static int nct6775_resume(struct device *dev)
 static const struct dev_pm_ops nct6775_dev_pm_ops = {
 	.suspend = nct6775_suspend,
 	.resume = nct6775_resume,
+	.freeze = nct6775_suspend,
+	.restore = nct6775_resume,
 };
 
 #define NCT6775_DEV_PM_OPS	(&nct6775_dev_pm_ops)
-- 
1.8.3.2


[-- Attachment #3: 0002-hwmon-w83627ehf-Add-support-for-hibernate.patch --]
[-- Type: text/x-patch, Size: 797 bytes --]

From 0a13e05b3bd2a3b8943525555914aea64d941424 Mon Sep 17 00:00:00 2001
From: Harald Judt <h.judt@gmx.at>
Date: Thu, 1 Aug 2013 16:18:45 +0200
Subject: hwmon: (w83627ehf) Add support for hibernate

Signed-off-by: Harald Judt <h.judt@gmx.at>
---
 drivers/hwmon/w83627ehf.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c
index 004801e..69e1ee1 100644
--- a/drivers/hwmon/w83627ehf.c
+++ b/drivers/hwmon/w83627ehf.c
@@ -2694,6 +2694,8 @@ static int w83627ehf_resume(struct device *dev)
 static const struct dev_pm_ops w83627ehf_dev_pm_ops = {
 	.suspend = w83627ehf_suspend,
 	.resume = w83627ehf_resume,
+	.freeze = w83627ehf_suspend,
+	.restore = w83627ehf_resume,
 };
 
 #define W83627EHF_DEV_PM_OPS	(&w83627ehf_dev_pm_ops)
-- 
1.8.3.2


[-- Attachment #4: Type: text/plain, Size: 153 bytes --]

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

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation
  2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
                   ` (37 preceding siblings ...)
  2013-08-01 14:36 ` Harald Judt
@ 2013-08-01 17:46 ` Guenter Roeck
  38 siblings, 0 replies; 40+ messages in thread
From: Guenter Roeck @ 2013-08-01 17:46 UTC (permalink / raw)
  To: lm-sensors

On Thu, Aug 01, 2013 at 04:36:43PM +0200, Harald Judt wrote:
> Hi,
> 
> Am 01.08.2013 15:42, schrieb Guenter Roeck:
> > On 08/01/2013 02:08 AM, Harald Judt wrote:
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> >> 
> >> Am 01.08.2013 00:11, schrieb Guenter Roeck:
> >>> On Mon, Jul 29, 2013 at 05:27:35PM +0200, Harald Judt wrote: [
> >>> ... ]
> >>>> 
> >>>> -- `Experience is the best teacher.'
> >>>> 
> >>> 
> >>>> From c3961cf2fa1d6975b9bcffeb746c57bda09e7489 Mon Sep 17
> >>>> 00:00:00 2001 From: Harald Judt <h.judt@gmx.at> Date: Mon, 29
> >>>> Jul 2013 17:00:27 +0200 Subject: hwmon: (nct6775) Add support
> >>>> for hibernate
> >>>> 
> >>> Hi Harald,
> >>> 
> >>> Signed-off-by: is missing. Ok if I add your Signed-off to the
> >>> patch ?
> >>> 
> >>> Thanks, Guenter
> >> 
> >> Sure, no problem, I didn't think about that. Also, even though 
> >> deprecated, probably a similar patch would be needed for the
> >> original w83627ehf.c. I could create, test and send you another
> >> such patch today in the evening or tomorrow. Otherwise,
> >> 
> > Yes, that would be great.
> > 
> >> Signed-off-by: Harald Judt <h.judt@gmx.at>
> >> 
> > Thanks!
> > 
> > Guenter
> 
> Attached you will find the two patches, tested and this time already
> signed-off.
> 
Both applied to -next.

Thanks,
Guenter

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

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2013-08-01 17:46 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-22 15:03 [lm-sensors] w83627ehf: Wrong values reported after resuming from suspend/hibernation Harald Judt
2012-10-22 21:40 ` Guenter Roeck
2012-10-23  7:14 ` Jean Delvare
2012-10-23  9:57 ` Harald Judt
2012-10-23 11:45 ` Jean Delvare
2012-10-23 12:08 ` Harald Judt
2012-10-23 12:34 ` Jean Delvare
2012-10-23 14:01 ` Guenter Roeck
2012-10-23 16:32 ` Jean Delvare
2012-10-23 19:02 ` Harald Judt
2012-10-24  3:45 ` Guenter Roeck
2012-10-24  8:39 ` Jean Delvare
2012-10-24 18:05 ` Harald Judt
2012-10-24 18:14 ` Harald Judt
2012-10-24 19:23 ` Jean Delvare
2012-10-25  9:53 ` Guenter Roeck
2012-10-25 17:26 ` Harald Judt
2012-10-25 19:07 ` Jean Delvare
2012-10-25 19:16 ` Harald Judt
2012-10-25 20:37 ` Guenter Roeck
2012-10-25 23:49 ` Guenter Roeck
2012-10-26  0:41 ` Guenter Roeck
2012-10-26  0:55 ` Harald Judt
2012-10-26  7:27 ` Jean Delvare
2012-10-26 14:06 ` Guenter Roeck
2012-10-26 14:15 ` Jean Delvare
2013-07-28 20:43 ` Harald Judt
2013-07-28 21:43 ` Guenter Roeck
2013-07-28 22:28 ` Guenter Roeck
2013-07-29  2:24 ` Harald Judt
2013-07-29  2:47 ` Harald Judt
2013-07-29  6:58 ` Guenter Roeck
2013-07-29  9:12 ` Harald Judt
2013-07-29 15:27 ` Harald Judt
2013-07-29 22:46 ` Guenter Roeck
2013-07-31 22:11 ` Guenter Roeck
2013-08-01  9:08 ` Harald Judt
2013-08-01 13:42 ` Guenter Roeck
2013-08-01 14:36 ` Harald Judt
2013-08-01 17:46 ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.