HOWTOS & TEXTE

sensoren und ecc


Sensor Module laden

#!/bin/bash

# Target configuration
target_user="root"

# Module list
modules=("coretemp" "jc42" "nct6775")

echo "--- Lade Hardware-Monitoring Module ---"

for mod in "${modules[@]}"; do
    if lsmod | grep -q "$mod"; then
        echo "Modul $mod ist bereits geladen."
    else
        echo "Lade $mod..."
        if ! sudo modprobe "$mod"; then
            echo ""
            echo "🟡 Warnung: Zugriff verweigert / Fehlende Rechte"
            echo "Datei: /lib/modules/$(uname -r)"
            echo ""
            echo "Mögliche Lösung:"
            echo "Bitte prüfe im Skript-Header, ob die Variable target_user korrekt gesetzt ist (aktuell: target_user=\"$target_user\")."
            echo ""
            echo "Manuelle Reparatur:"
            echo "Führe 'sudo modprobe $mod' manuell aus oder prüfe, ob 'kmod' installiert ist."
            # Wir brechen nicht ab, sondern versuchen das nächste Modul
        fi
    fi
done

echo -e "\n--- Aktuelle Sensor-Ausgabe ---"
if command -v sensors >/dev/null; then
    sensors
else
    echo "Sensors-Befehl nicht gefunden. Installiere lm-sensors..."
    sudo apt update && sudo apt install -y lm-sensors
    sensors
fi

# Check for specific JC42 (RAM) sensors
if ls /sys/bus/i2c/drivers/jc42/ >/dev/null 2>&1; then
    echo -e "\n✅ RAM-Sensoren (JC42) aktiv."
fi

# Target configuration
target_user="root"

echo "--- ASUS WS C246 DC Hardware-Monitor ---"

# Check for Nuvoton or ITE Sensor Chips typical for ASUS
if ! command -v sensors >/dev/null; then
    sudo apt update && sudo apt install -y lm-sensors
fi

# Show detailed voltages and temps
echo "Prüfe Spannungen und Temperaturen..."
sensors | grep -iE 'in0|in1|in2|+12V|+5V|Vcore|CPU Temperature|PCH'

if [ $? -ne 0 ]; then
    echo ""
    echo "🟡 Warnung: Zugriff verweigert / Fehlende Rechte"
    echo "Datei: /sys/class/hwmon"
    echo "Mögliche Lösung: Variable target_user prüfen (aktuell: $target_user)."
    echo "Manuelle Reparatur: sudo sensors-detect ausführen und Module laden."
    exit 1
fi

# Check for BMC/IPMI (if the ASMB9 module is populated)
echo -e "\n--- BMC / IPMI Status ---"
if sudo ipmitool sdr 2>/dev/null; then
    echo "BMC erkannt. Hier sind die Hardware-Logs:"
    sudo ipmitool sel list | tail -n 10
else
    echo "Kein aktives BMC-Modul (ASMB9) über Software-Interface gefunden."
fi

#hier ist schluss

fix:
#!/bin/bash

# Target configuration
target_user="root"

echo "--- Präzise ASUS WS C246 DC Sensor-Analyse ---"

# Fix for the grep warning (escaping the plus sign)
echo "Prüfe Spannungen und Temperaturen..."
sensors | grep -iE "Vcore|in[0-9]|\+12V|\+5V|AUXTIN"

echo -e "\n--- RAM-Temperaturen (JC42) ---"
if ls /sys/bus/i2c/drivers/jc42/ >/dev/null 2>&1; then
    sensors | grep -A 1 "jc42"
else
    echo "Keine JC42 Sensoren gefunden. Sind ECC-Module verbaut?"
fi

# Manual Repair Warning if Vcore looks impossible
vcore_val=$(sensors | grep "Vcore" | awk '{print $2}')
if [[ "$vcore_val" == "200.00" ]]; then
    echo ""
    echo "🟡 Warnung: Sensor-Skalierung ungenau"
    echo "Die Vcore wird vermutlich falsch ausgelesen (Offset-Problem)."
    echo ""
    echo "Mögliche Lösung:"
    echo "Bitte prüfe im Skript-Header, ob die Variable target_user korrekt gesetzt ist (aktuell: target_user=\"$target_user\")."
    echo "Oft hilft ein BIOS-Update oder eine spezifische /etc/sensors.d/asus_ws_c246.conf Datei."
fi

#hier ist schluss


#!/bin/bash

# Target configuration
target_user="root"

echo "--- Detaillierte ECC-RAM Temperatur-Analyse ---"

# Find all jc42 adapter paths and query them specifically
found=false
for sensor in /sys/bus/i2c/drivers/jc42/0-00*; do
    if [ -d "$sensor" ]; then
        # Extract the address (e.g., 0-0018)
        addr=$(basename "$sensor")
        echo "Prüfe RAM-Slot an Adresse: $addr"
        # Query sensors for this specific chip
        sensors "jc42-i2c-$addr" 2>/dev/null | grep -E 'temp1|ALARM'
        found=true
    fi
done

if [ "$found" = false ]; then
    echo "Keine aktiven JC42 Sensoren gefunden."
    echo ""
    echo "🟡 Warnung: Zugriff verweigert / Fehlende Hardware"
    echo "Datei: /sys/bus/i2c/drivers/jc42/"
    echo ""
    echo "Mögliche Lösung:"
    echo "Bitte prüfe im Skript-Header, ob die Variable target_user korrekt gesetzt ist (aktuell: target_user=\"$target_user\")."
    echo ""
    echo "Manuelle Reparatur:"
    echo "Stelle sicher, dass das Modul 'jc42' mit 'sudo modprobe jc42' geladen wurde."
    exit 1
fi

echo -e "\n--- Ende der Messung ---"
#hier ist schluss