1

Из того, что документация я мог бы найти, ИБП поддерживается на Linux и , как сообщается, работает с apcupsd

Я искал конкретные проблемы, такие как печально известный протокол Microlink, и не нашел ни одной.

Я нашел отзыв от парня из Великобритании, который сообщает, что использует эту модель в не слишком отличающейся версии ОС (его OpenSuSE 12.1, мой 12.3 x86_64).

USB-порт обнаружен, lsusb сообщает, что он используется APC:

Bus 002 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply

и lsusb -v -s002:003 подтверждает и расширяет:

Bus 002 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x051d American Power Conversion
  idProduct          0x0002 Uninterruptible Power Supply
  bcdDevice            0.90
  iManufacturer           1 American Power Conversion
  iProduct                2 Back-UPS RS 900G FW:879.L4 .I USB FW:L4
  bNumConfigurations      1
  Configuration Descriptor:
    [...]
    Interface Descriptor:
      [...]
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength    1134
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             100
Device Status:     0x0000
  (Bus Powered)

Ядро распознает это и должным образом настраивает устройство интерфейса пользователя

crw------- 1 root root 180, 96 Nov  4 16:11 /dev/usb/hiddev0

Так что, насколько я знаю, все так и должно быть.

Я поместил стандартную конфигурацию в /etc/apcupsd/apcupsd.conf (который завершается Unix, только для ASCII, без спецификации (на всякий случай))

UPSCABLE usb
UPSTYPE  usb
DEVICE

(Я также пытался закомментировать DEVICE , и установка устройства /dev/puppa приводит к попытке доступа к /dev/puppa , а не к некоторому /var/lib/dev/puppa или /dev/puppa\r\n).

Тем не менее, apcaccess говорит мне:«Здесь нет UPS, извините»:

VERSION  : 3.14.10 (13 September 2011) suse
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-11-04 16:24:22 +0100
MODEL    :
STATUS   : NOBATT
LINEV    : 000.0 Volts
LOADPCT  :   0.0 Percent Load Capacity
BCHARGE  : 000.0 Percent
TIMELEFT :   0.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Low
LOTRANS  : 000.0 Volts
HITRANS  : 000.0 Volts

Он не распознает модель и сообщает об отсутствии батареи (и отсутствии напряжения). Это подтверждает, что это не проблема Microlink, или она будет сообщать о состоянии батареи, если мало чего еще.

Если я отсоединяю кабель USB, я получаю сообщение apcupsd о том, что связь потеряна; и я получаю трансляцию "связь восстановлена", если я снова подключаю кабель. Итак, apcupsd - это мониторинг.

Так что все говорит мне, что это должно работать - только это не так. По-видимому, ИБП не будет общаться с apcupsd . Кто-нибудь замечает, что мне не хватает?

2 ответа2

2

Я обнаружил похожий случай (в отношении другой модели ИБП, но все еще USB), который был решен методом вуду смены порта USB. Итак, я попробовал. Это сработало.

Вывод lsusb для двух портов (тот, который работает, и тот, который не работает) идентичен, за исключением одной детали:

Device Status:     0x0000           <-- old port
  (Bus Powered)

Device Status:     0x0002           <-- new port
  (Bus Powered)
  Remote Wakeup Enabled

Я не знаю, означает ли это, что на первом порту отсутствовал «Удаленный пробуждение», который по некоторым причинам требовался apcupsd (может быть, для поддержки wakeup-on-power-back?), Или этот порт распознается по совершенно другой причине и благодаря его распознаванию включается удаленное пробуждение, которого раньше не было.

Тем не менее, если я верну UPC к старому порту, он снова перестанет работать, а на новом порту я получу отчет об apcaccess , как и ожидалось,

MODEL    : Back-UPS RS 900G
STATUS   : ONLINE
LINEV    : 231.0 Volts
LOADPCT  :  10.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT : 118.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 176.0 Volts
HITRANS  : 294.0 Volts
ALARMDEL : 30 seconds
BATTV    : 27.3 Volts
1

В моем случае мне пришлось установить следующие переменные в apcupsd.conf, чтобы заставить работать USB:

UPSCABLE smart
UPSTYPE usb
DEVICE

Рад, что у вас все получилось, но я надеюсь, что эти 3 переменные помогут кому-то еще в будущем. (Я использую CyberPower CP1000AVRLCDa)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .