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