From: "David S. Ahern" <daahern@cisco.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] need help getting a USB audio device to work
Date: Mon, 04 Jan 2010 11:16:12 -0700 [thread overview]
Message-ID: <4B42306C.80501@cisco.com> (raw)
In-Reply-To: <4B40DF95.5060702@cisco.com>
On 01/03/2010 11:19 AM, David S. Ahern wrote:
>
> After weeks of fruitless effort I could use some help getting a USB
> audio device to work. I have instrumented the hell out of the guest
> driver and uhci code, qemu's linux and uhci code, and the host side usb
> code. Near as I can tell data from the device makes its way into qemu
> (async_complete shows a urb length equal to the data the host OS
> receives from the device), but the data does not appear to make its way
> to the guest OS. I have tried a variety of guests -- Fedora 12, RHEL5.3,
> and RHEL3U8, and none work.
>
> How do I determine in fact the data pulled into qemu from
> ioctl(USBDEVFS_REAPURBNDELAY) is getting pushed to the guest?
>
> Thanks,
Upon further review the problem appears to be that the TD's are still
active when received in the VM. In the bare metal case the usb-uhci code
shows (my instrumentation in a RHEL3U8 guest):
process_iso @ 36912: urb f74bd03c, mode 0, frame 1191, npkt 5, nerr 0,
status 03000057
TD @ c8281480, link 8281180, status 20007ff, info c610369: MaxLen=63
DT0 EP=2 Dev=3 PID=( IN )
Len=7ff e0
Link points to TD @ 08281180, Breadth first
TD NOT active (20007ff)
process_iso: 0 len 0 020007ff status 0
TD @ c82814c0, link 8281200, status 20007ff, info c610369: MaxLen=63
DT0 EP=2 Dev=3 PID=( IN )
Len=7ff e0
Link points to TD @ 08281200, Breadth first
TD NOT active (20007ff)
process_iso: 1 len 0 020007ff status 0
TD @ c8281500, link 8281180, status 2000059, info c610369: MaxLen=63
DT0 EP=2 Dev=3 PID=( IN )
Len=59 e0
Link points to TD @ 08281180, Breadth first
TD NOT active (2000059)
process_iso: 2 len 90 02000059 status 0
TD @ c8281540, link 82811c0, status 2000057, info c610369: MaxLen=63
DT0 EP=2 Dev=3 PID=( IN )
Len=57 e0
Link points to TD @ 082811c0, Breadth first
TD NOT active (2000057)
process_iso: 3 len 88 02000057 status 0
TD @ c82815c0, link 8281180, status 3000057, info c610369: MaxLen=63
DT0 EP=2 Dev=3 PID=( IN )
Len=57 e0 IOC
Link points to TD @ 08281180, Breadth first
TD NOT active (3000057)
process_iso: 4 len 88 03000057 status 0
process_iso: exit 5 (0), transfer length 500 actual len 266
The same case in a VM shows:
process_iso: td still active
TD @ c1980580, link 1980200, status 3800000, info c610269: MaxLen=63
DT0 EP=2 Dev=2 PID=( IN )
Len=00 e0 IOC Active
Link points to TD @ 01980200, Breadth first
process_urb: type 0
process_iso @ 8376: urb dee5c0f0, mode 0, frame 1033, npkt 5, nerr 0,
status 030007ff
TD @ c19805c0, link 1980180, status 2800000, info c610269: MaxLen=63
DT0 EP=2 Dev=2 PID=( IN )
Len=00 e0 Active
Link points to TD @ 01980180, Breadth first
TD still active (2000000)- grrr. paranoia!
Does this ring a bell with anyone?
David
prev parent reply other threads:[~2010-01-04 18:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-03 18:19 [Qemu-devel] need help getting a USB audio device to work David S. Ahern
2010-01-04 18:16 ` David S. Ahern [this message]
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=4B42306C.80501@cisco.com \
--to=daahern@cisco.com \
--cc=qemu-devel@nongnu.org \
/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.