USB microphone problems

Oliver Fromme olli at
Thu Apr 14 11:01:39 UTC 2011

Hans Petter Selasky <hselasky at> wrote:
 > On Tuesday 12 April 2011 16:40:14 Oliver Fromme wrote:
 > >    pcm5: chn_read(): pcm5:virtual:dsp5.vr0: record interrupt timeout,
 > > channel dead
 > Try the following command on your device after it is plugged:
 > usbconfig -d X.Y do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00
 > Does it help?

I'm sorry for the late reply.  I spent one or two hours
plugging and unplugging that webcam a hundred times.  :-)

The good news:  Yes, the command helps.  But only when
issued at a certain time.

The following sequence works:

1.  Plug camera in.
2.  usbconfig -d 3.2 do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00
3.  usbconfig -d 3.2 reset
4.  usbconfig -d 3.2 do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00
5.  Now the microphone works.

I cannot omit any of the steps, and I cannot change the
order of the steps.  Otherwise the microphone does not work.
Let me repeat:  The do_request has to be done *twice*, and
a reset has to be done in-between.

Interestingly, the following works, too:

1.  Plug camera in.
2.  Run pwcview.
3.  usbconfig -d 3.2 do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00
4.  Now the microphone works.

No need to do a reset, and no need to perform the do_request
twice.  But again, it has to be done exactly in that order.
It does not matter whether I stop pwcview or keep it running.
The only important thing seems to be that pwcview opens the
video device once.  Instead of pwcview I can also use skype
to open the video device (by starting the device test in the
options dialog).

The microphone keeps working, no matter what I do, until I
unplug it.

Just out of curiosity, what exactly does the do_request with
those eight hex numbers do?

Another thing I noticed is that mixer(8) still does not show
a microphone device, only vol and pcm:

Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  75:75

So I cannot change the mic level.  Changing the vol and pcm
values doesn't have any effect.  But it's not fatal because
the default mic level is acceptable.

Thanks for your work!

Best regards

Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:

"The most important decision in [programming] language design
concerns what is to be left out."  --  Niklaus Wirth

More information about the freebsd-multimedia mailing list