Re: Kernel 2.6.22-rc3 breaks USB: Unable to get HID descriptor (error sending control message: Operation not permitted)

Jiri Kosina <[email protected]>
Newsgroups gmane.linux.usb.devel,gmane.linux.kernel
Message-ID <[email protected]>
I have looked into NUT source and it seems that this error message is 
output after interaction with libusb, not hiddev. It looks like libusb's 
usb_claim_interface() or usb_control_msg() in in 2.6.22-rc3 is failing 
with -EPERM.

So I am adding USB devel mailinglist into CC and leaving the original 
message below for reference.

On Sat, 2 Jun 2007, Justin Piszcz wrote:

> I use nut-2.0.4-4 with a UPS attached via USB and from 2.6.21.3 -> 2.6.22-rc3
> it stops working, see below.  My .config is attached.
> 
> 2.6.21.3:
> 
> p34:~# /lib/nut/newhidups -u nut -DDDDDD auto
> Checking device (050D/0912) (005/002)
> - VendorID: 050d
> - ProductID: 0912
> - Manufacturer:
> - Product: UPS
> - Serial Number: unknown
> - Bus: 005
> Trying to match device
> Device matches
> HID descriptor retrieved (Reportlen = 820)
> Size read for the report descriptor: 820
> Report descriptor retrieved (Reportlen = 820)
> Found HID device
> Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.4)
> 
> Report Descriptor size = 820
> Report Descriptor: (200 bytes) => 05 84 09 04 A1 01 05 86 09 26 A1 02 85 01 75
> 08
> Detected a UPS:        /UPS
> Using subdriver: Belkin HID 0.1
> Looking up 00840004
> Looking up 00860026
> Looking up 00860040
> entering string_to_path()
> parsing UPS
> Looking up UPS
> hid_lookup_usage: found 840004
> parsing BELKINConfig
> Looking up BELKINConfig
> hid_lookup_usage: found 860026
> parsing BELKINConfigVoltage
> Looking up BELKINConfigVoltage
> hid_lookup_usage: found 860040
> Path depth = 3
> 0: UPage(84), Usage(4)
> 1: UPage(86), Usage(26)
> 2: UPage(86), Usage(40)
> Entering libusb_get_report
> =>> Before exponent: 120, 0/0)
> =>> After conversion: 120.000000 (120), 0/0)
> Report : (8 bytes) => 01 78 80 00 00 00 00 00
> Path: UPS.BELKINConfig.BELKINConfigVoltage, Type: Feature, Value: 120.000000
> Looking up 00840004
> Looking up 00860026
> Looking up 00860042
> 
> (works fine)
> 
> 2.6.22-rc3:
> 
> p34:~# /lib/nut/newhidups -u nut -DDDDDD auto
> Checking device (050D/0912) (005/002)
> - VendorID: 050d
> - ProductID: 0912
> - Manufacturer: unknown
> - Product: unknown
> - Serial Number: unknown
> - Bus: 005
> Trying to match device
> Device matches
> failed to claim USB device, trying 2 more time(s)...
> detaching kernel driver from USB device...
> failed to detach kernel driver from USB device...
> trying again to claim USB device...
> failed to claim USB device, trying 1 more time(s)...
> detaching kernel driver from USB device...
> failed to detach kernel driver from USB device...
> trying again to claim USB device...
> failed to claim USB device, trying 0 more time(s)...
> detaching kernel driver from USB device...
> failed to detach kernel driver from USB device...
> trying again to claim USB device...
> Unable to get HID descriptor (error sending control message: Operation not
> permitted)
> 
> 

-- 
Jiri Kosina

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.