Don Lewis
2012-Jul-20 21:57 UTC
[Nut-upsuser] usbhid-ups not finding CyberPower PP1100 on Fedora 16
I'm trying to get a CyberPower PP1100 working with NUT on a Fedora 16 system and not having much luck. Kernel: 3.4.4-4.fc16.x86_64 #1 SMP Thu Jul 5 20:01:38 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux NUT (installed from Fedora RPM): nut-client-2.6.4-1.fc16.x86_64 nut-2.6.4-1.fc16.x86_64 libusb: libusb-devel-0.1.3-9.fc16.x86_64 libusb1-1.0.9-0.6.rc1.fc16.x86_64 libusb-0.1.3-9.fc16.x86_64 libusb1-1.0.9-0.6.rc1.fc16.i686 libusb-0.1.3-9.fc16.i686 This is what shows up in /var/log/messages when I connect the UPS: Jul 20 13:41:13 myth2 kernel: [ 9601.818420] usb 1-2.4: new low-speed USB device number 9 using ehci_hcd Jul 20 13:41:13 myth2 kernel: [ 9601.907382] usb 1-2.4: New USB device found, idVendor=0764, idProduct=0005 Jul 20 13:41:13 myth2 kernel: [ 9601.907390] usb 1-2.4: New USB device strings: Mfr=3, Product=1, SerialNumber=0 Jul 20 13:41:13 myth2 kernel: [ 9601.907398] usb 1-2.4: Product: CPS RS232 USB BRIDGE for UPS Jul 20 13:41:13 myth2 kernel: [ 9601.907404] usb 1-2.4: Manufacturer: Cyber Power System Jul 20 13:41:23 myth2 kernel: [ 9611.897362] generic-usb 0003:0764:0005.0006: usb_submit_urb(ctrl) failed: -1 Jul 20 13:41:23 myth2 kernel: [ 9611.897698] generic-usb 0003:0764:0005.0006: timeout initializing reports Jul 20 13:41:23 myth2 kernel: [ 9611.898382] generic-usb 0003:0764:0005.0006: hiddev0,hidraw2: USB HID v1.10 Device [Cyber Power System CPS RS232 USB BRIDGE for UPS] on usb-0000:00:12.2-2.4/input0 Jul 20 13:41:23 myth2 mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.4" Jul 20 13:41:23 myth2 mtp-probe: bus: 1, device: 9 was not an MTP device This is what lsusb says: Bus 001 Device 009: ID 0764:0005 Cyber Power System, Inc. Cyber Power UPS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0764 Cyber Power System, Inc. idProduct 0x0005 Cyber Power UPS bcdDevice 4.00 iManufacturer 3 iProduct 1 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 90 Warning: incomplete report descriptor Report Descriptor: (length is 7) Item(Main ): (null), data=none Item(Main ): (null), data= [ 0x00 ] 0 Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none 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 10 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 255 Device Status: 0x0001 Self Powered usbhid-ups says this: # usbhid-ups -a mythups -DDDD Network UPS Tools - Generic HID driver 0.37 (2.6.4) USB communication driver 0.31 0.000000 debug level is '4' 0.001577 upsdrv_initups... 0.289846 Checking device (05E3/0608) (001/002) 0.289994 Failed to open device, skipping. (Permission denied) 0.290038 Checking device (2040/4903) (001/003) 0.290184 Failed to open device, skipping. (Permission denied) 0.290265 Checking device (1D6B/0002) (001/001) 0.290378 Failed to open device, skipping. (Permission denied) 0.290467 Checking device (046D/C501) (001/004) 0.290514 Failed to open device, skipping. (Permission denied) 0.290613 Checking device (0471/0815) (001/005) 0.290722 Failed to open device, skipping. (Permission denied) 0.290804 Checking device (0764/0005) (001/009) 2.293012 - VendorID: 0764 2.293090 - ProductID: 0005 2.293124 - Manufacturer: unknown 2.293213 - Product: unknown 2.293247 - Serial Number: unknown 2.293303 - Bus: 001 2.293377 Trying to match device 2.293638 Device matches 2.294959 HID descriptor too short (expected 8, got 0) 2.295004 i=0, extra[i]=09, extra[i+1]=21 2.295037 HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 5a 00 2.295051 HID descriptor length 90 6.297914 Unable to get Report descriptor: Connection timed out 6.298055 Checking device (0472/0065) (005/002) 6.298126 Failed to open device, skipping. (Permission denied) 6.298164 Checking device (1D6B/0001) (005/001) 6.298210 Failed to open device, skipping. (Permission denied) 6.298247 Checking device (0472/0065) (005/003) 6.298290 Failed to open device, skipping. (Permission denied) 6.298348 Checking device (1D6B/0002) (002/001) 6.298411 Failed to open device, skipping. (Permission denied) 6.298448 Checking device (1D6B/0001) (003/001) 6.298552 Failed to open device, skipping. (Permission denied) 6.298631 Checking device (1D6B/0001) (004/001) 6.298684 Failed to open device, skipping. (Permission denied) 6.298851 Checking device (1D6B/0001) (006/001) 6.298916 Failed to open device, skipping. (Permission denied) 6.298995 Checking device (1D6B/0001) (007/001) 6.299048 Failed to open device, skipping. (Permission denied) 6.299118 No appropriate HID device found 6.299164 No matching HID UPS found The permissions of the USB device seem to be correct according to the udev rule: # ls -l /dev/bus/usb/001/ total 0 crw-rw-r--. 1 root root 189, 0 Jul 20 14:33 001 crw-rw-r--. 1 root root 189, 1 Jul 20 14:33 002 crw-rw-r--. 1 root root 189, 2 Jul 20 14:33 003 crw-rw-r--. 1 root root 189, 3 Jul 20 14:36 004 crw-rw-r--. 1 root root 189, 4 Jul 20 14:33 005 crw-rw-r--. 1 root dialout 189, 8 Jul 20 14:34 009 If I run with usbhid-ups with the -u root option, I get similar output, except that it is able to open and discard the other USB devices without getting the Permission denied errors. I saw a report of a similar problem here: <http://lists.alioth.debian.org/pipermail/nut-upsuser/2007-October/003259.html> but there isn't enough info for me to solve this problem. I don't think there is another driver bound to this device and if I try to force an unbind: # echo > /sys/devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2.4/driver/unbind -bash: echo: write error: No such device
Charles Lepple
2012-Jul-25 01:23 UTC
[Nut-upsuser] usbhid-ups not finding CyberPower PP1100 on Fedora 16
On Jul 20, 2012, at 5:57 PM, Don Lewis wrote:> I'm trying to get a CyberPower PP1100 working with NUT on a Fedora 16 > system and not having much luck. > > Kernel: > 3.4.4-4.fc16.x86_64 #1 SMP Thu Jul 5 20:01:38 UTC 2012 x86_64 > x86_64 x86_64 GNU/Linux[...]> Jul 20 13:41:23 myth2 kernel: [ 9611.897362] generic-usb 0003:0764:0005.0006: usb_submit_urb(ctrl) failed: -1 > Jul 20 13:41:23 myth2 kernel: [ 9611.897698] generic-usb 0003:0764:0005.0006: timeout initializing reports[...]> This is what lsusb says: > Bus 001 Device 009: ID 0764:0005 Cyber Power System, Inc. Cyber Power UPS[...]> wDescriptorLength 90 > Warning: incomplete report descriptor > Report Descriptor: (length is 7)The fact that the kernel is printing a timeout error means that something wrong is going on well before NUT tries to attach to the device. What I would do is try to find an older Fedora live CD (or even a Knoppix one, if the kernel versions are close) and try to find the latest kernel which doesn't trigger that timeout error in dmesg. Or maybe it has been fixed in a later Fedora kernel - but I saw a 3.4 kernel mentioned in a Debian bug report with the same error message, so it's hard to say. Hopefully lsusb will be able to retrieve the descriptors if the kernel doesn't trip over them, and if that works, NUT also stands a fair chance of reading the descriptors as well. -- Charles Lepple clepple at gmail