У меня есть 2 ИБП Tripplite Smart1500LCD и 2 платы Raspberry Pi 3 B+, работающие под управлением Raspbian GNU/Linux 9 с ядром 4.14.79-v7+. У меня та же проблема с обоими Pi с обоими ИБП. Я используюэтот уроккак руководство, чтобы это работало. Я впервые заметил, что что-то не работает при вводе 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
Итак, он довольно часто переподключается. Я не знаю, связано ли это с ошибкой Connection Refused, но это все, что у меня есть на данный момент. Поэтому я копаю глубже.
Я вручную запускаю /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, но мне кажется, что драйвер извлекает все необходимые данные. Вот мои вопросы:
- Почему ИБП отключаются/подключаются повторно?
- Это реальная проблема?
Почему я получаю сообщение об ошибке «Подключение отклонено»?- Как мне это решить?
редактировать:
Итак, я продолжил следовать руководству, а затем начал 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
показывает постоянное отключение/повторное подключение ИБП
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.
решение1
У меня была точно такая же проблема, и после пары часов копания я нашел способ заставить ее работать. Оказывается, уменьшение интервала опроса решило мою проблему.
Сначала убедитесь, что не запущено 2 экземпляра драйвера, которые борются друг с другом. Затем остановите сервер nut и драйвер и отредактируйте файл ups.conf:
Добавьте эту переменную в раздел вашего ИБП:
pollinterval = 10
решение2
Просто некоторые вещи, которые я сделал, чтобы заставить два ИБП работать на моем, и смотрю на то, что вы делаете. Я запускаю его на оранжевом pi+2e. Я думал, что это проблема с кабелями, но на самом деле это была проблема конфигурации.
Во-первых... Я не думаю, что вы запускаете nut как root. Насколько я понимаю, он запускается как пользователь nut, и есть правило udev, которое должно быть там, чтобы он мог получить доступ к ИБП через USB. Я не думаю, что -u root необходим в *bian.
Я не думаю, что это необходимо для конфигурации с одним ИБП, но вы можете попробовать добавить шину, на которой находится ИБП. В вашем случае ваш ups.conf будет иметь:
автобус = 001
Вы также можете дважды проверить свой upsmon.conf и убедиться, что строка MONITOR корректна... она должна выглядеть примерно так:
МОНИТОР upsname 1 имя пользователя пароль мастер
Ваш upsd.conf также должен содержать IP-адреса и порты, которые он должен прослушивать. ЯДУМАТЬlocahost используется по умолчанию, но на всякий случай, наверное, лучше просто добавить его.
LISTEN 127.0.0.1 LISTEN 192.168.1.## (или какая у вас локальная сеть)
Последнее, что, вероятно, следует проверить, — это nut.conf и решить, как вы хотите, чтобы работал nut.
Я использую netserver, потому что использую orangepi для отправки информации UPS на несколько серверов в моей стойке. В вашем случае я полагаю, что это будет автономно?
Не уверен, поможет ли это, но я тоже над этим ломал голову. Это проблема конфигурации. Если она не настроена должным образом, то upshid будет продолжать это делать, если не сможет нормально общаться с ИБП.