first commit
This commit is contained in:
89
chromeos_collect_sensors.sh
Executable file
89
chromeos_collect_sensors.sh
Executable file
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
# Chrome OS sensor/thermal info collector
|
||||
# Run in Chrome OS shell (Ctrl+Alt+T, type 'shell' if developer mode)
|
||||
# Output saved to /tmp/ or current dir if writable
|
||||
|
||||
OUTDIR="/tmp"
|
||||
if [ -w . ]; then OUTDIR="."; fi
|
||||
TS=$(date +%Y%m%d_%H%M%S)
|
||||
OUT="$OUTDIR/sensor_report_$TS.txt"
|
||||
|
||||
exec 1> >(tee -a "$OUT") 2>&1
|
||||
|
||||
echo "=========================================="
|
||||
echo "Chrome OS Sensor/Thermal Report"
|
||||
echo "Date: $(date)"
|
||||
echo "Machine: $(cat /etc/lsb-release 2>/dev/null | grep -E 'CHROMEOS_RELEASE_BOARD|CHROMEOS_DEVICETYPE' || uname -a)"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
echo "--- 1. ectool temps (EC sensors) ---"
|
||||
if command -v ectool >/dev/null 2>&1; then
|
||||
ectool temps 2>/dev/null || echo "ectool temps failed"
|
||||
else
|
||||
echo "ectool not found"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "--- 2. ectool tempsinfo (all sensors, if available) ---"
|
||||
if command -v ectool >/dev/null 2>&1; then
|
||||
ectool tempsinfo 2>/dev/null || echo "ectool tempsinfo not available"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "--- 3. Thermal zones (/sys/class/thermal) ---"
|
||||
if [ -d /sys/class/thermal ]; then
|
||||
for tz in /sys/class/thermal/thermal_zone*; do
|
||||
[ -d "$tz" ] || continue
|
||||
n=$(basename "$tz")
|
||||
type=$(cat "$tz/type" 2>/dev/null)
|
||||
temp=$(cat "$tz/temp" 2>/dev/null)
|
||||
if [ -n "$temp" ] && [ "$temp" != "0" ]; then
|
||||
c=$((temp / 1000))
|
||||
echo "$n: $type = ${c} C (raw $temp mC)"
|
||||
else
|
||||
echo "$n: $type = N/A"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "/sys/class/thermal not found"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "--- 4. Hwmon devices ---"
|
||||
if [ -d /sys/class/hwmon ]; then
|
||||
for h in /sys/class/hwmon/hwmon*; do
|
||||
[ -d "$h" ] || continue
|
||||
name=$(cat "$h/name" 2>/dev/null)
|
||||
echo "--- $h ($name) ---"
|
||||
for t in "$h"/temp*_input; do
|
||||
[ -f "$t" ] || continue
|
||||
label=$(cat "${t%_input}_label" 2>/dev/null || echo "temp")
|
||||
val=$(cat "$t" 2>/dev/null)
|
||||
[ -n "$val" ] && echo " $label: $((val / 1000)) C"
|
||||
done
|
||||
done
|
||||
else
|
||||
echo "/sys/class/hwmon not found"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "--- 5. dmesg (cros_ec, thermal, hwmon) ---"
|
||||
dmesg 2>/dev/null | grep -iE 'cros_ec|thermal|hwmon|sensor|peci' | tail -80 || echo "dmesg not available"
|
||||
echo ""
|
||||
|
||||
echo "--- 6. Fan (if ectool available) ---"
|
||||
if command -v ectool >/dev/null 2>&1; then
|
||||
ectool pwmgetfanrpm all 2>/dev/null || true
|
||||
ectool pwmgetduty 0 2>/dev/null || true
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "--- 7. CPU info ---"
|
||||
cat /proc/cpuinfo 2>/dev/null | grep -E 'model name|Hardware' | head -2
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "Report saved to: $OUT"
|
||||
echo "To copy from Chrome OS: use 'cat $OUT' or Files app if in Downloads"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user