[alsa-devel] question about webcam audio capture
hi all: I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
my questions: 1. where I can get the message "retire_capture_urb: 108 callbacks suppressed" show in sound/usb driver? I try to grep -rwn '"retire_capture_urb.*' sound/usb/*, but get nothing.
2. from usb mon log, it seems HW keep Active status high even until ehci_io_watchdog happen, because the ep status is -EXDEV. if my observation is correct, is it possible to modify usb sound driver to purposely send fix number urbs. Because from the usb mon log, the first 8 urb will get time out already.
thanks for your help in advance,
2013/9/8 vichy vichy.kuo@gmail.com:
hi all: I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
my questions:
- where I can get the message "retire_capture_urb: 108 callbacks
suppressed" show in sound/usb driver? I try to grep -rwn '"retire_capture_urb.*' sound/usb/*, but get nothing.
- from usb mon log, it seems HW keep Active status high even until
ehci_io_watchdog happen, because the ep status is -EXDEV. if my observation is correct, is it possible to modify usb sound driver to purposely send fix number urbs. Because from the usb mon log, the first 8 urb will get time out already.
BTW, forget to say my kernel version is 3.8.2
thanks for your help in advance,
hi Clements: I am sorry to bother you by sending this mail directly, since I found the mail I sent last night is rejected due to alsa-devel doesn't allow "Post by non-member to a members-only list"
except below #1 requirement I need your help, if I purposely want to sent fixed number of urbs by myself to easily debug, would you please tell me where I can modify the source code?
In my case, the default alsa seems use 8 urbs to repeat send/complete/....send/complete to quire data from ep. (my high-speed webcam has an enpoint with packet length 132, interval = 8 microframe ) Below is one of end point description. Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0084 1x 132 bytes bInterval 4 bRefresh 0 bSynchAddress 0
If I want to use 2 urbs and only send/complete 1 round, would you please where I can find the source code to modify?
thanks for your kind help,
---------- Forwarded message ---------- From: vichy vichy.kuo@gmail.com Date: 2013/9/8 Subject: question about webcam audio capture To: linux-usb@vger.kernel.org, alsa-devel@alsa-project.org
hi all: I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
my questions: 1. where I can get the message "retire_capture_urb: 108 callbacks suppressed" show in sound/usb driver? I try to grep -rwn '"retire_capture_urb.*' sound/usb/*, but get nothing. what does "retire_capture_urb: 108 callbacks suppressed" mean?
2. from usb mon log, it seems HW keep Active status high even until ehci_io_watchdog happen, because the ep status is -EXDEV. if my observation is correct, is it possible to modify usb sound driver to purposely send fix number urbs. Because from the usb mon log, the first 8 urb will get time out already.
thanks for your help in advance,
vichy wrote:
I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
This means that the retire_capture_urb() function printed lots of messages, and that 108 of them were thrown away because they were identical. You have to look at the previous line to get the actual message.
- from usb mon log, it seems HW keep Active status high even until
ehci_io_watchdog happen, because the ep status is -EXDEV.
How are you trying to capture data?
Regards, Clemens
hi Clemens:
2013/9/9 Clemens Ladisch clemens@ladisch.de:
vichy wrote:
I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
This means that the retire_capture_urb() function printed lots of messages, and that 108 of them were thrown away because they were identical.
Does that mean: 1. 108 of messages are the same and through away 2. alsa get data from uac device through Host controller driver 108 times and find they are the same and through away
You have to look at the previous line to get the actual message.
I try to grep -rwn '"retire_capture_urb.*' sound/usb/*, but get nothing. Would you please tell me what the "previous line to get the actual message" you mean?
- from usb mon log, it seems HW keep Active status high even until
ehci_io_watchdog happen, because the ep status is -EXDEV.
How are you trying to capture data?
I use the capture function in tinyalsa.
BTW, If I want to use number of urbs I expected and only send/complete only 1 round, where I can find the source code to modify?
Thanks for your great help,
hi Clemens:
2013/9/9 vichy vichy.kuo@gmail.com:
hi Clemens:
2013/9/9 Clemens Ladisch clemens@ladisch.de:
vichy wrote:
I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
This means that the retire_capture_urb() function printed lots of messages, and that 108 of them were thrown away because they were identical.
Does that mean:
- 108 of messages are the same and through away
- alsa get data from uac device through Host controller driver 108
times and find they are the same and through away
You have to look at the previous line to get the actual message.
I try to grep -rwn '"retire_capture_urb.*' sound/usb/*, but get nothing. Would you please tell me what the "previous line to get the actual message" you mean?
- from usb mon log, it seems HW keep Active status high even until
ehci_io_watchdog happen, because the ep status is -EXDEV.
How are you trying to capture data?
I use the capture function in tinyalsa.
forget to say, the command I execute is tinycap record.wav -D 0 -d 0 -c 2 -r 32000
BTW, If I want to use number of urbs I expected and only send/complete only 1 round, where I can find the source code to modify?
it seems ep->nurbs in snd_usb_endpoint_start is what I expected, right?
Thanks for your great help,
vichy wrote:
2013/9/9 Clemens Ladisch clemens@ladisch.de:
vichy wrote:
I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
This means that the retire_capture_urb() function printed lots of messages, and that 108 of them were thrown away because they were identical.
Does that mean:
- 108 of messages are the same and through away
No, that at least 109 are the same.
You have to look at the previous line to get the actual message.
Would you please tell me what the "previous line to get the actual message" you mean?
The previous line in the message log.
tinycap record.wav -D 0 -d 0 -c 2 -r 32000
Try increasng -n or -p.
Does recoding on a PC with the same parameters work?
Regards, Clemens
hi Clemens:
2013/9/10 Clemens Ladisch clemens@ladisch.de:
vichy wrote:
2013/9/9 Clemens Ladisch clemens@ladisch.de:
vichy wrote:
I try to do webcam audio capture on my arm platform. when I execute audio capture I got below message "retire_capture_urb: 108 callbacks suppressed"
This means that the retire_capture_urb() function printed lots of messages, and that 108 of them were thrown away because they were identical.
Does that mean:
- 108 of messages are the same and through away
No, that at least 109 are the same.
You have to look at the previous line to get the actual message.
Would you please tell me what the "previous line to get the actual message" you mean?
The previous line in the message log.
tinycap record.wav -D 0 -d 0 -c 2 -r 32000
Try increasng -n or -p.
Does recoding on a PC with the same parameters work?
the same parameters work well on PC. I think it is ehci hardware problem on my embedded system.
Appreciate your kind help :)
participants (2)
-
Clemens Ladisch
-
vichy