1

У меня 2 ИБП Tripplite Smart1500LCD и 2 платы Raspberry Pi 3 B+, на которых установлена Raspbian GNU/Linux 9 с ядром 4.14.79-v7+. Я испытываю ту же проблему с обоими Пис с обоими ИБП. Я использую этот учебник в качестве руководства, чтобы сделать эту работу. Сначала я заметил, что что-то не работает при вводе команды upsc :

pi@raspberrypi:~ $ upsc ups1
Error: Connection failure: Connection refused
pi@raspberrypi:~ $ sudo !!
sudo upsc ups1
Error: Connection failure: Connection refused

Мой /etc/nut/ups.conf имеет следующую запись:

[ups1]
  driver = usbhid-ups -u root
  port = auto
  productid = 2012
  desc = "Tripplite"

Я пробовал как с, так и без опции "-u root". Я даже не уверен, что это что-то делает там.

Запуск sudo upsdrvctl start дает такой результат:

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: TrippLite HID 0.82

Результат lsusb выглядит следующим образом:

Bus 001 Device 071: ID 09ae:2012 Tripp Lite

Первым делом я запустил dmesg и заметил несколько неожиданных записей. Следует отметить, что первоначально перед каждым отключением существовало сообщение MTP (IIRC):

USB is not a MTP device

поэтому я удалил mtp с помощью sudo apt-get remove --auto-remove libmtp-common

Вот вывод dmesg:

[13259.356134] hid-generic 0003:09AE:2012.007E: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13280.823749] usb 1-1.1.3: USB disconnect, device number 9
[13281.116286] usb 1-1.1.3: new low-speed USB device number 10 using dwc_otg
[13281.268973] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13281.268986] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13281.268995] usb 1-1.1.3: Product: Tripp Lite UPS
[13281.269003] usb 1-1.1.3: Manufacturer: Tripp Lite
[13281.375472] hid-generic 0003:09AE:2012.007F: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13302.071734] usb 1-1.1.3: USB disconnect, device number 10
[13302.366379] usb 1-1.1.3: new low-speed USB device number 11 using dwc_otg
[13302.521730] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13302.521743] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13302.521752] usb 1-1.1.3: Product: Tripp Lite UPS
[13302.521761] usb 1-1.1.3: Manufacturer: Tripp Lite
[13302.626988] hid-generic 0003:09AE:2012.0080: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13324.087744] usb 1-1.1.3: USB disconnect, device number 11
[13324.396454] usb 1-1.1.3: new low-speed USB device number 12 using dwc_otg
[13324.547230] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13324.547243] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13324.547252] usb 1-1.1.3: Product: Tripp Lite UPS
[13324.547261] usb 1-1.1.3: Manufacturer: Tripp Lite
[13324.653501] hid-generic 0003:09AE:2012.0081: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0

Таким образом, это воссоединение довольно часто. Я не знаю, имеет ли это какое-либо отношение к ошибке «Отказ в соединении», но это все, что я получил на данный момент. Итак, я копаю глубже.

Я вручную запускаю программу /lib/nut/usbhid-ups и получаю интересные результаты. Я удалил часть вывода для экономии места.

 sudo /lib/nut/usbhid-ups -a ups1 -DD -u root
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
   0.000000     debug level is '2'
   0.002244     upsdrv_initups...
   0.003347     Checking device (09AE/2012) (001/019)
   0.014407     - VendorID: 09ae
   0.014457     - ProductID: 2012
   0.014498     - Manufacturer: Tripp Lite
   0.014533     - Product: Tripp Lite UPS
   0.014562     - Serial Number: unknown
   0.014590     - Bus: 001
   0.014619     - Device release number: 0009
   0.014642     Trying to match device
   0.014801     Device matches
   0.014874     failed to claim USB device: could not claim interface 0: Device or resource busy
   0.015422     detached kernel driver from USB device...
   0.016451     HID descriptor length 662
   0.106799     Report Descriptor size = 662
   0.108176     Using subdriver: TrippLite HID 0.82
   0.108217     74 HID objects found
   0.108945     Path: UPS.PowerSummary.iProduct, Type: Feature, ReportID: 0x28, Offset: 0, Size: 8, Value: 2
   0.109554     Path: UPS.PowerSummary.iSerialNumber, Type: Feature, ReportID: 0x29, Offset: 0, Size: 8, Value: 3
   0.111308     Path: UPS.PowerSummary.iManufacturer, Type: Feature, ReportID: 0x2b, Offset: 0, Size: 8, Value: 1
...
   0.160189     Path: UPS.ffff0015.[1].ffff00c0, Type: Feature, ReportID: 0x96, Offset: 0, Size: 8, Value: 255
   0.160919     refresh_report_buffer: expected 5 bytes, but got 2 instead
   0.161186     Path: UPS.ffff0015.[1].ffff00d2, Type: Feature, ReportID: 0xb4, Offset: 0, Size: 32, Value: 255
   0.161904     refresh_report_buffer: expected 5 bytes, but got 2 instead
   0.162170     Path: UPS.ffff0015.[1].ffff00d3, Type: Feature, ReportID: 0xb5, Offset: 0, Size: 32, Value: 255
   0.162938     Path: UPS.ffff0015.[1].ffff00c1, Type: Feature, ReportID: 0x97, Offset: 0, Size: 16, Value: 255
   0.164938     Path: UPS.ffff0015.[1].ffff00c2, Type: Feature, ReportID: 0x98, Offset: 0, Size: 8, Value: 255
   0.166940     Path: UPS.ffff0015.[1].ffff00c3, Type: Feature, ReportID: 0x99, Offset: 0, Size: 16, Value: 255
   0.168938     Path: UPS.ffff0015.[1].ffff00c5, Type: Feature, ReportID: 0x9b, Offset: 0, Size: 16, Value: 3
   0.170944     Path: UPS.ffff0015.[1].ffff00d6, Type: Feature, ReportID: 0xc2, Offset: 0, Size: 32, Value: 11
   0.172904     libusb_get_report: could not claim interface 0: Device or resource busy
   0.173031     Can't retrieve Report c1: Device or resource busy
   0.173361     Path: UPS.ffff0015.[1].ffff00d8, Type: Feature, ReportID: 0xc1, Offset: 0, Size: 32
   0.175316     Path: UPS.ffff0015.[1].ffff00d7, Type: Feature, ReportID: 0xc3, Offset: 0, Size: 32, Value: 1
   0.177152     libusb_get_report: could not claim interface 0: Device or resource busy
   0.177273     Can't retrieve Report 9a: Device or resource busy
   0.177525     Path: UPS.ffff0015.[1].ffff00c4, Type: Feature, ReportID: 0x9a, Offset: 0, Size: 32
   0.179440     Path: UPS.ffff0015.[1].CommunicationVersion, Type: Feature, ReportID: 0x59, Offset: 0, Size: 32, Value: 1
   0.181337     Path: UPS.BatterySystem.Battery.Voltage, Type: Feature, ReportID: 0x20, Offset: 0, Size: 16, Value: 263
...
   0.193486     Path: UPS.OutletSystem.Outlet.DelayBeforeReboot, Type: Feature, ReportID: 0x17, Offset: 0, Size: 16, Value: 65535
   0.195332     Path: UPS.OutletSystem.Outlet.PercentLoad, Type: Feature, ReportID: 0x1e, Offset: 0, Size: 8, Value: 0
   0.195627     Report descriptor retrieved (Reportlen = 662)
   0.195759     Found HID device
   0.195840     Detected a UPS: Tripp Lite /Tripp Lite UPS
   0.196303     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
   0.196717     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
...
   0.209140     Path: UPS.PowerSummary.AudibleAlarmControl, Type: Feature, ReportID: 0x11, Offset: 0, Size: 8, Value: 1
   0.209276     find_nut_info: unknown info type: load.on.delay
   0.209390     find_nut_info: unknown info type: load.on.delay
   0.209523     upsdrv_initinfo...
   0.209646     upsdrv_updateinfo...
   0.210117     Got 1 HID objects...
   0.210259     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
   0.210360     Quick update...
   0.210479     Path: UPS.OutletSystem.Outlet.DelayBeforeShutdown, Type: Feature, ReportID: 0x15, Offset: 0, Size: 16, Value: 65535
...
   0.211619     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
   0.212207     dstate_init: sock /var/run/nut/usbhid-ups-ups1 open on fd 5
   0.212551     upsdrv_updateinfo...
   0.370823     Got 8 HID objects...
...
   2.458116     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
   4.216251     upsdrv_updateinfo...
   4.216475     libusb_get_interrupt: error submitting URB: Device or resource busy
   4.216625     Got disconnected by another driver: Device or resource busy
   6.218315     upsdrv_updateinfo...
   6.218472     Got to reconnect!

   6.219637     Checking device (09AE/2012) (001/019)
   6.234260     - VendorID: 09ae
   6.234380     - ProductID: 2012
   6.234475     - Manufacturer: Tripp Lite
   6.234590     - Product: Tripp Lite UPS
   6.234697     - Serial Number: unknown
   6.234879     - Bus: 001
   6.235128     - Device release number: 0009
   6.235306     Trying to match device
   6.235432     Device matches
   6.235489     failed to claim USB device: could not claim interface 0: Device or resource busy
   6.235655     detached kernel driver from USB device...
   6.237796     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
   6.239783     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
   6.241525     Path: UPS.BatterySystem.Battery.ConfigVoltage, Type: Feature, ReportID: 0x04, Offset: 0, Size: 16, Value: 24
...
   8.338275     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x32, Offset: 2, Size: 1, Value: 1
   8.338391     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x32, Offset: 3, Size: 1, Value: 0
   8.338508     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
  10.222255     upsdrv_updateinfo...
  10.222469     libusb_get_interrupt: error submitting URB: Device or resource busy
  10.222595     Got disconnected by another driver: Device or resource busy
  12.224313     upsdrv_updateinfo...
  12.224463     Got to reconnect!

  12.225545     Checking device (09AE/2012) (001/019)
  12.237738     - VendorID: 09ae
  12.237857     - ProductID: 2012
  12.237940     - Manufacturer: Tripp Lite
  12.238140     - Product: Tripp Lite UPS
  12.238273     - Serial Number: unknown
  12.238463     - Bus: 001
  12.238579     - Device release number: 0009
  12.238706     Trying to match device
  12.238975     Device matches
  12.239104     failed to claim USB device: could not claim interface 0: Device or resource busy
  12.239333     detached kernel driver from USB device...
  12.241395     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
  12.243384     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
...

И теперь запуск sudo sudo upsdrvctl start приводит к

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
kill: Operation not permitted
writepid: fopen /var/run/nut/usbhid-ups-ups1.pid: Permission denied
Using subdriver: TrippLite HID 0.82

Я действительно не знаю все тонкости работы NUT, но мне кажется, что драйвер извлекает все соответствующие данные. Итак, вот мои вопросы:

  1. Почему ИБП отключаются / переподключаются?
  2. Это актуальная проблема?
  3. Почему я получаю сообщение об ошибке «Отказано в соединении»?
  4. Как мне это решить?

редактировать:

Итак, я продолжил обучение, а затем запустил nut-server и nut-monitor . После этого upsc вернул желаемые результаты:

upsc ups1
Init SSL without certificate database
battery.charge: 100
battery.runtime: 3156
battery.type: PbAC
battery.voltage: 26.3
battery.voltage.nominal: 24.0
device.mfr: Tripp Lite
device.model: Tripp Lite UPS
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: 2012
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: TrippLite HID 0.82
driver.version.internal: 0.41
input.frequency: 59.8
input.voltage: 119.0
input.voltage.nominal: 120
output.frequency.nominal: 60
output.voltage: 119.0
output.voltage.nominal: 120
ups.beeper.status: disabled
ups.delay.shutdown: 20
ups.load: 7
ups.mfr: Tripp Lite
ups.model: Tripp Lite UPS
ups.power: 0.0
ups.power.nominal: 1500
ups.productid: 2012
ups.status: OL
ups.timer.reboot: 65535
ups.timer.shutdown: 65535
ups.vendorid: 09ae
ups.watchdog.status: 0

Тем не менее, я получаю эти сообщения, появляющиеся в терминале:

Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:35:41 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:35:46 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:39:21 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:39:26 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:41:31 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:41:36 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:50:31 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:50:41 2018):

Communications with UPS ups1@localhost established

примерно через 10 минут и /var/log/messages показывает постоянное отключение / повторное подключение ups

Dec  4 03:57:30 raspberrypi kernel: [23649.381511] hid-generic 0003:09AE:2012.01C5: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:57:52 raspberrypi kernel: [23671.095782] usb 1-1.1.3: USB disconnect, device number 92
Dec  4 03:57:52 raspberrypi kernel: [23671.403545] usb 1-1.1.3: new low-speed USB device number 93 using dwc_otg
Dec  4 03:57:52 raspberrypi kernel: [23671.552761] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:57:52 raspberrypi kernel: [23671.552775] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:57:52 raspberrypi kernel: [23671.552784] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:57:52 raspberrypi kernel: [23671.552793] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:57:52 raspberrypi kernel: [23671.664997] hid-generic 0003:09AE:2012.01C6: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:14 raspberrypi kernel: [23693.111777] usb 1-1.1.3: USB disconnect, device number 93
Dec  4 03:58:14 raspberrypi kernel: [23693.403562] usb 1-1.1.3: new low-speed USB device number 94 using dwc_otg
Dec  4 03:58:14 raspberrypi kernel: [23693.554021] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:14 raspberrypi kernel: [23693.554034] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:14 raspberrypi kernel: [23693.554043] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:14 raspberrypi kernel: [23693.554051] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:14 raspberrypi kernel: [23693.660502] hid-generic 0003:09AE:2012.01C7: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:36 raspberrypi kernel: [23715.127777] usb 1-1.1.3: USB disconnect, device number 94
Dec  4 03:58:36 raspberrypi kernel: [23715.523586] usb 1-1.1.3: new low-speed USB device number 95 using dwc_otg
Dec  4 03:58:36 raspberrypi kernel: [23715.675392] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:36 raspberrypi kernel: [23715.675407] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:36 raspberrypi kernel: [23715.675417] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:36 raspberrypi kernel: [23715.675425] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:36 raspberrypi kernel: [23715.780499] hid-generic 0003:09AE:2012.01C8: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:58 raspberrypi kernel: [23737.399806] usb 1-1.1.3: USB disconnect, device number 95
Dec  4 03:58:58 raspberrypi kernel: [23737.693619] usb 1-1.1.3: new low-speed USB device number 96 using dwc_otg
Dec  4 03:58:58 raspberrypi kernel: [23737.846764] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:58 raspberrypi kernel: [23737.846778] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:58 raspberrypi kernel: [23737.846787] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:58 raspberrypi kernel: [23737.846796] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:58 raspberrypi kernel: [23737.953125] hid-generic 0003:09AE:2012.01C9: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:59:20 raspberrypi kernel: [23759.415788] usb 1-1.1.3: USB disconnect, device number 96
Dec  4 03:59:20 raspberrypi kernel: [23759.763663] usb 1-1.1.3: new low-speed USB device number 97 using dwc_otg
Dec  4 03:59:20 raspberrypi kernel: [23759.914391] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:59:20 raspberrypi kernel: [23759.914405] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:59:20 raspberrypi kernel: [23759.914414] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:59:20 raspberrypi kernel: [23759.914422] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:59:21 raspberrypi kernel: [23760.019543] hid-generic 0003:09AE:2012.01CA: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:59:41 raspberrypi kernel: [23780.663784] usb 1-1.1.3: USB disconnect, device number 97

о каждой минуте.

Итак, мои вопросы остаются кроме номера 3.

0