LINUX.ORG.RU

Powercom RPT-1500AP + NUT - не стартует драйвер после отключения

 ,


0

1

Добрый день!

Имеем:

  • Debian 10
  • Произведена базовая настройка NUT
  • ups все утилиты видят (и локально и по сети)

Ситуация:

  • все работает. можно перегружать комп (systemctl reboot). все запускается и работает снова (до 5 раз подряд пробовал)
  • если же отключить комп (systemctl poweroff или shutdown -h), то устройство перестает определяться…
  1. в консоль получаю ошибки «usbhid 2-13:1.0 can’t add hid device -110»

  2. lsusb то видит устройство, то нет

  3. в syslog вижу

Nov  5 00:15:08 mag-pve kernel: [  312.627751] usbhid 2-14:1.0: can't add hid device: -110
Nov  5 00:15:08 mag-pve kernel: [  312.627786] usbhid: probe of 2-14:1.0 failed with error -110
Nov  5 00:15:08 mag-pve kernel: [  312.627969] usb 2-14: USB disconnect, device number 19
Nov  5 00:15:08 mag-pve kernel: [  312.899654] usb 2-14: new low-speed USB device number 20 using xhci_hcd
Nov  5 00:15:08 mag-pve kernel: [  313.056269] usb 2-14: New USB device found, idVendor=0d9f, idProduct=0004, bcdDevice= 0.02
Nov  5 00:15:08 mag-pve kernel: [  313.056271] usb 2-14: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Nov  5 00:15:08 mag-pve kernel: [  313.056272] usb 2-14: Product: HID UPS Battery
Nov  5 00:15:08 mag-pve kernel: [  313.056273] usb 2-14: Manufacturer: POWERCOM Co.,LTD
Nov  5 00:15:08 mag-pve kernel: [  313.056274] usb 2-14: SerialNumber: 004-0D9F-000
Nov  5 00:15:08 mag-pve kernel: [  313.096747] hid-generic 0003:0D9F:0004.000C: hiddev1,hidraw2: USB HID v1.00 Device [POWERCOM Co.,LTD HID UPS Battery] on usb-0000:00:14.0-14/input0
Nov  5 00:15:12 mag-pve kernel: [  316.669821] usb 2-14: USB disconnect, device number 20
Nov  5 00:15:13 mag-pve usbhid-ups[2435]: libusb_get_interrupt: error submitting URB: No such device
Nov  5 00:15:15 mag-pve kernel: [  319.443502] usb 2-14: new low-speed USB device number 21 using xhci_hcd
Nov  5 00:15:15 mag-pve kernel: [  319.600279] usb 2-14: New USB device found, idVendor=0d9f, idProduct=0004, bcdDevice= 0.02
Nov  5 00:15:15 mag-pve kernel: [  319.600283] usb 2-14: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Nov  5 00:15:15 mag-pve kernel: [  319.600285] usb 2-14: Product: HID UPS Battery
Nov  5 00:15:15 mag-pve kernel: [  319.600287] usb 2-14: Manufacturer: POWERCOM Co.,LTD
Nov  5 00:15:15 mag-pve kernel: [  319.600289] usb 2-14: SerialNumber: 004-0D9F-000
Nov  5 00:15:15 mag-pve kernel: [  319.640719] hid-generic 0003:0D9F:0004.000D: hiddev1,hidraw2: USB HID v1.00 Device [POWERCOM Co.,LTD HID UPS Battery] on usb-0000:00:14.0-14/input0

т.е. устройство переподключается постоянно…

  1. Пытаюсь запустить драйвер вручную - 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
Startup timer elapsed, continuing...
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Duplicate driver instance detected! Terminating other driver!
Duplicate driver instance detected! Terminating other driver!
Duplicate driver instance detected! Terminating other driver!
No matching HID UPS found
No matching HID UPS found
Driver failed to start (exit status=1)
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
No matching HID UPS found
Driver failed to start (exit status=1)

тут меня смущает Duplicate driver instance detected! Terminating other driver! кто-то уже запускает получается драйвер? при этом запуск дравера в systemd у меня выключен - systemctl disable nut-driver

  1. Пару раз повторяю 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
Startup timer elapsed, continuing...
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Duplicate driver instance detected! Terminating other driver!
Duplicate driver instance detected! Terminating other driver!
No matching HID UPS found
Using subdriver: PowerCOM HID 0.5

хоп… драйвер таки запустился… ошибки больше не идут, все начинает работать… можно перегружать комп, главное не выключать… после каждого выключения таки танцы получаются… самое неприятное, что запуск из выключенного состояния теперь иногда не инициилизирует полностью сеть, в результате чего доступ к компу теряется и нужно локально стартовать ее из консоли…

Вопросы:

  • есть мысли с чем может быть связано такое поведение, куда копать и как вылечить это?
  • может какие опции драйвера usbhid-ups? я ничего не нашел :/ в одном месте предлагали опцию pollonly для другого ups Powercom, но у меня погоды не меняет она… с ней и без нее работает одинаково…
  • может в биосе нужно какой режим usb выставлять… типа что-нибудь legacy или задержку инициации там какую?
  • или же какая-то подсистема запускает другой не подходящий драйвер, а он не может стартовать в свою очередь

usp.conf

[powercom1]
    driver = usbhid-ups
    port = auto
    vendorid = 0d9f
    productid = 0004
    serial = 004-0D9F-000
    desc = "Powercom RPT-1500AP"

uname -a Linux mag-pve 5.4.203-1-pve #1 SMP PVE 5.4.203-1 (Fri, 26 Aug 2022 14:43:35 +0200) x86_64 GNU/Linux

Ответ на: комментарий от rikoilas

нет, я перезагружаю-то редко, а выключаю вообще раз в полгода, вот в последний раз неприятный сюрприз был.

из того, что делал вообще (т.к. у рапторов юсб отваливается стабильно), так это

$ cat /etc/udev/rules.d/50-ups_raptor.rules 
# This device resets itself after a second if no-one claims it.
# so we claim it ASAP
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0d9f", ATTR{idProduct}=="0004", RUN+="/usr/bin/systemctl restart nut-driver"
baja
()