FANCONTROL(8) System Manager's Manual FANCONTROL(8)

fancontrol - تنظیم خودکار و نرم‌افزاری سرعت فن

fancontrol [فایل_پیکربندی]

دستور fancontrol یک اسکریپت شل برای استفاده به همراه lm_sensors است. این اسکریپت پیکربندی خود را از یک فایل می‌خواند، سپس سرعت فن‌ها را بر اساس دماها محاسبه کرده و خروجی‌های مربوطه PWM را بر روی مقادیر محاسبه‌شده تنظیم می‌کند.

لطفاً هنگام استفاده از قابلیت‌های کنترل فن مادربرد خود محتاط باشید؛ علاوه بر خطر آسیب به پردازنده (CPU)، در دماهای بالاتر استهلاک سایر قطعات سخت‌افزاری شما نیز افزایش می‌یابد. بنابراین اگر قصد دارید از این قطعات تا ۵۰ سال آینده استفاده کنید، شاید بهتر باشد اصلاً از fancontrol استفاده نکنید. همچنین به یاد داشته باشید که بیشتر فن‌ها برای کار با ولتاژ مدوله‌شده PWM طراحی نشده‌اند.

در عمل به نظر نمی‌رسد این موضوع مشکل بزرگی ایجاد کند؛ فن‌ها کمی گرم‌تر می‌شوند، فقط مطمئن شوید که یک هشدار دما یا دستور خاموش‌سازی در صورت خرابی هر یک از فن‌ها تنظیم کرده‌اید، زیرا احتمالاً متوجه صدای توقف آن نخواهید شد.

برای پیکربندی آسان، اسکریپتی به نام pwmconfig(8) وجود دارد که به شما امکان می‌دهد فایل پیکربندی fancontrol را به صورت تعاملی بنویسید. علاوه بر این می‌توانید خودتان این فایل را با استفاده از اطلاعات این صفحه راهنما ایجاد کنید.

از آنجا که بیشتر کاربران از اسکریپت pwmconfig(8) استفاده می‌کنند، ساختار فایل پیکربندی در انتها توضیح داده می‌شود. ابتدا متغیرهای مختلف موجود برای تغییر رفتار fancontrol شرح داده می‌شوند:

این متغیر مشخص می‌کند که حلقه اصلی fancontrol در چه بازه زمانی بر حسب ثانیه اجرا شود.
نگاشت دستگاه‌های کلاس hwmon به دستگاه‌های فیزیکی. این ویژگی به fancontrol امکان می‌دهد تا بررسی کند فایل پیکربندی همچنان به‌روز است یا خیر.
ثبت نام دستگاه‌های کلاس hwmon. این به fancontrol اجازه می‌دهد تا از به‌روز بودن فایل پیکربندی اطمینان حاصل کند.
نگاشت خروجی‌های PWM به حسگرهای دما تا fancontrol بداند کدام حسگرهای دما باید برای محاسبه مقادیر جدید خروجی‌های مربوطه PWM استفاده شوند. می‌توان از پیشوند ! برای اجرای یک دستور به عنوان حسگر دما استفاده کرد.
ثبت ارتباط میان یک خروجی PWM و یک ورودی فن. سپس fancontrol می‌تواند سرعت فن را بررسی کرده و در صورت توقف غیرمنتظره، آن را دوباره راه‌اندازی کند.
دمایی که در کمتر از آن، فن به حداقل سرعت تغییر وضعیت می‌دهد.
دمایی که در بالاتر از آن، فن به حداکثر سرعت تغییر وضعیت می‌دهد.
حداقل سرعتی که فن با آن شروع به چرخیدن می‌کند. باید از یک مقدار مطمئن استفاده کنید تا اطمینان حاصل شود فن حتی با فرسوده شدن نیز به چرخش درمی‌آید.
حداقل سرعتی که فن در آن هنوز می‌چرخد. در اینجا نیز از یک مقدار مطمئن استفاده کنید.
مقدار PWM مورد استفاده در صورتی که دما پایین‌تر از MINTEMP باشد. به طور معمول اگر توقف کامل فن اشکالی نداشته باشد این مقدار 0 خواهد بود، یا اگر نمی‌خواهید فن هرگز متوقف شود، برابر با مقدار MINSTOP تنظیم می‌شود. اگر این مقدار تعریف نشود، به طور پیش‌فرض 0 (فن متوقف) در نظر گرفته می‌شود.
مقدار PWM مورد استفاده زمانی که دما بالاتر از MAXTEMP است. اگر این مقدار تعریف نشود، به طور پیش‌فرض 255 (حداکثر سرعت) خواهد بود.
تعداد آخرین خوانش‌های دما که برای میانگین‌گیری دما استفاده می‌شوند. این ویژگی می‌تواند برای هموار کردن جهش‌های لحظه‌ای دما به کار رود. اگر تعریف نشود، مقدار پیش‌فرض 1 است (بدون میانگین‌گیری).

قالب فایل پیکربندی به صورت زیر است:

VARIABLE=chip/pwmdev=value chip/pwmdev2=value2
VARIABLE2=...

هر متغیر در خط جداگانه قرار دارد. پس از نام متغیر علامت مساوی و جفت‌های device=value می‌آیند. این جفت‌ها شامل مسیر خروجی pwm که مقدار برای آن معتبر است، علامت مساوی و به دنبال آن مقدار بوده و با یک فاصله از هم جدا می‌شوند. مسیر می‌تواند مطلق یا نسبی باشد (از مسیر /sys/bus/i2c/devices یا /sys/class/hwmon بسته به نسخه هسته). مثال:

MINTEMP=hwmon0/device/pwm1=40 hwmon0/device/pwm2=54

باید مقادیر دما را به صورت آزمایشی تنظیم کنید تا به نتیجه مطلوب برسید. برای راه‌اندازی اولیه استفاده از اسکریپت pwmconfig توصیه می‌شود. تغییرات جزئی را می‌توان با ویرایش مستقیم فایل پیکربندی بر اساس قواعد بالا انجام داد.

هنگام شروع، fancontrol اطمینان حاصل می‌کند که تمام دستگاه‌های ارجاع‌داده‌شده وجود داشته و با وضعیت آن‌ها در زمان پیکربندی مطابقت دارند، و اینکه تمام فایل‌های sysfs مورد اشاره وجود دارند. در غیر این صورت، با این فرض که فایل پیکربندی ممکن است با درایورهای بارگذاری‌شده هسته ناهماهنگ باشد، بلافاصله خارج می‌شود.

برنامه fancontrol ابتدا پیکربندی خود را می‌خواند، آن را در آرایه‌ها ذخیره می‌کند و حلقه تابع اصلی خود را به اجرا درمی‌آورد. این تابع دماها و سرعت فن‌ها را از فایل‌های درایور هسته دریافت کرده و سرعت‌های جدید را بسته به تغییرات دما محاسبه می‌کند، اما تنها در صورتی که دما بین MINTEMP و MAXTEMP باشد. پس از آن، مقادیر جدید در خروجی‌های PWM نوشته می‌شوند. در حال حاضر سرعت به صورت خطی با افزایش دما بالا می‌رود. به این ترتیب در بهترین حالت، در بیشتر اوقات صدای فن‌های خود را نخواهید شنید.

pwmconfig(8), sensors(1).

Marius Reiner <marius.reiner@hdev.de>

September 2009 lm-sensors 3