WAR for get_temperature_critical on Rambi.
Search more extensively for hwmon values and clamp unreasonable
temperatures to known good values.
TEST=Ran locally on daisy and link.
cbuildbot --remote -g 195272 --hwtest x86-alex-paladin peppy-paladin samus-paladin \
peach_pit-paladin rambi-paladin clapper-paladin glimmer-paladin
BUG=chromium:360249
Change-Id: I2ce7f9caaa4518786da80a32827498a856523382
Reviewed-on: https://chromium-review.googlesource.com/195272
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
diff --git a/client/bin/site_utils.py b/client/bin/site_utils.py
index 0db4c37..feb35fd 100644
--- a/client/bin/site_utils.py
+++ b/client/bin/site_utils.py
@@ -565,8 +565,11 @@
Returns a list of paths to the temperature sensors.
"""
# Some systems like daisy_spring only have the virtual hwmon.
- cmd = ('ls /sys/class/hwmon/hwmon*/' + file_pattern +
- ' /sys/devices/virtual/hwmon/hwmon*/' + file_pattern)
+ # And other systems like rambi only have coretemp.0. See crbug.com/360249.
+ # /sys/class/hwmon/hwmon*/
+ # /sys/devices/virtual/hwmon/hwmon*/
+ # /sys/devices/platform/coretemp.0/
+ cmd = 'find /sys/ -name "' + file_pattern + '"'
paths = utils.run(cmd, verbose=False).stdout.splitlines()
return paths
@@ -579,10 +582,12 @@
paths = _get_hwmon_paths('temp*_crit')
for path in paths:
temperature = _get_float_from_file(path, 0, None, None) * 0.001
+ # Today typical for Intel is 98'C to 105'C while ARM is 85'C. Clamp to
+ # the lowest known value.
+ if ((min_temperature < 60.0) or min_temperature > 150.0):
+ min_temperature = 85.0
+
min_temperature = min(temperature, min_temperature)
- # Sanity check for real world values.
- assert ((min_temperature > 60.0) and
- (min_temperature < 150.0)), 'Unreasonable temperature.'
return min_temperature