SOCOMEC_JBUS(8) NUT Manual SOCOMEC_JBUS(8)

socomec_jbus - درایور دستگاه‌های یوپی‌اس مبتنی بر پروتکل Jbus برند Socomec در NUT

socomec_jbus -h

socomec_jbus -a DEVICE_NAME [گزینه‌ها]


نکته

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

این درایور از یوپی‌اس‌های آنلاین (تبدیل دوگانه) سری Socomec JBUS با مشخصات زیر پشتیبانی می‌کند.

1.یوپی‌اس‌های تک‌فاز و سه‌فاز
2.اتصال: RS-232

این دستگاه‌ها معمولاً همراه با یک کارت مدیریتی تحت وب/SNMP یا جعبه خارجی Netvision عرضه می‌شوند که برای آن‌ها استفاده از درایور snmp-ups(8) مناسب‌تر خواهد بود. در صورتی که netvision در دسترس نباشد، می‌توانید یوپی‌اس را مستقیماً از طریق درگاه سریال متصل کرده و از این درایور استفاده کنید.

در حال حاضر، این درایور فقط روی مدل زیر آزمایش شده است:

•DIGYS 3/3 15kVA

از نظر تئوری، هر مدل Socomec JBUS باید کار کند. این دستگاه باید به عنوان “Unknown Socomec JBUS” همراه با یک شناسه عددی شناسایی شود که برای افزودن آن به فهرست یوپی‌اس‌های پشتیبانی‌شده به آن نیاز خواهد بود.

متأسفانه، اسناد Socomec فقط به مدل‌های DELPHYS MX و DELPHYS MX elite اشاره کرده‌اند و من فقط شناسه DIGYS خود را در اختیار دارم؛ بنابراین به احتمال زیاد مدل شما شناسایی نخواهد شد اما احتمالاً بیشتر بخش‌های آن به درستی کار خواهد کرد. لطفاً نتایج موفقیت‌آمیز یا ناموفق خود را به سیستم ثبت اشکال یا فهرست پستی گزارش دهید. اطمینان حاصل کنید که شماره مدل کامل یوپی‌اس خود را به صورت دستی در گزارش قید نمایید.

درایور socomec_jbus برای پیاده‌سازی پروتکل Modbus از پروژه libmodbus استفاده می‌کند.

دستگاه یوپی‌اس دارای یک درگاه RS-232 است که باید با یک کابل نال‌مودم (NULL-modem) به درگاه سریال رایانه متصل شود. یوپی‌اس آزمایش‌شده دارای کانکتور مادگی DB9 است، بنابراین اگر کابل را خودتان می‌سازید، به نوع کانکتور توجه کنید تا از استفاده از تبدیل‌های نری/مادگی اجتناب شود.

پروتکل RS-232 در تمامی سیستم‌عامل‌ها، چه از طریق درگاه سریال داخلی رایانه و چه با استفاده از مبدل خارجی USB به RS-232 پشتیبانی می‌شود. اگر قصد استفاده از مبدل USB به RS-232 را دارید، بررسی کنید که توسط سیستم‌عامل شما پشتیبانی شود.

این درایور در صورت در دسترس بودن libmodbus و هدرهای توسعه، باید به‌طور پیش‌فرض ساخته شود. می‌توانید با آرگومان‌های زیر، اسکریپت پیکربندی (configure) را وادار به ساخت آن کنید:

:; ./configure --with-serial=yes --with-modbus=yes

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

برای نمونه، یک مبدل USB به سریال در لینوکس می‌تواند به عنوان /dev/ttyACM0 یا /dev/ttyUSB0، یا در FreeBSD به عنوان /dev/ttyU0 شناخته شود (به حرف بزرگ "U" دقت کنید). یک درگاه سریال داخلی می‌تواند به عنوان /dev/ttyS0 در لینوکس یا یکی از نام‌های /dev/cua* در FreeBSD شناسایی شود.

این درایور (هنوز؟) از ارسال دستورات به یوپی‌اس پشتیبانی نمی‌کند.

این درایور به همان دلایل، از متغیرهای زمان اجرای قابل‌نوشتن پشتیبانی نمی‌کند (به upsrw(8) مراجعه کنید). پیاده‌سازی هر دو باید ساده باشد، اما از آنجا که قبلاً یک یا دو ناسازگاری در مستندات مشاهده کرده‌ام، فعلاً از آزمایش آن‌ها خودداری می‌کنم.

خب، این در بهترین حالت یک نسخه آلفا است، اما تاکنون به نظر می‌رسد وضعیت یوپی‌اس را به شکلی قابل‌اطمینان گزارش می‌دهد. این برنامه عمدتاً بر اساس کار Yifeng Li <tomli@tomli.me> روی huawei-ups2000(8) در همان درخت منبع نوشته شده است.

این درایور تمام آدرس‌های مستندشده JBUS را استعلام می‌کند و کاملاً ممکن است مدل یوپی‌اس شما از یکی از آن‌ها پشتیبانی نکند (برای مثال Digys از آدرس 0x1020 که باید وضعیت فعلی یوپی‌اس را ارائه دهد پشتیبانی نمی‌کند). این مورد باید همراه با آدرسی که خطا ایجاد کرده، با LOG_ERR توسط modbus_read_input_registers() ثبت شود.

تحت شرایط خاصی، برخی رجیسترها می‌توانند مقادیر نامعتبر برگردانند و موجب بروز خطای «data stale» شوند. پس از وقوع خطای کهنگی داده، باید پیام‌های خطایی مشابه با مثال زیر در لاگ سیستم مشاهده کنید.

socomec_jbus: modbus_read_input_registers(addr:XXXX, count:Z):
    Illegal data address
upsd: Data for UPS [socomec] is stale - check driver
upsd: UPS [socomec] data is no longer stale

تاکنون تمام مشکلات شناخته‌شده توسط نویسنده برطرف شده‌اند، اما وجود یک مشکل ناشناخته غیرممکن نیست. اگر در کاربردهای عادی با مشکلات «data stale» مواجه شدید، لطفاً یک گزارش با پیوست کامل لاگ‌ها ارسال کنید.

پیش از عیب‌یابی یا گزارش مشکل، بسیار مهم است که گزارش‌های dmesg خود را برای رویدادهای اتصال و قطع اتصال USB بررسی کنید تا از اتلاف وقت روی درایور NUT در شرایطی که مشکل واقعی از USB است جلوگیری شود. به عنوان مثال، اگر کسی کابل را از درگاه USB بکشد، یا اگر دستگاه USB جدیدی به میزبان/هاب USB متصل شود که در تأمین برق پورت‌هایش با مشکل مواجه است (اتفاقی رایج در رایانه‌های تک‌بوردی مثل رزبری پای)، یا اگر کابل‌کشی نامناسب یا نویز EMI داشته باشید، مبدل سریال ممکن است حتی برای لحظه‌ای از USB قطع شود. این مسئله یک خطای کهنگی دائمی داده ایجاد می‌کند و درایور باید دوباره راه‌اندازی شود (وصل کردن مجدد کابل USB مشکل را حل نمی‌کند، زیرا درایور همچنان در حال استفاده از دستگاه سریال ناموجود است). این مشکلات USB معمولاً ربطی به NUT ندارند. در صورت بروز چنین مشکلی، باید مسئله اصلی USB را حل کنید — کابل را بررسی کنید، مبدل را چک کنید، از یک هاب USB دارای منبع تغذیه مستقل استفاده کنید، یک ایزولاتور USB سرعت‌کامل را به کار ببرید و موارد مشابه.

Thanos Chatziathanassiou <tchatzi@arx.net>

nutupsdrv(8)

•صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
•صفحه اصلی libmodbus: http://libmodbus.org
06/21/2026 Network UPS Tools 2.8.5