All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
To: Wade Berrier <wberrier@gmail.com>
Cc: Sean Young <sean@mess.org>,
	linux-media@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: mceusb xhci issue?
Date: Sat, 9 Jul 2016 11:59:56 -0300	[thread overview]
Message-ID: <20160709115956.64187c4e@recife.lan> (raw)
In-Reply-To: <20160518145226.GA5553@htpc.lan>

C/C linux-usb Mailing list:


Em Wed, 18 May 2016 08:52:28 -0600
Wade Berrier <wberrier@gmail.com> escreveu:

> On May 14 20:29, Wade Berrier wrote:
> > On Wed Apr 27 21:07, Sean Young wrote:  
> > > On Mon, Apr 25, 2016 at 09:16:51PM -0600, Wade Berrier wrote:  
> > > > On Apr 25 18:15, Sean Young wrote:  
> > > > > On Sun, Apr 24, 2016 at 10:06:33PM -0600, Wade Berrier wrote:  
> > > > > > Hello,
> > > > > > 
> > > > > > I have a mceusb compatible transceiver that only seems to work with
> > > > > > certain computers.  I'm testing this on centos7 (3.10.0) and fedora23
> > > > > > (4.4.7).
> > > > > > 
> > > > > > The only difference I can see is that the working computer shows
> > > > > > "using uhci_hcd" and the non working shows "using xhci_hcd".
> > > > > > 
> > > > > > Here's the dmesg output of the non-working version:
> > > > > > 
> > > > > > ---------------------
> > > > > > 
> > > > > > [  217.951079] usb 1-5: new full-speed USB device number 10 using xhci_hcd
> > > > > > [  218.104087] usb 1-5: device descriptor read/64, error -71
> > > > > > [  218.371010] usb 1-5: config 1 interface 0 altsetting 0 endpoint 0x1 has an invalid bInterval 0, changing to 32
> > > > > > [  218.371019] usb 1-5: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 32  
> > > > > 
> > > > > That's odd. Can you post a "lsusb -vvv" of the device please?
> > > > >   
> > > > 
> > > > Sure.
> > > > 
> > > > -------------------
> > > > 
> > > > Bus 002 Device 009: ID 1784:0006 TopSeed Technology Corp. eHome Infrared Transceiver
> > > > Device Descriptor:
> > > >   bLength                18
> > > >   bDescriptorType         1
> > > >   bcdUSB               2.00
> > > >   bDeviceClass            0 
> > > >   bDeviceSubClass         0 
> > > >   bDeviceProtocol         0 
> > > >   bMaxPacketSize0         8
> > > >   idVendor           0x1784 TopSeed Technology Corp.
> > > >   idProduct          0x0006 eHome Infrared Transceiver
> > > >   bcdDevice            1.02
> > > >   iManufacturer           1 TopSeed Technology Corp.
> > > >   iProduct                2 eHome Infrared Transceiver
> > > >   iSerial                 3 TS004RrP
> > > >   bNumConfigurations      1
> > > >   Configuration Descriptor:
> > > >     bLength                 9
> > > >     bDescriptorType         2
> > > >     wTotalLength           32
> > > >     bNumInterfaces          1
> > > >     bConfigurationValue     1
> > > >     iConfiguration          0 
> > > >     bmAttributes         0xa0
> > > >       (Bus Powered)
> > > >       Remote Wakeup
> > > >     MaxPower              100mA
> > > >     Interface Descriptor:
> > > >       bLength                 9
> > > >       bDescriptorType         4
> > > >       bInterfaceNumber        0
> > > >       bAlternateSetting       0
> > > >       bNumEndpoints           2
> > > >       bInterfaceClass       255 Vendor Specific Class
> > > >       bInterfaceSubClass    255 Vendor Specific Subclass
> > > >       bInterfaceProtocol    255 Vendor Specific Protocol
> > > >       iInterface              0 
> > > >       Endpoint Descriptor:
> > > >         bLength                 7
> > > >         bDescriptorType         5
> > > >         bEndpointAddress     0x01  EP 1 OUT
> > > >         bmAttributes            3
> > > >           Transfer Type            Interrupt
> > > >           Synch Type               None
> > > >           Usage Type               Data
> > > >         wMaxPacketSize     0x0020  1x 32 bytes
> > > >         bInterval               0  
> > > 
> > > That's wrong indeed. It might be interesting to see if there is anything
> > > in the xhci debug messages with (in Fedora 23):
> > > 
> > > echo "file xhci*.c +p" > /sys/kernel/debug/dynamic_debug/control
> > > echo "file mceusb.c +p" > /sys/kernel/debug/dynamic_debug/control
> > > 
> > > And then plug in the receiver, and try to send IR to it with a remote.
> > > You should have quite a few kernel messages in the journal.  
> > 
> > Here's the output after enabling the debug options, plugging in the
> > receiver, running lircd, and pressing some remote buttons:
> >  
> 
> [snip]
> 
> > 
> > I'm not sure what to look for... ?
> >   
> > >   
> > > >       Endpoint Descriptor:
> > > >         bLength                 7
> > > >         bDescriptorType         5
> > > >         bEndpointAddress     0x81  EP 1 IN
> > > >         bmAttributes            3
> > > >           Transfer Type            Interrupt
> > > >           Synch Type               None
> > > >           Usage Type               Data
> > > >         wMaxPacketSize     0x0020  1x 32 bytes
> > > >         bInterval               0
> > > > Device Status:     0x0001
> > > >   Self Powered
> > > > 
> > > > -------------------
> > > > 
> > > > Also, here's a link to a response on the lirc list:
> > > > 
> > > > https://sourceforge.net/p/lirc/mailman/message/35039126/  
> > > 
> > > That seems suggest that mode2 works but lirc does not. It would be nice
> > > if that could be narrowed down a bit.  
> > 
> > That message above links to some other threads describing the issue.
> > Here's a post with a patch that supposedly works:
> > 
> > http://www.gossamer-threads.com/lists/mythtv/users/587930
> > 
> > No idea if that's the "correct" way to fix this.
> > 
> > I'll be trying that out and then report back...  
> 
> Indeed, this patch does fix the issue:
> 
> ----------------------
> 
> diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
> index 31ccdcc..03321d4 100644
> --- a/drivers/usb/core/config.c
> +++ b/drivers/usb/core/config.c
> @@ -247,7 +247,7 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno, int inum,
>  			/* For low-speed, 10 ms is the official minimum.
>  			 * But some "overclocked" devices might want faster
>  			 * polling so we'll allow it. */
> -			n = 32;
> +			n = 10;
>  			break;
>  		}
>  	} else if (usb_endpoint_xfer_isoc(d)) {
> 
> 
> ----------------------
> 
> Is this change appropriate to be pushed upstream?  Where to go from
> here?

This issue is at the USB core. So, it should be reported to the
linux-usb mailing list. 

The people there should help about how to proceed to get this
fixed upstream.

Regards,
Mauro

Thanks,
Mauro

  reply	other threads:[~2016-07-09 15:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-25  4:06 mceusb xhci issue? Wade Berrier
2016-04-25 17:15 ` Sean Young
2016-04-26  3:16   ` Wade Berrier
2016-04-27 20:07     ` Sean Young
2016-05-15  2:29       ` Wade Berrier
2016-05-18 14:52         ` Wade Berrier
2016-07-09 14:59           ` Mauro Carvalho Chehab [this message]
2016-07-12 15:52             ` Alan Stern
2016-08-11 20:18               ` Alan Stern
2016-09-10 19:58                 ` Wade Berrier
2016-09-15 19:13                   ` Alan Stern
2016-09-15 22:48                     ` Wade Berrier
2016-09-16 14:24                       ` [PATCH] USB: change bInterval default to 10 ms Alan Stern
2016-09-16 15:02                         ` Mauro Carvalho Chehab
2016-09-16 14:25                       ` mceusb xhci issue? Alan Stern
2016-09-16 15:03                         ` Mauro Carvalho Chehab
2016-09-15 19:37               ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160709115956.64187c4e@recife.lan \
    --to=mchehab@s-opensource.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=sean@mess.org \
    --cc=wberrier@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.