| APCSMART(8) | NUT Manual | APCSMART(8) |
نام (NAME)
apcsmart - درایور دستگاههای یوپیاس هوشمند APC در NUT
خلاصه دستور (SYNOPSIS)
apcsmart -h
apcsmart -a UPS_NAME [-x option=value ...]
نکته
این صفحه راهنما فقط ویژگیهای مختص سختافزار درایور apcsmart را مستند میکند. برای اطلاعات بیشتر درباره درایور اصلی، nutupsdrv(8) را ببینید.
سختافزارهای پشتیبانیشده (SUPPORTED HARDWARE)
درایور apcsmart باید اکثر مدلهای Smart-UPS (شامل سریهای Smart-UPS، Matrix-UPS و Back-UPS در کنار چند مدل دیگر) را شناسایی کند (یا دستکم با آنها کار کند).
در حال حاضر میتوان سختافزارهای APC را تقریباً به چهار دسته تقسیم کرد (توجه داشته باشید که این تقسیمبندی به هیچ وجه قطعی نیست و مرزهای میان آنها کاملاً شناور است):
مدلهای [خیلی] «قدیمی» ([very] "old" models)
مدلهای نمونه:
مدلهای «جدید» ("new" models)
مدلهای «میکرولینک» ("microlink" models)
بهروزرسانی: نسخههای جدیدتر apcupsd ادعای پشتیبانی از پروتکلهای جدید APC را مطرح کردهاند، بنابراین ارزش بررسی دارد که آیا نرمافزار apcupsd با دستگاه شما کار میکند و درایور NUT با نام apcupsd-ups میتواند آن را به عنوان بخشی از اکوسیستم مدیریتشده توسط NUT اداره کند یا خیر.
مدلهای Microsol
مدلهای نمونه:
نکته دیگری که باید به خاطر داشت این است که پروتکل Smart همان پروتکل USB نیست. اگر یوپیاسی با هر دو پورت USB و سریال دارید، بسته به نحوه اتصال آن، به یکی از دو درایور apcsmart یا usbhid-ups نیاز خواهید داشت.
کابلکشی (CABLING)
این درایور به صورت پیشفرض انتظار دیدن یک کابل 940-0024C یا مشابه آن (کلون) را دارد. میتوانید با تعریف cable= که در ادامه توضیح داده شده است، به پشتیبانی از کابل دوحالته 940-0095B تغییر وضعیت دهید.
اگر کابل 940-xx24X شما خراب یا مفقود شده است، از این دیاگرام برای ساخت یک نسخه مشابه استفاده کنید:
https://www.networkupstools.org/cables.html#_940_0024c_clone
نکته
بخش "xx" یا "00" برای یک کابل کوتاه است، یا تعداد فوتهای یک کابل بلندتر. بخش "X" حرفی است که ویرایش جزئی کابل فیزیکی و کانکتورهای آن را نشان میدهد ("C" و "E" ویرایشهای متداول هستند). تمام ویرایشهای جزئی باید از چینش پایهها (pin-out) و سیمبندی یکسانی استفاده کنند.
میتوانید کابل جایگزین را در ups.conf(5) مشخص کنید:
*cable*=940-0095B
همچنین میتوانید آن را در خط فرمان با استفاده از گزینه زیر مشخص کنید:
-x *cable*=940-0095B
حالتهای TTY (TTY MODES)
به صورت پیشفرض درایور در حالت استاندارد (canonical mode) کار میکند، اما مشخص شده که این مورد در سیستمهای ویندوز مشکلساز است. علاوه بر این، این احتمال وجود دارد که برخی کارتهای سریال یا مبدلهای سریال به USB ناشناخته نیز باعث بروز مشکلاتی شوند. میتوانید از گزینه ttymode= برای اعمال حالت غیرکانونیکال در ups.conf(5) استفاده کنید:
*ttymode*=raw
همچنین میتوانید آن را در خط فرمان با استفاده از دستور زیر مشخص کنید:
-x *ttymode*=raw
نکته
هر مقدار دیگری باعث میشود درایور در حالت کانونیکال کار کند.
توضیح روشهای خاموشسازی پشتیبانیشده توسط یوپیاسهای APC (EXPLANATION OF SHUTDOWN METHODS SUPPORTED BY APC UPSES)
سختافزارهای APC از روشهای خاموشسازی متعددی پشتیبانی میکنند که خود این روشها بسته به مدل دستگاه میتوانند در رفتار تفاوت زیادی داشته باشند.
S (خواب زمستانی نرم - soft hibernate)
مدلهای «قدیمی»:
مدلهای «جدید»:
CS (معروف به «هک اجبار به باتری» - "force OB hack")
تأخیری بین «شبیهسازی قطعی برق» و دستور S وجود دارد — که به صورت پیشفرض روی ۳٫۵ ثانیه تنظیم شده است. میتوانید آن را از طریق گزینه cshdelay کنترل کنید (مقادیر مجاز از ۰ تا ۹٫۹ هستند).
نام این روش از مدلهای APC CS گرفته شده است، جایی که از چنین ترفندی برای خاموش کردن یوپیاسها به شیوهای هماهنگ و تنها با استفاده از S استفاده میشد. اگر یوپیاس شما از دستور @nnn پشتیبانی میکند (و خیلی قدیمی نیست، بخش زیر را ببینید)، بهتر است از آن استفاده کنید.
@nnn (خواب زمستانی سخت - hard hibernate)
مدلهای «قدیمی»:
نکته
اگر nnn = 000 باشد، یوپیاس دقیقاً هیچ کاری انجام نخواهد داد. در این مدلها، اگر میتوانید نوع مشکلات برقی که ممکن است در محیط شما رخ دهد را تخمین بزنید، بهتر است nnn > 0 را مشخص کنید.
مدلهای «جدید»:
ظاهراً مدلهایی وجود دارند که به جای ۳ رقم، ۲ رقم میگیرند. برای اطمینان، NUT از این تنوع نیز پشتیبانی میکند. برای فعال کردن آن باید دقیقاً ۲ رقم ارائه دهید (گزینه awd یا آرگومان یکی از دستورات فوری پشتیبانیشده).
K (خاموشی با تأخیر - delayed poweroff)
Z (خاموشی فوری - instant poweroff)
کنترل خاموشسازی توسط NUT (SHUTDOWN CONTROL BY NUT)
سه گزینه برای کنترل رفتار خاموشسازی استفاده میشود.
sdtype=[0-5]
advorder=no|[0-4]+
awd=[0-9]{1,3}
به خاطر داشته باشید که sdtype و advorder با یکدیگر مانعةالجمع هستند. اگر advorder ارائه شود، sdtype نادیده گرفته میشود. اگر advorder روی no تنظیم شود، در عوض از sdtype استفاده میشود.
اگر هیچکدام مشخص نشود، NUT مقدار sdtype=0 را فرض خواهد کرد — که عموماً برای هر دستگاهی که بیش از حد قدیمی یا دارای رفتارهای عجیب نباشد، مناسب است.
SDTYPE
مقادیر مجاز از ۰ تا ۵ هستند. فقط یکی از آنها را میتوان مشخص کرد. هر مقدار دیگری باعث خروج apcsmart خواهد شد.
0
1
2
3
4
5
نکته
تأخیر اضافی بیدار شدن در هایبرنیت سخت را میتوان توسط گزینه awd تعیین کرد.
ADVORDER
آرگومان این گزینه یا کلمه no است، یا رشتهای از ۱ تا ۵ رقم در محدوده [0..4]. هر رقم به یکی از روشهای خاموشسازی پشتیبانیشده توسط یوپیاسهای APC نگاشت میشود. روشهایی که به این صورت فهرست میشوند به ترتیب بررسی میشوند تا زمانی که یکی از آنها موفق شود.
اگر advorder تعریف نشده باشد یا روی no تنظیم شده باشد، به جای آن از sdtype استفاده میشود.
نگاشت به شرح زیر است:
| 0 | هایبرنیت نرم (S) |
| 1 | هایبرنیت سخت (@) |
| 2 | خاموشی با تأخیر (K) |
| 3 | خاموشی فوری (Z) |
| 4 | «هک اجبار به باتری» (CS) |
نکته
تأخیر اضافی بیدار شدن در هایبرنیت سخت را میتوان توسط گزینه awd تعیین کرد.
نادیده گرفتن وضعیت باتری ضعیف (IGNORING LB STATE)
دستگاههای APC — حتی اگر وضعیت باتری ضعیف (LB) را گزارش دهند — به صورت خودکار وارد وضعیت خاموشسازی نمیشوند. این به ما کنترل بیشتری در ارتباط با زمان خاموش کردن واقعی منبع تغذیه (PSU) میدهد. از نسخه 2.6.2 به بعد، NUT از گزینه ignorelb در بخش درایور در ups.conf(5) پشتیبانی میکند. هنگامی که چنین گزینهای فعال باشد، درایور اصلی وضعیت LB گزارششده توسط درایور خاص را نادیده گرفته و تصمیمگیری برای شروع خاموشسازی را فقط بر اساس دو شرط زیر انجام میدهد:
battery.charge < battery.charge.low
یا (OR)
battery.runtime < battery.runtime.low
البته — اگر هر یک از این متغیرها در دسترس نباشند، شرط مربوطه بررسی نمیشود. اگر میخواهید یکی از شرطها را صراحتاً غیرفعال کنید، کافی است مقدار متغیر سمت راست را بازنویسی (override) کنید تا مقدار شرط همیشه برابر با false ارزیابی شود (حتی میتوانید اعداد منفی مشخص کنید).
یوپیاسهای APC متغیر battery.charge.low را ندارند — اگر میخواهید از چنین شرطی استفاده کنید، باید آن را تعریف کنید (پیشوند override. یا default. را به ابتدای متغیر اضافه کنید).
دستگاههای «جدید» دارای متغیر battery.runtime.low هستند، اما بسته به کیفیت باتری، نسخه میانافزار، کالیبراسیون و بار کاری یوپیاس — این متغیر میتواند به میزان قابل توجهی کمتر از حد واقعی تخمین زده شود — به ویژه بلافاصله پس از رفتن به وضعیت کار روی باتری (OB). این امر به نوبه خود میتواند باعث اعلام وضعیت LB شود که در شرایط عادی موجب میشود NUT فرآیند خاموشسازی را آغاز کند. هنگام اتکا به گزینه ignorelb ممکن است بخواهید این شرط را به طور کامل غیرفعال کنید (این مورد در واقع انگیزه اصلی معرفی چنین ویژگیای بوده است).
یک مثال ساده:
[apc]
ignorelb
override.battery.charge.low = 15
override.battery.runtime.low = -1
این پیکربندی باعث میشود apcsmart فقط در صورتی وارد فرآیند خاموشسازی شود که شارژ شناساییشده باتری کمتر از ۱۵٪ باشد. شرط زمان کارکرد (runtime) در این مثال همیشه نادرست (false) است.
شاید بپرسید — چرا باید این کار را انجام داد؟ خوب، دلیل آن پیشتر در بالا اشاره شد. دستگاههای APC میتوانند در مورد باتریها بسیار حساس باشند و میانافزار آنها ممکن است زمان کارکرد باقیمانده را کمتر از حد واقعی برآورد کند (به ویژه بلافاصله پس از رفتن به وضعیت کار روی باتری). گزینه ignorelb و متغیرهای override.* به شما امکان میدهند کنترل یوپیاس در دست شما باقی بماند، نه اینکه یوپیاس بر شما مسلط شود.
علاوه بر این، این امکان اجازه میدهد شرطها را مشابه با نحوه انجام آن در دیمن apcupsd تعیین کنید، بنابراین برای افرادی که به آن نرمافزار عادت دارند بسیار مفید خواهد بود.
دستورات فوری پشتیبانیشده (SUPPORTED INSTANT COMMANDS)
درایور apcsmart دستورات فوری زیر را ارائه میدهد:
shutdown.return
shutdown.return cs
shutdown.return at:<nbr>
shutdown.stayoff
load.off
تمام دستورات فوق باید برای بار دوم صادر شوند تا اعمال گردند (حداقل ۳ ثانیه و حداکثر ۱۵ ثانیه پس از فراخوانی اولیه). این دستورات بیشتر برای آزمایش دستی زمانی که رایانه شما توسط یوپیاسی که آزمایش میکنید تغذیه نمیشود، مفید هستند.
سایر دستورات پشتیبانیشده:
نسخه پیشین درایور (PREVIOUS DRIVER VERSION)
درایور قبلی همچنان با نام apcsmart-old در دسترس است، چنانچه نیازی به استفاده از نسخه پیشین باشد (اشکالات، ناسازگاریها با عملکردهای جدید و غیره). به مرور زمان، apcsmart-old به طور کامل کنار گذاشته خواهد شد، اما این اتفاق تا زمانی که نسخه جدید بدون هیچ مشکل معلقی به پایداری کامل نرسد، رخ نخواهد داد.
اشکالات (BUGS)
برخی از مدلهای قدیمیتر یوپیاس APC در طول آزمایش پنل جلویی دادههای نادرست در ثبات وضعیت (status register) برمیگردانند. این دادهها معمولاً شناسایی شده و نادیده گرفته میشوند، اما گهگاه مقادیر غیرمنتظره دیگری نادیده مانده و عبور کردهاند.
مدلهای یوپیاس APC دارای هر دو پورت USB و سریال هنگام جابجایی از ارتباط USB به سریال و احتمالاً برعکس، نیاز به خاموش و روشن کردن مجدد (power cycle) دارند.
نویسندگان و تاریخچه (AUTHORS AND HISTORY)
Nigel Metheringham <Nigel.Metheringham@Intechnology.co.uk> (با اقتباس بسیار از درایور اصلی apcsmart اثر Russell Kroll) مدتی درایوری به نام newapc نوشت که در سری 1.5 تغییر نام یافت.
در نسخه 2.6.2 آن درایور سرانجام به apcsmart-old تغییر نام داد و این نسخه بهروزشده با قابلیتهای جدید که اکنون نام apcsmart را دارد جایگزین آن شد و توسط Michal Soltys <soltys@ziu.info> نگهداری میشود.
همچنین ببینید (SEE ALSO)
nutupsdrv(8), ups.conf(5), usbhid-ups(8), solis(8)
منابع اینترنتی:
صفحه اصلی NUT (ابزارهای یوپیاس تحت شبکه): https://www.networkupstools.org/historic/v2.8.5
| 06/21/2026 | Network UPS Tools 2.8.5 |