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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).