Files
Fancontrol-Optiplex-3050-Micro/README.md
2025-07-23 13:56:17 +02:00

53 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dell OptiPlex 3050 Micro Fan Control Script
This Bash script provides simple, temperature-based fan control for the **Dell OptiPlex 3050 Micro**. It's designed to reduce idle fan noise by lowering the fan speed when the system is cool, while still ramping it up appropriately under load.
---
## 📋 Overview
By reading CPU temperature from the system's `hwmon` interface and adjusting the fan speed via PWM (pulse-width modulation), this script allows you to override the default, often overly aggressive fan behavior.
---
## ⚙️ How It Works
1. **Monitors CPU Temperature**
- Reads from: `/sys/class/hwmon/hwmon1/temp1_input`
*(Path may vary depending on your system — adjust as needed.)*
2. **Controls Fan Speed**
- Writes PWM values to: `/sys/class/hwmon/hwmon2/pwm1`
*(This controls the fan speed. Also may vary.)*
3. **Temperature-Based Fan Speed Logic**
| Temperature (°C) | Fan Speed (PWM) | Approximate Speed |
|------------------|------------------|--------------------|
| < 50°C | 25 | ~25% |
| 5059°C | 45 | ~50% |
| 6064°C | 60 | ~75% |
| 6574°C | 120 | High |
| ≥ 75°C | 255 | Maximum |
| ≥ 85°C | 255 + warning | Emergency max speed|
4. **Failsafe Mechanism**
- If temperature exceeds **85°C**, the fan is forced to maximum and a message is logged to `/dev/kmsg`.
---
## 🧪 Requirements
- A Linux system with PWM-capable fan control (`/sys/class/hwmon/...`)
- Root access to write PWM values
- Adjusted system paths if `hwmon1` and `hwmon2` differ on your machine
---
## 🚀 Usage
1. Make the script executable:
```bash
chmod +x fan_control.sh