@@ -624,6 +624,55 @@ There is a rudimentary locking mechanism in NUT, but there is a chance that the
624624packages might not use the same directory as the NUT default, and the conflict
625625will be reported by the kernel.
626626
627+ == Why does my (Eaton 5E) USB UPS on Linux connect but quickly disconnects soon?
628+
629+ This issue was extensively investigated by NUT community members in
630+ https://github.com/networkupstools/nut/issues/630 and resulted in a
631+ chain of distribution bugs logged such as
632+ https://bugzilla.redhat.com/show_bug.cgi?id=1715504
633+
634+ The gist of it is that some versions of Linux kernel used an "USB HID quirk"
635+ for certain devices, see Linux kernel source `drivers/hid/hid-quirks.c` file,
636+ including MGE/Eaton vendor ID (0x0463) based on an older device a contributor
637+ had issues with. Firmware in newer devices no longer had the bug which needed
638+ the "quirk" and misbehaved when it was enabled. While newer (and much older)
639+ Linux kernels should not have the problem, with the quirk removed according
640+ to https://lkml.org/lkml/2018/11/26/580 having the issue in the field really
641+ depends on the combination of Linux kernel and device firmware that meet.
642+
643+ Either way, it seems that problematic combinations preclude Linux from seeing
644+ the device as a `hid-generic` first, to hand it over to a NUT driver.
645+
646+ This quirk can be tuned with a kernel boot parameter (via GRUB etc.):
647+
648+ usbhid.quirks=0x0463:0xffff:0x08
649+
650+ to re-enable the NOGET quirk.
651+
652+ For context, according to https://bugzilla.redhat.com/show_bug.cgi?id=1875532
653+ the symptoms for the problem look like this:
654+
655+ # Plug in the UPS and observe the dmesg logs,
656+ # the following continuously appears:
657+ [ 93.568082] usb 1-6: new full-speed USB device number 9 using xhci_hcd
658+ [ 94.311469] usb 1-6: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01
659+ [ 94.311475] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
660+ [ 94.311483] usb 1-6: Product: 5E
661+ [ 94.311486] usb 1-6: Manufacturer: EATON
662+ [ 96.269989] hid-generic 0003:0463:FFFF.000A: hiddev96,hidraw2: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-6/input0
663+ [ 107.369425] hid-generic 0003:0463:FFFF.000A: usb_submit_urb(ctrl) failed: -1
664+ [ 107.369469] hid-generic 0003:0463:FFFF.000A: timeout initializing reports
665+ [ 112.828826] usb 1-6: USB disconnect, device number 9
666+ [ 113.284452] usb 1-6: new full-speed USB device number 10 using xhci_hcd
667+ [ 114.027693] usb 1-6: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01
668+ [ 114.027698] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
669+ [ 114.027701] usb 1-6: Product: 5E
670+ [ 114.027704] usb 1-6: Manufacturer: EATON
671+ [ 115.984222] hid-generic 0003:0463:FFFF.000B: hiddev96,hidraw2: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-6/input0
672+ [ 126.825756] hid-generic 0003:0463:FFFF.000B: usb_submit_urb(ctrl) failed: -1
673+ [ 126.825775] hid-generic 0003:0463:FFFF.000B: timeout initializing reports
674+ [ 132.527809] usb 1-6: USB disconnect, device number 10
675+
627676== Why doesn't my package work?
628677
629678Or a variation like...
0 commit comments