RIELLO_USB(8) NUT Manual RIELLO_USB(8)

riello_usb - درایور تجهیزات یوپی‌اس با پروتکل Riello از طریق USB

riello_usb -h

riello_usb -a UPS_NAME [OPTIONS]


نکته

این صفحه راهنما فقط ویژگی‌های خاص سخت‌افزاری درایور riello_usb را مستند می‌کند. برای اطلاعات بیشتر درباره درایور اصلی، به nutupsdrv(8) مراجعه کنید.

درایور riello_usb از تمام یوپی‌اس‌های جدید Riello دارای درگاه USB پشتیبانی می‌کند.

محصولات قدیمی‌تر UPS شرکت Riello پشتیبانی نمی‌شوند.

port = string

گزینه‌ای الزامی برای تمامی درایورهای NUT. مقداری مانند value باید تعیین شود، معمولاً auto برای درایورهایی که اتصالات USB را مدیریت می‌کنند.

نکته
این مقدار می‌تواند یک مسیر در سیستم‌فایل دستگاه مانند /dev/usb/hiddev0 باشد، اما استفاده فعلی از API مربوط به libusb مانع از شناسایی و تطبیق از طریق چنین شناسه‌هایی می‌شود. همچنین ممکن است ذاتاً غیرقابل‌اعتماد باشند (وابسته به اتصال مجدد کابل و ترتیب شماره‌گذاری دستگاه‌ها). در حال حاضر مقدار واقعی value نادیده گرفته می‌شود، اما از نظر ساختاری وجود مقداری برای پیکربندی port همچنان الزامی است.

امکان کنترل چندین دستگاه UPS به‌طور هم‌زمان از طریق اجرای چندین نمونه از این درایور وجود دارد، به شرطی که بتوان آن‌ها را با تنظیم ترکیبی از گزینه‌های vendor، product، vendorid، productid، serial، bus یا device که در ادامه توضیح داده شده‌اند، به‌طور یکتا متمایز کرد. برای دستگاه‌ها یا سیستم‌عامل‌هایی که اطلاعات کافی ارائه نمی‌دهند، گزینه allow_duplicates می‌تواند کاربردی باشد (محدود و پرخطر!).

vendorid = regex, productid = regex, vendor = regex, product = regex, serial = regex

انتخاب یک UPS مشخص، در صورتی که بیش از یک دستگاه از طریق USB متصل باشد. هر گزینه یک عبارت منظم گسترده را مشخص می‌کند (برای اطلاعات بیشتر در مورد عبارات منظم به regex(7) مراجعه کنید)، که باید با مقادیر رشته‌ای کامل مربوط به vendor/product/serial دستگاه UPS (بدون احتساب فاصله‌های سفید پیرامون) یا کل کد هگزادسیمال ۴ رقمی برای vendorid و productid مطابقت داشته باشد.

برای یافتن رشته‌های مناسب جهت تطبیق، اجرای lsusb(8) یا اجرای این درایور NUT با آرگومان خط فرمان -DD را امتحان کنید.

مثال‌ها:

•-x vendor="Foo.Corporation.*"
•-x vendorid="051d*" (APC)
•-x product=";.*(Smart|Back)-?UPS.*"

bus = regex

اختیاری، توصیه نمی‌شود.

انتخاب یک UPS روی یک گذرگاه USB مشخص یا گروهی از گذرگاه‌ها. آرگومان یک عبارت منظم است که باید با نام گذرگاهی که UPS به آن متصل است مطابقت داشته باشد (مثلاً bus="002" یا bus="00[2-3]") همان‌طور که در لینوکس در مسیر /sys/bus/usb/devices یا در خروجی lsusb(8) دیده می‌شود؛ شامل صفرهای ابتدایی.


نکته
سیستم‌عامل تضمین نمی‌کند که شماره‌های گذرگاه در طول راه‌اندازی‌های مجدد، بارگذاری مجدد درایورهای هسته یا اتصال مجدد دستگاه (مثلاً تغییر تعداد دستگاه‌های متصل به هاب‌های USB) پایدار باقی بمانند.

device = regex

اختیاری، توصیه نمی‌شود.

انتخاب یک UPS روی یک دستگاه USB مشخص یا گروهی از دستگاه‌ها. آرگومان یک عبارت منظم است که باید با نام دستگاهی که UPS به آن متصل است مطابقت داشته باشد (مثلاً device="001" یا device="00[1-2]") همان‌طور که در لینوکس در مسیر /sys/bus/usb/devices یا در خروجی lsusb(8) دیده می‌شود؛ شامل صفرهای ابتدایی.


نکته
سیستم‌عامل تضمین نمی‌کند که شماره‌های دستگاه در طول راه‌اندازی‌های مجدد یا اتصال مجدد دستگاه پایدار باقی بمانند.

busport = regex

اختیاری، توصیه نمی‌شود.

در صورت پشتیبانی توسط سخت‌افزار، سیستم‌عامل و libusb در محیط پیاده‌سازی‌شده خاص، این گزینه باید اجازه دهد به جای مقادیر شمارشی منطقی device شماره درگاه‌های فیزیکی روی یک هاب USB مشخص شود، و در نتیجه — این مورد باید در طول راه‌اندازی‌های مجدد یا اتصال‌های مجدد نوسان کمتری داشته باشد. برای مثال، این مقدار ممکن است در خروجی توپولوژی USB دستور lsusb -tv روی سیستم‌هایی که این ابزار را دارند، مشاهده شود.


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

allow_duplicates

اختیاری، توصیه نمی‌شود.

اگر چندین دستگاه UPS دارید که ممکن است توسط گزینه‌های بالا به‌طور یکتا شناسایی نشوند (مثلاً فقط VID:PID در آنجا قابل کشف باشد)، این فلگ به هر نمونه درایور که در آن تنظیم شده اجازه می‌دهد اولین تطابق را در صورت موجود بودن انتخاب کند، یا برای بررسی مورد دیگر ادامه دهد.

به‌طور معمول، راه‌اندازی اولیه درایور در این مرحله با اعلام خطای "Resource busy" یا خطایی مشابه متوقف می‌شود، با این فرض که دستگاهی که به‌درستی تطبیق داده شده یکتا است — و فرایند دیگری در حال حاضر آن را مدیریت می‌کند.


هشدار
این ویژگی ذاتاً غیرقطعی (non-deterministic) است! انتساب نام نمونه درایور به دستگاه واقعی ممکن است بین دفعات اجرا متفاوت باشد!

اگر فقط برایتان مهم است که بدانید حداقل یکی از یوپی‌اس‌های بی‌نام شما آنلاین است، این گزینه می‌تواند کمک کند.

اما اگر واقعاً نیاز دارید بدانید کدام دستگاه است، کمکی نخواهد کرد!

usb_set_altinterface = bAlternateSetting

فراخوانی افزونه و اجباری usb_set_altinterface()، به‌ویژه در صورت نیاز برای دستگاه‌هایی که چندین نقش USB مختلف ایفا می‌کنند و در آن‌ها UPS با شماره رابط 0 (پیش‌فرض) نشان داده نمی‌شود.

usb_config_index, usb_hid_rep_index, usb_hid_desc_index, usb_hid_ep_in, usb_hid_ep_out

اجبار به استفاده از شماره‌های خاص رابط، نقطه انتهایی (endpoint)، شاخص توصیف‌کننده (descriptor index) و غیره، به جای مقدار پیش‌فرض 0 (در برخی درایورها برای دستگاه‌های خاصی که از شماره‌های غیرصفر استفاده می‌کنند، مقادیر دیگری به‌ندرت دیده می‌شود). این مقدار به‌صورت یک عدد هگزادسیمال مشخص می‌شود.

به عنوان یک قاعده کلی برای تشخیص usb_hid_desc_index می‌توانید مقادیر بزرگ‌تر wDescriptorLength (تقریباً بیش از ۶۰۰ بایت) را در گزارش‌های lsusb یا ابزارهای مشابه مشاهده کنید.

LIBUSB_DEBUG = INTEGER

عیب‌یابی زمان اجرای درایورهای NUT با قابلیت USB نه‌تنها شامل افزایش سطح گزارش‌دهی اشکال‌زدایی معمول NUT است (مثلاً با استفاده از تنظیم DEBUG_MIN در ups.conf(5) یا دستورات پروتکل برای تغییر مقدار driver.debug)، بلکه می‌تواند از اشکال‌زدایی اختصاصی LibUSB نیز بهره‌مند شود.

برای مورد دوم، می‌توانید گزینه درایور LIBUSB_DEBUG را تنظیم کنید؛ به عنوان روش جایگزین سنتی نیز می‌توانید پیش از شروع برنامه درایور NUT، متغیر محیطی LIBUSB_DEBUG را صادر (export) کنید (می‌تواند در اسکریپت راه‌اندازی اولیه درایور یا متد سرویس، شاید از طریق nut.conf(5) تنظیم و "export" شود)، با یک مقدار عددی مانند 4 ("All messages are emitted" یا «همه پیام‌ها ارسال شوند»).

برای جزئیات بیشتر، از جمله مقادیر پشتیبانی‌شده کنونی برای نسخه کتابخانه شما، برای مثال ببینید:

بسته به سازنده و مدل UPS خود، ممکن است لازم باشد برخی تنظیمات را تغییر دهید (به ups.conf(5) مراجعه کنید):

localcalculation

در صورت فعال بودن، درایور مقادیر battery.runtime و battery.charge را به‌صورت "محلی" (داخلی) درون درایور محاسبه می‌کند. این ویژگی برای برخی از مدل‌های Riello (سری‌های iPlug و iDialog) کاربرد دارد که مقادیر نادرستی را در خوانش‌های سخت‌افزاری ارائه می‌دهند یا اصلاً هیچ مقداری ارائه نمی‌کنند. این "محاسبه محلی" بر اساس ظرفیت اسمی باتری، ولتاژ اسمی باتری، شارژ واقعی باتری و حداکثر بار و بار واقعی UPS انجام می‌شود.

همچنین ممکن است بخواهید default.battery.voltage.low و default.battery.voltage.high را در صورتی که محدوده پیش‌فرض داخلی (از 10.7V تا 12.9V) با سخت‌افزار شما مطابقت ندارد پیکربندی کنید، یا در صورتی که دستگاه شما ولتاژ اسمی را نیز ارائه نمی‌دهد، مقدار default.battery.voltage.nominal (مثلاً 24) را امتحان نمایید.


نکته
نمودار شارژ باتری‌های سربی-اسیدی (PbAc) خطی نیست، بنابراین مقدار تخمینی شارژ ممکن است کاملاً دقیق نباشد. با این حال برای تعیین وضعیت واقعی باتری و برآورد تقریبی مدت زمانی که همچنان می‌تواند سیستم را تغذیه کند به اندازه کافی مناسب خواهد بود.

هشدار
این کلیدواژه ممکن است در نسخه‌های آینده درایور به نفع runtimecal و سایر تنظیمات مورد نیاز آن (همان‌طور که در درایورهای nutdrv_qx(8)، blazer_ser(8) و blazer_usb(8) دیده می‌شود) منسوخ (deprecated) شود.

Massimo Zampieri

riello_ser(8)

nutupsdrv(8)

صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5

06/21/2026 Network UPS Tools 2.8.5