Re: Logitech harmony: lsusb shows bNumConfigurations==0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/01/2010 02:16 PM, Alan Stern wrote:
On Fri, 30 Apr 2010, Stephen Warren wrote:

Linux is having problems fully recognizing one of my USB devices, a
Logitech Harmony 700 universal remote control. I also have a Logitech
Harmony 880 (and other USB devices) which work fine on the same PC and
USB connector.

The issue is that lsusb shows bNumConfigurations=0. There should be one
configuration with a couple of end-points. Sometimes lsusb will show the
expected results (e.g. 1 in 10-20 times it's plugged in) and
communication with the remote works as expected. Also, the 770 has a
special "safe mode" (which boots alternate firmware), and when in this
mode, lsusb always shows bNumConfigurations=1 as expected.

I've tried a couple different kernels without any luck: 2.6.32 (Ubuntu
Lucid latest desktop kernel) and 2.6.34 (Ubuntu Lucid build of
"upstream" kernel, I believe without any Ubuntu patches)

I'm attaching a variety of debug information:

The usbmon traces show that the device sometimes dies when it receives
a Get-Device-Qualifier request.  Not always, but sometimes.

I took a look at the USB specification. Is the failing command the following (from a good run):

e8148c80 619776204 S Ci:5:004:0 s 80 06 0600 0000 000a 10 <
e8148c80 619780175 C Ci:5:004:0 -71 0

If I understand it, the -71 is the result code, and -71 indicates that it fails (specifically -EPROTO if I'm reading the kernel sources correctly). In a bad run, I see:

e5b6ae80 280483165 S Ci:5:002:0 s 80 06 0600 0000 000a 10 <
e5b6ae80 280485150 C Ci:5:002:0 -32 0

... with result code -32, which is also a failure (specifically -EPIPE).

Am I interpreting this all correctly? Is this command expected to fail in a specific way even in a "good" case?

Thanks for any pointers.

I have no idea why it would do this.  A firmware bug would generally
cause it to die every time, but there's no other obvious explanation.
Particularly since the alternate firmware does not die; it handles the
request correctly.

Hmmm. I guess I'll go read the PIC USB interface specification and see how much of this is SW vs. HW controlled on this microcontroller.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux