Re: USB headset mic: slightly "robotic" voice when plugged into a usb 3.0 port

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

 



Hello Sarah,

On Tue, May 8, 2012 at 6:26 PM, Sarah Sharp
<sarah.a.sharp@xxxxxxxxxxxxxxx> wrote:
> On Tue, May 08, 2012 at 12:43:24PM -0400, Sergio Correia wrote:
>> Hi,
>>
>> On Tue, May 8, 2012 at 12:25 PM, Sarah Sharp
>> <sarah.a.sharp@xxxxxxxxxxxxxxx> wrote:
>> > On Tue, May 08, 2012 at 10:56:59AM -0400, Alan Stern wrote:
>> >> On Tue, 8 May 2012, Sergio Correia wrote:
>> >>
>> >> > the output from USBmon for both EHCI and xHCI is available at:
>> >> > http://www.uece.net/misc/usb-headset-problem/usbmon-usb2-bus2-dev6.txt
>> >> > http://www.uece.net/misc/usb-headset-problem/usbmon-usb3-bus3-dev5.txt
>> >>
>> >> It's notable that the bus-2 trace (which I presume is the one using
>> >> EHCI) shows that even though each packet requested 96 bytes of data,
>> >> the device sent only 88 or 90 bytes.  By contrast, the bus-3 trace
>> >> (xHCI) shows that each packet contained 96 bytes.  We should expect the
>> >> two traces not to differ in this way.
>> >>
>> >> This may be a bug in the xhci-hcd driver -- it may say it got more
>> >> bytes than actually were received.
>> >
>> > I actually suspect it might be a bug in the hardware itself.  The lspci
>> > shows it's a very early Fresco Logic chipset revision, and it wouldn't
>> > surprise me if the xHCI host just doesn't report the short packet
>> > completion code.  Let's rule that out before I go digging around the
>> > xHCI ring code (which looks like it's handling short packets properly,
>> > BTW).
>> >
>> > Sergio, can you apply the attached patch, and see if the host is
>> > actually reporting short packets?
>>
>> the dmesg is there:
>> http://www.uece.net/misc/usb-headset-problem/dmesg-short-packet-completion-code.bz2
>> it was too large, so I bzip'ed it.
>
> Yeah, it looks like the Fresco Logic host controller is reporting a
> successful completion status, with an untransferred length of 8 bytes,
> which is a contradiction.  Since we can tell from the EHCI logs that it
> actually should be reporting a short packet status, I think we should be
> able to just add a quirk for it, to trust the untransferred length.
>
> I wonder if this is just for short control transfers, or if they have
> this bug for other endpoint types?
>
> Please revert the last patch, apply the next patch, and see if the audio
> sounds any better.
>

The compilation fails with the following error:

drivers/usb/host/xhci-pci.c: In function ‘xhci_pci_quirks’:
drivers/usb/host/xhci-pci.c:75:19: error: ‘XHCI_CHECK_SUCCESS’
undeclared (first use in this function)
drivers/usb/host/xhci-pci.c:75:19: note: each undeclared identifier is
reported only once for each function it appears in
make[3]: *** [drivers/usb/host/xhci-pci.o] Error 1
make[2]: *** [drivers/usb/host] Error 2
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2


> How did you get access to this xHCI host controller?  AFAIK, it was a
> short run chip that Fresco Logic did just for the USB-IF PDK, back in
> 2008.  Is it an off-the-shelf add-in card, or integrated in some system?
>

Ouch. It came with the ASUS N53SV-DH72 laptop I got this March.

sergio

> Sarah Sharp
--
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