Bug 152622 - [pcm] uaudio recording problem
Summary: [pcm] uaudio recording problem
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 8.1-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: Bugmeister
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-27 19:20 UTC by Anna A. Ladilova
Modified: 2023-12-31 02:53 UTC (History)
1 user (show)

See Also:


Attachments
usbsnoop.zip (188.03 KB, application/zip)
2011-04-12 17:51 UTC, Thierry Thomas
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anna A. Ladilova 2010-11-27 19:20:10 UTC
I try to get my USB Logitech webcam microphone working. I can't record and I get the following in dmesg:

pcm2: chn_read(): pcm2:record:dsp2.r0: record interrupt timeout, channel dead
pcm2: chn_trigger() pcm2:record:dsp2.r0: calling go=0xffffffff , prev=0x00000001
pcm2: chn_resizebuf(): PCMDIR_REC (hardware) timeout=16 b[1536/768/2] bs[4096/128/32] limit=0

I have the following information:

#cat /dev/sndstat:

pcm2: <USB audio> at ? kld snd_uaudio (0p:0v/1r:1v)
        snddev flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
        [pcm2:record:dsp2.r0]: spd 48000, fmt 0x00200010/0x00100010, flags 0x00002100, 0x00000045
        interrupts 0, overruns 0, feed 0, hfree 1536, sfree 4096 [b:1536/768/2|bs:4096/2048/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {hardware} -> feeder_root(0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_mixer(0x00200010) -> {userland}
        pcm2:record:dsp2.r0[pcm2:virtual:dsp2.vr0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
        interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {hardware} -> feeder_root(0x00000000) -> {userland}

from dmesg:

ugen4.3: <vendor 0x046d> at usbus4
uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
uaudio0: No playback!
uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
uaudio0: No midi sequencer
pcm2: <USB audio> on uaudio0

and

# usbconfig -d ugen4.3
ugen4.3: <product 0x0825 vendor 0x046d> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2010-12-13 05:20:36 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-multimedia

Over to maintainer(s).
Comment 2 Thierry Thomas freebsd_committer freebsd_triage 2011-04-09 14:03:05 UTC
Hello,

Same problem here with a webcam Logitech C270: the image is fine with
webcamd / pwcview, but the microphone is ignored.

Some details, hoping that could help:

#uname -a
8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Apr  8 22:32:35 CEST 2011

# dmesg (extract)
Apr  9 14:12:33 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr  9 14:12:33 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr  9 14:12:33 graf kernel: uaudio0: No playback!
Apr  9 14:12:33 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr  9 14:12:33 graf kernel: uaudio0: No midi sequencer
Apr  9 14:12:33 graf kernel: pcm1: <USB audio> on uaudio0

# cat /dev/sndstat                                                                                ~
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA CMedia CMI9880 PCM #0 Analog> (play) default
pcm1: <USB audio> (rec)

Note: pcm0 is the internal card - OK - rec is seen for the webcam on pcm1

# mixer -f /dev/mixer1
Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  75:75

No entry for mic nor igain!

# sysctl hw.snd
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0,2500,62,0,2500:-9,9,1,0:44100,48000,88200,96000,176400,192000
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1
hw.snd.compat_linux_mmap: 0
hw.snd.vpc_mixer_bypass: 1
hw.snd.verbose: 0
hw.snd.maxautovchans: 4
hw.snd.default_unit: 0
hw.snd.version: 2009061500/i386
hw.snd.default_auto: 0

# sysctl dev.pcm | grep pcm.1
dev.pcm.1.%desc: USB audio
dev.pcm.1.%driver: pcm
dev.pcm.1.%parent: uaudio0
dev.pcm.1.rec.vchans: 1
dev.pcm.1.rec.vchanmode: fixed
dev.pcm.1.rec.vchanrate: 48000
dev.pcm.1.rec.vchanformat: s16le:2.0
dev.pcm.1.buffersize: 0
dev.pcm.1.bitperfect: 0

# usbconfig -u 4 -a 3 dump_device_desc
ugen4.3: <product 0x0825 vendor 0x046d> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00ef 
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x046d 
  idProduct = 0x0825 
  bcdDevice = 0x0010 
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0000  <no string>
  iSerialNumber = 0x0002  <A47160A0>
  bNumConfigurations = 0x0001 

Truly yours,
-- 
Th. Thomas.
Comment 3 Thierry Thomas freebsd_committer freebsd_triage 2011-04-09 14:03:05 UTC
Hello,

Same problem here with a webcam Logitech C270: the image is fine with
webcamd / pwcview, but the microphone is ignored.

Some details, hoping that could help:

#uname -a
8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Apr  8 22:32:35 CEST 2011

# dmesg (extract)
Apr  9 14:12:33 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr  9 14:12:33 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr  9 14:12:33 graf kernel: uaudio0: No playback!
Apr  9 14:12:33 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr  9 14:12:33 graf kernel: uaudio0: No midi sequencer
Apr  9 14:12:33 graf kernel: pcm1: <USB audio> on uaudio0

# cat /dev/sndstat                                                                                ~
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA CMedia CMI9880 PCM #0 Analog> (play) default
pcm1: <USB audio> (rec)

Note: pcm0 is the internal card - OK - rec is seen for the webcam on pcm1

# mixer -f /dev/mixer1
Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  75:75

No entry for mic nor igain!

# sysctl hw.snd
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0,2500,62,0,2500:-9,9,1,0:44100,48000,88200,96000,176400,192000
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1
hw.snd.compat_linux_mmap: 0
hw.snd.vpc_mixer_bypass: 1
hw.snd.verbose: 0
hw.snd.maxautovchans: 4
hw.snd.default_unit: 0
hw.snd.version: 2009061500/i386
hw.snd.default_auto: 0

# sysctl dev.pcm | grep pcm.1
dev.pcm.1.%desc: USB audio
dev.pcm.1.%driver: pcm
dev.pcm.1.%parent: uaudio0
dev.pcm.1.rec.vchans: 1
dev.pcm.1.rec.vchanmode: fixed
dev.pcm.1.rec.vchanrate: 48000
dev.pcm.1.rec.vchanformat: s16le:2.0
dev.pcm.1.buffersize: 0
dev.pcm.1.bitperfect: 0

# usbconfig -u 4 -a 3 dump_device_desc
ugen4.3: <product 0x0825 vendor 0x046d> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00ef 
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x046d 
  idProduct = 0x0825 
  bcdDevice = 0x0010 
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0000  <no string>
  iSerialNumber = 0x0002  <A47160A0>
  bNumConfigurations = 0x0001 

Truly yours,
-- 
Th. Thomas.
Comment 4 Hans Petter Selasky 2011-04-10 08:00:31 UTC
On Saturday 09 April 2011 15:30:18 Thierry Thomas wrote:
> The following reply was made to PR kern/152622; it has been noted by GNATS.
> 
> From: Thierry Thomas <thierry@FreeBSD.org>
> To: FreeBSD-gnats-submit@FreeBSD.org
> Cc: bug-followup@FreeBSD.org, laddassm@gmail.com
> Subject: Re: kern/152622: [pcm] uaudio recording problem
> Date: Sat, 9 Apr 2011 15:03:05 +0200
> 
>  Hello,
> 
>  Same problem here with a webcam Logitech C270: the image is fine with
>  webcamd / pwcview, but the microphone is ignored.
> 
>  Some details, hoping that could help:

Hi,

Compile kernel with "options USB_DEBUG".

Re-plug device after setting:

sysctl hw.usb.uaudio.debug=15

Upload dmesg.

--HPS
Comment 5 Thierry Thomas freebsd_committer freebsd_triage 2011-04-10 11:03:29 UTC
On Sun 10 avr 11 at 9:00:31 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> Hi,

Hello,

> Compile kernel with "options USB_DEBUG".
> 
> Re-plug device after setting:
> 
> sysctl hw.usb.uaudio.debug=15
> 
> Upload dmesg.

Here is it:

Apr 10 12:00:01 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 10 12:00:01 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 10 12:00:01 graf kernel: uaudio_chan_dump_ep_desc: endpoint=0xc73d3995 bLength=9 bDescriptorType=5 
Apr 10 12:00:01 graf kernel: bEndpointAddress=134 bmAttributes=0x5 
Apr 10 12:00:01 graf kernel: wMaxPacketSize=196 bInterval=4 
Apr 10 12:00:01 graf kernel: bRefresh=0 bSynchAddress=0
Apr 10 12:00:01 graf kernel: uaudio_chan_fill_info_sub: FREQ_CONTROL
Apr 10 12:00:01 graf kernel: uaudio_chan_fill_info_sub: Sample rate = 48000Hz, channels = 1, bits = 16, format = 16-bit S-LE PCM
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: found AC header, vers=100, len=29
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Maximum ID=3
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id 3:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:  - AC_OUTPUT type=UAT_STREAM src=5
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Inputs to this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Outputs from this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id 1:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:  - AC_INPUT type=UATI_MICROPHONE
Apr 10 12:00:01 graf kernel: uaudio_mixer_dump_cluster: cluster: bNrChannels=0 iChannelNames=1 wChannelConfig=0x0000:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Inputs to this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:   -- ID=1
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Outputs from this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id=3 subtype=3
Apr 10 12:00:01 graf kernel: uaudio_mixer_add_output: bTerminalId=3 wTerminalType=0x0101 bAssocTerminal=1 bSourceId=5 iTerminal=0
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id=1 subtype=2
Apr 10 12:00:01 graf kernel: uaudio_mixer_add_input: bTerminalId=1 wTerminalType=0x0201 bAssocTerminal=0 bNrChannels=1 wChannelConfig=0 iChannelNames=0
Apr 10 12:00:01 graf kernel: uaudio_attach: audio rev 1.00
Apr 10 12:00:01 graf kernel: uaudio_attach: 0 mixer controls
Apr 10 12:00:01 graf kernel: uaudio0: No playback!
Apr 10 12:00:01 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 10 12:00:01 graf kernel: uaudio0: No midi sequencer
Apr 10 12:00:01 graf kernel: uaudio_attach: doing child attach
Apr 10 12:00:01 graf kernel: pcm1: <USB audio> on uaudio0
Apr 10 12:00:01 graf kernel: uaudio_attach_sub: emulating master volume
Apr 10 12:00:01 graf kernel: uaudio_mixer_init_sub: 
Apr 10 12:00:01 graf kernel: uaudio_chan_init: endpoint=0x86, speed=48000, iface=3 alt=4
Apr 10 12:00:01 graf kernel: uaudio_chan_init: fps=1000 sample_rem=0

Best regards,
-- 
Th. Thomas.
Comment 6 Thierry Thomas freebsd_committer freebsd_triage 2011-04-10 11:03:29 UTC
On Sun 10 avr 11 at 9:00:31 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> Hi,

Hello,

> Compile kernel with "options USB_DEBUG".
> 
> Re-plug device after setting:
> 
> sysctl hw.usb.uaudio.debug=15
> 
> Upload dmesg.

Here is it:

Apr 10 12:00:01 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 10 12:00:01 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 10 12:00:01 graf kernel: uaudio_chan_dump_ep_desc: endpoint=0xc73d3995 bLength=9 bDescriptorType=5 
Apr 10 12:00:01 graf kernel: bEndpointAddress=134 bmAttributes=0x5 
Apr 10 12:00:01 graf kernel: wMaxPacketSize=196 bInterval=4 
Apr 10 12:00:01 graf kernel: bRefresh=0 bSynchAddress=0
Apr 10 12:00:01 graf kernel: uaudio_chan_fill_info_sub: FREQ_CONTROL
Apr 10 12:00:01 graf kernel: uaudio_chan_fill_info_sub: Sample rate = 48000Hz, channels = 1, bits = 16, format = 16-bit S-LE PCM
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: found AC header, vers=100, len=29
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Maximum ID=3
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id 3:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:  - AC_OUTPUT type=UAT_STREAM src=5
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Inputs to this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Outputs from this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id 1:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:  - AC_INPUT type=UATI_MICROPHONE
Apr 10 12:00:01 graf kernel: uaudio_mixer_dump_cluster: cluster: bNrChannels=0 iChannelNames=1 wChannelConfig=0x0000:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Inputs to this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info:   -- ID=1
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: Outputs from this ID are:
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id=3 subtype=3
Apr 10 12:00:01 graf kernel: uaudio_mixer_add_output: bTerminalId=3 wTerminalType=0x0101 bAssocTerminal=1 bSourceId=5 iTerminal=0
Apr 10 12:00:01 graf kernel: uaudio_mixer_fill_info: id=1 subtype=2
Apr 10 12:00:01 graf kernel: uaudio_mixer_add_input: bTerminalId=1 wTerminalType=0x0201 bAssocTerminal=0 bNrChannels=1 wChannelConfig=0 iChannelNames=0
Apr 10 12:00:01 graf kernel: uaudio_attach: audio rev 1.00
Apr 10 12:00:01 graf kernel: uaudio_attach: 0 mixer controls
Apr 10 12:00:01 graf kernel: uaudio0: No playback!
Apr 10 12:00:01 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 10 12:00:01 graf kernel: uaudio0: No midi sequencer
Apr 10 12:00:01 graf kernel: uaudio_attach: doing child attach
Apr 10 12:00:01 graf kernel: pcm1: <USB audio> on uaudio0
Apr 10 12:00:01 graf kernel: uaudio_attach_sub: emulating master volume
Apr 10 12:00:01 graf kernel: uaudio_mixer_init_sub: 
Apr 10 12:00:01 graf kernel: uaudio_chan_init: endpoint=0x86, speed=48000, iface=3 alt=4
Apr 10 12:00:01 graf kernel: uaudio_chan_init: fps=1000 sample_rem=0

Best regards,
-- 
Th. Thomas.
Comment 7 Thierry Thomas freebsd_committer freebsd_triage 2011-04-10 11:48:27 UTC
On sun 10 apr 11 at 12:18:20 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> It looks like your recording device does not have a volume control. If you:
> 
> dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> 
> Do you then hear anything?

Nothing, but an error is displayed:

$ dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64                                                          ~
dd: /dev/dsp1.0: Invalid argument
0+0 records in
0+0 records out
0 bytes transferred in 5.000121 secs (0 bytes/sec)

$ ll /dev/dsp1.0 /dev/dsp0.0
crw-rw-rw-  1 root  wheel    0, 137  9 avr 17:01 /dev/dsp0.0
crw-rw-rw-  1 root  wheel    0, 160 10 avr 12:43 /dev/dsp1.0

Best regards,
-- 
Th. Thomas.
Comment 8 Hans Petter Selasky 2011-04-10 12:11:22 UTC
On Sunday 10 April 2011 12:48:27 Thierry Thomas wrote:
> On sun 10 apr 11 at 12:18:20 +0200, Hans Petter Selasky <hselasky@c2i.net>
> 
>  wrote:
> > It looks like your recording device does not have a volume control. If
> > you:
> > 
> > dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > 
> > Do you then hear anything?
> 
> Nothing, but an error is displayed:
> 
> $ dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64                                   
>                       ~ dd: /dev/dsp1.0: Invalid argument
> 0+0 records in
> 0+0 records out
> 0 bytes transferred in 5.000121 secs (0 bytes/sec)
> 
> $ ll /dev/dsp1.0 /dev/dsp0.0
> crw-rw-rw-  1 root  wheel    0, 137  9 avr 17:01 /dev/dsp0.0
> crw-rw-rw-  1 root  wheel    0, 160 10 avr 12:43 /dev/dsp1.0
> 
> Best regards,

Could you show dmesg with USB debugging on for USB audio while doing this. 
Maybe the webcam needs to be running before you get audio.

--HPS
Comment 9 Hans Petter Selasky 2011-04-10 12:17:16 UTC
On Sunday 10 April 2011 13:11:22 Hans Petter Selasky wrote:
> On Sunday 10 April 2011 12:48:27 Thierry Thomas wrote:
> > On sun 10 apr 11 at 12:18:20 +0200, Hans Petter Selasky
> > <hselasky@c2i.net>
> > 
> >  wrote:
> > > It looks like your recording device does not have a volume control. If
> > > you:
> > > 
> > > dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > > 
> > > Do you then hear anything?
> > 
> > Nothing, but an error is displayed:
> > 
> > $ dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > 
> >                       ~ dd: /dev/dsp1.0: Invalid argument
> > 
> > 0+0 records in
> > 0+0 records out
> > 0 bytes transferred in 5.000121 secs (0 bytes/sec)
> > 
> > $ ll /dev/dsp1.0 /dev/dsp0.0
> > crw-rw-rw-  1 root  wheel    0, 137  9 avr 17:01 /dev/dsp0.0
> > crw-rw-rw-  1 root  wheel    0, 160 10 avr 12:43 /dev/dsp1.0
> > 
> > Best regards,
> 
> Could you show dmesg with USB debugging on for USB audio while doing this.
> Maybe the webcam needs to be running before you get audio.
> 

Also dump the configuration descriptor for your device using:

usbconfig -d X.Y dump_curr_config_desc

--HPS
Comment 10 Thierry Thomas freebsd_committer freebsd_triage 2011-04-10 13:38:58 UTC
On sun 10 apr 11 at 13:17:16 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> > Could you show dmesg with USB debugging on for USB audio while doing this.
> > Maybe the webcam needs to be running before you get audio.
> > 
> 
> Also dump the configuration descriptor for your device using:
> 
> usbconfig -d X.Y dump_curr_config_desc

Here is it:

Apr 10 14:31:40 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 10 14:31:40 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 10 14:31:40 graf kernel: uaudio0: No playback!
Apr 10 14:31:40 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 10 14:31:40 graf kernel: uaudio0: No midi sequencer
Apr 10 14:31:40 graf kernel: pcm1: <USB audio> on uaudio0
Apr 10 14:32:16 graf su: thierry to root on /dev/pts/1
Apr 10 14:32:46 graf kernel: uaudio_chan_record_callback: transferred 0 bytes
Apr 10 14:32:51 graf last message repeated 623 times
Apr 10 14:32:51 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
Apr 10 14:33:00 graf kernel: uaudio_chan_record_callback: transferred 0 bytes
Apr 10 14:33:05 graf last message repeated 623 times
Apr 10 14:33:05 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead

# usbconfig -d 4.3 dump_curr_config_desc

ugen4.3: <product 0x0825 vendor 0x046d> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x09a5 
    bNumInterfaces = 0x0004 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x00fa 

    Additional Descriptor

    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump: 
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, 0x00


    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x0d
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x0d, 0x24, 0x01, 0x00, 0x01, 0x9f, 0x00, 0x00, 
       0x08 | 0x6c, 0xdc, 0x02, 0x01, 0x01


      Additional Descriptor

      bLength = 0x12
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 
       0x08 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 
       0x10 | 0x00, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, 0x02, 
       0x08 | 0x5b, 0x17, 0x00


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x06, 0x03, 0xe4, 0x8e, 0x67, 0x69, 
       0x08 | 0x0f, 0x41, 0xdb, 0x40, 0xa8, 0x50, 0x74, 0x20, 
       0x10 | 0xd7, 0xd8, 0x24, 0x0e, 0x08, 0x01, 0x02, 0x02, 
       0x18 | 0x3f, 0x03, 0x00


      Additional Descriptor

      bLength = 0x1a
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1a, 0x24, 0x06, 0x04, 0x15, 0x02, 0xe4, 0x49, 
       0x08 | 0x34, 0xf4, 0xfe, 0x47, 0xb1, 0x58, 0x0e, 0x88, 
       0x10 | 0x50, 0x23, 0xe5, 0x1b, 0x00, 0x01, 0x02, 0x01, 
       0x18 | 0x00, 0x00


      Additional Descriptor

      bLength = 0x1c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1c, 0x24, 0x06, 0x06, 0xa9, 0x4c, 0x5d, 0x1f, 
       0x08 | 0x11, 0xde, 0x87, 0x44, 0x84, 0x0d, 0x50, 0x93, 
       0x10 | 0x3c, 0x8e, 0xc8, 0xd1, 0x12, 0x01, 0x04, 0x03, 
       0x18 | 0xff, 0xff, 0x03, 0x00


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x06, 0x07, 0x21, 0x2d, 0xe5, 0xff, 
       0x08 | 0x30, 0x80, 0x2c, 0x4e, 0x82, 0xd9, 0xf5, 0x87, 
       0x10 | 0xd0, 0x05, 0x40, 0xbd, 0x02, 0x01, 0x04, 0x02, 
       0x18 | 0x00, 0x03, 0x00


      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x09, 0x24, 0x03, 0x05, 0x01, 0x01, 0x00, 0x04, 
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0087  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0010 
        bInterval = 0x0008 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x05, 0x25, 0x03, 0x10, 0x00



    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x10
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x10, 0x24, 0x01, 0x03, 0x3a, 0x07, 0x81, 0x00, 
       0x08 | 0x05, 0x01, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x04
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x04, 0x01, 0x13, 0x59, 0x55, 0x59, 
       0x08 | 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 
       0x10 | 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, 0x01, 0x00, 
       0x18 | 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x01, 0x01, 0x80, 0x02, 0xe0, 
       0x08 | 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xca, 
       0x10 | 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x02, 0x01, 0xa0, 0x00, 0x78, 
       0x08 | 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xa0, 0x8c, 
       0x10 | 0x00, 0x00, 0x96, 0x00, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x03, 0x01, 0xb0, 0x00, 0x90, 
       0x08 | 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xa0, 0xb9, 
       0x10 | 0x00, 0x00, 0xc6, 0x00, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x04, 0x01, 0x40, 0x01, 0xb0, 
       0x08 | 0x00, 0x00, 0xc0, 0x44, 0x00, 0x00, 0x80, 0x9c, 
       0x10 | 0x01, 0x00, 0xb8, 0x01, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x05, 0x01, 0x40, 0x01, 0xf0, 
       0x08 | 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 
       0x10 | 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x06, 0x01, 0x60, 0x01, 0x20, 
       0x08 | 0x01, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0x80, 0xe6, 
       0x10 | 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x07, 0x01, 0xb0, 0x01, 0xf0, 
       0x08 | 0x00, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x60, 0xf7, 
       0x10 | 0x02, 0x00, 0x2a, 0x03, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x08, 0x01, 0x20, 0x02, 0x20, 
       0x08 | 0x01, 0x00, 0x40, 0xbf, 0x00, 0x00, 0x80, 0x7b, 
       0x10 | 0x04, 0x00, 0xc8, 0x04, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x32, 0x24, 0x05, 0x09, 0x01, 0x80, 0x02, 0x68, 
       0x08 | 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 
       0x10 | 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x2e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x2e, 0x24, 0x05, 0x0a, 0x01, 0xf0, 0x02, 0xa0, 
       0x08 | 0x01, 0x00, 0xe0, 0x7d, 0x01, 0x00, 0x60, 0x75, 
       0x10 | 0x07, 0x00, 0x8c, 0x09, 0x00, 0x80, 0x1a, 0x06, 
       0x18 | 0x00, 0x05, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 
       0x20 | 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
       0x28 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00


      Additional Descriptor

      bLength = 0x2e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x2e, 0x24, 0x05, 0x0b, 0x01, 0x20, 0x03, 0xc0, 
       0x08 | 0x01, 0x00, 0x80, 0xb5, 0x01, 0x00, 0x80, 0x8b, 
       0x10 | 0x08, 0x00, 0xf0, 0x0a, 0x00, 0x80, 0x1a, 0x06, 
       0x18 | 0x00, 0x05, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 
       0x20 | 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
       0x28 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00


      Additional Descriptor

      bLength = 0x2a
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x2a, 0x24, 0x05, 0x0c, 0x01, 0x20, 0x03, 0x58, 
       0x08 | 0x02, 0x00, 0xf0, 0x49, 0x02, 0x00, 0xc0, 0x27, 
       0x10 | 0x09, 0x00, 0xa6, 0x0e, 0x00, 0x20, 0xa1, 0x07, 
       0x18 | 0x00, 0x04, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x20 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x28 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x2a
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x2a, 0x24, 0x05, 0x0d, 0x01, 0x60, 0x03, 0xe0, 
       0x08 | 0x01, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x00, 0xe9, 
       0x10 | 0x07, 0x00, 0xa8, 0x0c, 0x00, 0x20, 0xa1, 0x07, 
       0x18 | 0x00, 0x04, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x20 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x28 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x26
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x26, 0x24, 0x05, 0x0e, 0x01, 0xc0, 0x03, 0x20, 
       0x08 | 0x02, 0x00, 0x80, 0x7d, 0x02, 0x00, 0x80, 0x78, 
       0x10 | 0x07, 0x00, 0xf0, 0x0f, 0x00, 0x2a, 0x2c, 0x0a, 
       0x18 | 0x00, 0x03, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
       0x20 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00


      Additional Descriptor

      bLength = 0x22
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x22, 0x24, 0x05, 0x0f, 0x01, 0xc0, 0x03, 0xd0, 
       0x08 | 0x02, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0x80, 0x97, 
       0x10 | 0x06, 0x00, 0x18, 0x15, 0x00, 0x40, 0x42, 0x0f, 
       0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x20 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x22
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x22, 0x24, 0x05, 0x10, 0x01, 0x00, 0x04, 0x40, 
       0x08 | 0x02, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0xa0, 
       0x10 | 0x05, 0x00, 0x00, 0x12, 0x00, 0x40, 0x42, 0x0f, 
       0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x20 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x22
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x22, 0x24, 0x05, 0x11, 0x01, 0xa0, 0x04, 0x90, 
       0x08 | 0x02, 0x00, 0x20, 0xb4, 0x03, 0x00, 0x40, 0x68, 
       0x10 | 0x07, 0x00, 0xb4, 0x17, 0x00, 0x40, 0x42, 0x0f, 
       0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x20 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x22
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x22, 0x24, 0x05, 0x12, 0x01, 0x00, 0x05, 0xd0, 
       0x08 | 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xca, 
       0x10 | 0x08, 0x00, 0x20, 0x1c, 0x00, 0x40, 0x42, 0x0f, 
       0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x20 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x22
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x22, 0x24, 0x05, 0x13, 0x01, 0x00, 0x05, 0xc0, 
       0x08 | 0x03, 0x00, 0x00, 0xdc, 0x05, 0x00, 0x00, 0xb8, 
       0x10 | 0x0b, 0x00, 0x80, 0x25, 0x00, 0x80, 0x84, 0x1e, 
       0x18 | 0x00, 0x02, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 
       0x20 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x0d
       RAW dump: 
       0x00 | 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x06, 0x02, 0x13, 0x01, 0x01, 0x00, 
       0x08 | 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x01, 0x01, 0x80, 0x02, 0xe0, 
       0x08 | 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xca, 
       0x10 | 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x02, 0x01, 0xa0, 0x00, 0x78, 
       0x08 | 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xa0, 0x8c, 
       0x10 | 0x00, 0x00, 0x96, 0x00, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x03, 0x01, 0xb0, 0x00, 0x90, 
       0x08 | 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xa0, 0xb9, 
       0x10 | 0x00, 0x00, 0xc6, 0x00, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x04, 0x01, 0x40, 0x01, 0xb0, 
       0x08 | 0x00, 0x00, 0xc0, 0x44, 0x00, 0x00, 0x80, 0x9c, 
       0x10 | 0x01, 0x00, 0xb8, 0x01, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x05, 0x01, 0x40, 0x01, 0xf0, 
       0x08 | 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 
       0x10 | 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x06, 0x01, 0x60, 0x01, 0x20, 
       0x08 | 0x01, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0x80, 0xe6, 
       0x10 | 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x07, 0x01, 0xb0, 0x01, 0xf0, 
       0x08 | 0x00, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x60, 0xf7, 
       0x10 | 0x02, 0x00, 0x2a, 0x03, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x08, 0x01, 0x20, 0x02, 0x20, 
       0x08 | 0x01, 0x00, 0x40, 0xbf, 0x00, 0x00, 0x80, 0x7b, 
       0x10 | 0x04, 0x00, 0xc8, 0x04, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x09, 0x01, 0x80, 0x02, 0x68, 
       0x08 | 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 
       0x10 | 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0a, 0x01, 0xf0, 0x02, 0xa0, 
       0x08 | 0x01, 0x00, 0xe0, 0x7d, 0x01, 0x00, 0x40, 0xf3, 
       0x10 | 0x08, 0x00, 0x8c, 0x09, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0b, 0x01, 0x20, 0x03, 0xc0, 
       0x08 | 0x01, 0x00, 0x80, 0xb5, 0x01, 0x00, 0x00, 0x41, 
       0x10 | 0x0a, 0x00, 0xf0, 0x0a, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0c, 0x01, 0x20, 0x03, 0x58, 
       0x08 | 0x02, 0x00, 0xf0, 0x49, 0x02, 0x00, 0xa0, 0xbb, 
       0x10 | 0x0d, 0x00, 0xa6, 0x0e, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0d, 0x01, 0x60, 0x03, 0xe0, 
       0x08 | 0x01, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x80, 0xdd, 
       0x10 | 0x0b, 0x00, 0xa8, 0x0c, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0e, 0x01, 0xc0, 0x03, 0x20, 
       0x08 | 0x02, 0x00, 0x80, 0x7d, 0x02, 0x00, 0x00, 0xf1, 
       0x10 | 0x0e, 0x00, 0xf0, 0x0f, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x0f, 0x01, 0xc0, 0x03, 0xd0, 
       0x08 | 0x02, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0x80, 0xc6, 
       0x10 | 0x13, 0x00, 0x18, 0x15, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x10, 0x01, 0x00, 0x04, 0x40, 
       0x08 | 0x02, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0xe0, 
       0x10 | 0x10, 0x00, 0x00, 0x12, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x11, 0x01, 0xa0, 0x04, 0x90, 
       0x08 | 0x02, 0x00, 0x20, 0xb4, 0x03, 0x00, 0xc0, 0x38, 
       0x10 | 0x16, 0x00, 0xb4, 0x17, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x12, 0x01, 0x00, 0x05, 0xd0, 
       0x08 | 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x5e, 
       0x10 | 0x1a, 0x00, 0x20, 0x1c, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x32
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x32, 0x24, 0x07, 0x13, 0x01, 0x00, 0x05, 0xc0, 
       0x08 | 0x03, 0x00, 0x00, 0xdc, 0x05, 0x00, 0x00, 0x28, 
       0x10 | 0x23, 0x00, 0x80, 0x25, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
       0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
       0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
       0x30 | 0x1e, 0x00


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x0d
       RAW dump: 
       0x00 | 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04



    Interface 1 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0001 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x00c0 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 2
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0002 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0180 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 3
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0003 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 4
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0004 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0280 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 5
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0005 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0320 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 6
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0006 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x03b0 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 7
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0007 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0a80 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 8
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0008 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0b20 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 9
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0009 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0be0 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 10
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x000a 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x1380 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1 Alt 11
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x000b 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x13fc 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x08
      bDescriptorType = 0x0b
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x08, 0x0b, 0x02, 0x02, 0x01, 0x02, 0x00, 0x00



    Interface 2
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0002 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x26, 0x00, 0x01, 
       0x08 | 0x03

      Additional Descriptor

      bLength = 0x0c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 
       0x08 | 0x00, 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x01, 0x05, 
       0x08 | 0x00

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x09, 0x24, 0x06, 0x05, 0x01, 0x01, 0x03, 0x00, 
       0x08 | 0x00


    Interface 3
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>


    Interface 3 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0001 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
       0x08 | 0x80, 0x3e, 0x00


     Endpoint 0
        bLength = 0x0009 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0086  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0044 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00



    Interface 3 Alt 2
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0002 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
       0x08 | 0xc0, 0x5d, 0x00


     Endpoint 0
        bLength = 0x0009 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0086  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0064 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00



    Interface 3 Alt 3
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0003 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
       0x08 | 0x00, 0x7d, 0x00


     Endpoint 0
        bLength = 0x0009 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0086  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0084 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00



    Interface 3 Alt 4
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0004 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0001 
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
       0x08 | 0x80, 0xbb, 0x00


     Endpoint 0
        bLength = 0x0009 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0086  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x00c4 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00

Best regards,
-- 
Th. Thomas.
Comment 11 Hans Petter Selasky 2011-04-11 08:33:29 UTC
On Sunday 10 April 2011 12:03:29 Thierry Thomas wrote:
> Apr 10 12:00:01 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
> Apr 10 12:00:01 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class
> 239/2, rev 2.00/0.10, addr 3> on usbus4 Apr 10 12:00:01 graf kernel:
> uaudio_chan_dump_ep_desc: endpoint=0xc73d3995 bLength=9 bDescriptorType=5
> Apr 10 12:00:01 graf kernel: bEndpointAddress=134 bmAttributes=0x5 Apr 10
> 12:00:01 graf kernel: wMaxPacketSize=196 bInterval=4
> Apr 10 12:00:01 graf kernel: bRefresh=0 bSynchAddress=0

The wMaxPacketSize should be 96 = 2 * 48 and not 196. Maybe your audio device 
delivers data in chunks of data instead of a steady stream. I'll look into it 
later today.

--HPS
Comment 12 Hans Petter Selasky 2011-04-11 08:33:29 UTC
On Sunday 10 April 2011 12:03:29 Thierry Thomas wrote:
> Apr 10 12:00:01 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
> Apr 10 12:00:01 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class
> 239/2, rev 2.00/0.10, addr 3> on usbus4 Apr 10 12:00:01 graf kernel:
> uaudio_chan_dump_ep_desc: endpoint=0xc73d3995 bLength=9 bDescriptorType=5
> Apr 10 12:00:01 graf kernel: bEndpointAddress=134 bmAttributes=0x5 Apr 10
> 12:00:01 graf kernel: wMaxPacketSize=196 bInterval=4
> Apr 10 12:00:01 graf kernel: bRefresh=0 bSynchAddress=0

The wMaxPacketSize should be 96 = 2 * 48 and not 196. Maybe your audio device 
delivers data in chunks of data instead of a steady stream. I'll look into it 
later today.

--HPS
Comment 13 Hans Petter Selasky 2011-04-11 16:47:37 UTC
Hi,

> uaudio_chan_record_callback: transferred 0 bytes Apr 10 14:33:05 graf last
> message repeated 623 times

Your device does not generate any data for recording.

Try setting:

sysctl hw.usb.uaudio.default_rate

To: 16000 or 32000

Then replug your device and re-test.

--HPS
Comment 14 Thierry Thomas freebsd_committer freebsd_triage 2011-04-11 17:27:21 UTC
On mon 11 apr 11 at 17:47:37 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:
> Hi,

Hello,

> > uaudio_chan_record_callback: transferred 0 bytes Apr 10 14:33:05 graf last
> > message repeated 623 times
> 
> Your device does not generate any data for recording.
> 
> Try setting:
> 
> sysctl hw.usb.uaudio.default_rate
> 
> To: 16000 or 32000
> 
> Then replug your device and re-test.

Still no success:

# sysctl hw.usb.uaudio.default_rate=16000
hw.usb.uaudio.default_rate: 0 -> 16000
# dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
dd: /dev/dsp1.0: Invalid argument
0+0 records in
0+0 records out
0 bytes transferred in 5.000237 secs (0 bytes/sec)
# sysctl hw.usb.uaudio.default_rate=32000
hw.usb.uaudio.default_rate: 16000 -> 32000
# dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
dd: /dev/dsp1.0: Invalid argument
0+0 records in
0+0 records out
0 bytes transferred in 5.002866 secs (0 bytes/sec)

In the meantime, the log shows:

Apr 11 18:04:11 graf root: Unknown USB device: vendor 0x0463 product 0xffff bus uhub1
Apr 11 18:20:29 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 11 18:20:29 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 11 18:20:29 graf kernel: uaudio0: No playback!
Apr 11 18:20:29 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 11 18:20:29 graf kernel: uaudio0: No midi sequencer
Apr 11 18:20:29 graf kernel: pcm1: <USB audio> on uaudio0
Apr 11 18:21:25 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
Apr 11 18:21:51 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead

Best regards,
-- 
Th. Thomas.
Comment 15 Hans Petter Selasky 2011-04-11 17:38:16 UTC
On Monday 11 April 2011 18:27:21 Thierry Thomas wrote:
> On mon 11 apr 11 at 17:47:37 +0200, Hans Petter Selasky <hselasky@c2i.net>
> 
>  wrote:
> > Hi,
> 
> Hello,
> 
> > > uaudio_chan_record_callback: transferred 0 bytes Apr 10 14:33:05 graf
> > > last message repeated 623 times
> > 
> > Your device does not generate any data for recording.
> > 
> > Try setting:
> > 
> > sysctl hw.usb.uaudio.default_rate
> > 
> > To: 16000 or 32000
> > 
> > Then replug your device and re-test.
> 
> Still no success:
> 
> # sysctl hw.usb.uaudio.default_rate=16000
> hw.usb.uaudio.default_rate: 0 -> 16000
> # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> dd: /dev/dsp1.0: Invalid argument
> 0+0 records in
> 0+0 records out
> 0 bytes transferred in 5.000237 secs (0 bytes/sec)
> # sysctl hw.usb.uaudio.default_rate=32000

Did you reply the device after setting the sysctl. It should show a different 
rate.

> hw.usb.uaudio.default_rate: 16000 -> 32000
> # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> dd: /dev/dsp1.0: Invalid argument
> 0+0 records in
> 0+0 records out
> 0 bytes transferred in 5.002866 secs (0 bytes/sec)
> 

--HPS
Comment 16 Thierry Thomas freebsd_committer freebsd_triage 2011-04-11 17:59:51 UTC
On mon 11 apr 11 at 18:38:16 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:
> > Still no success:
> > 
> > # sysctl hw.usb.uaudio.default_rate=16000
> > hw.usb.uaudio.default_rate: 0 -> 16000
> > # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > dd: /dev/dsp1.0: Invalid argument
> > 0+0 records in
> > 0+0 records out
> > 0 bytes transferred in 5.000237 secs (0 bytes/sec)
> > # sysctl hw.usb.uaudio.default_rate=32000
> 
> Did you reply the device after setting the sysctl. It should show a different 
> rate.
> 
> > hw.usb.uaudio.default_rate: 16000 -> 32000
> > # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > dd: /dev/dsp1.0: Invalid argument
> > 0+0 records in
> > 0+0 records out
> > 0 bytes transferred in 5.002866 secs (0 bytes/sec)

I had'nt done anything special, but trying again and plug-in / plug-out
after changing hw.usb.uaudio.default_rate shows that it is detected:

Apr 11 18:49:43 graf root: Unknown USB device: vendor 0x046d product 0x0825 bus uhub4
Apr 11 18:49:43 graf last message repeated 4 times
Apr 11 18:49:49 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 11 18:49:49 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 11 18:49:49 graf kernel: uaudio0: No playback!
Apr 11 18:49:49 graf kernel: uaudio0: Record: 16000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 11 18:49:49 graf kernel: uaudio0: No midi sequencer
Apr 11 18:49:49 graf kernel: pcm1: <USB audio> on uaudio0
Apr 11 18:51:53 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
Apr 11 18:52:19 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
Apr 11 18:52:56 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead

Apr 11 18:53:00 graf root: Unknown USB device: vendor 0x046d product 0x0825 bus uhub4
Apr 11 18:53:00 graf kernel: ugen4.3: <vendor 0x046d> at usbus4 (disconnected)
Apr 11 18:53:00 graf kernel: uaudio0: at uhub4, port 8, addr 3 (disconnected)
Apr 11 18:53:00 graf kernel: pcm1: detached
Apr 11 18:53:00 graf root: Unknown USB device: vendor 0x046d product 0x0825 bus uhub4
Apr 11 18:53:00 graf last message repeated 3 times
Apr 11 18:53:04 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
Apr 11 18:53:04 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
Apr 11 18:53:04 graf kernel: uaudio0: No playback!
Apr 11 18:53:04 graf kernel: uaudio0: Record: 32000 Hz, 1 ch, 16-bit S-LE PCM format
Apr 11 18:53:04 graf kernel: uaudio0: No midi sequencer
Apr 11 18:53:04 graf kernel: pcm1: <USB audio> on uaudio0
Apr 11 18:53:23 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead

Best regards,
-- 
Th. Thomas.
Comment 17 Hans Petter Selasky 2011-04-11 18:27:21 UTC
On Monday 11 April 2011 18:59:51 Thierry Thomas wrote:
> On mon 11 apr 11 at 18:38:16 +0200, Hans Petter Selasky <hselasky@c2i.net>
> 
>  wrote:
> > > Still no success:
> > > 
> > > # sysctl hw.usb.uaudio.default_rate=16000
> > > hw.usb.uaudio.default_rate: 0 -> 16000
> > > # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > > dd: /dev/dsp1.0: Invalid argument
> > > 0+0 records in
> > > 0+0 records out
> > > 0 bytes transferred in 5.000237 secs (0 bytes/sec)
> > > # sysctl hw.usb.uaudio.default_rate=32000
> > 
> > Did you reply the device after setting the sysctl. It should show a
> > different rate.
> > 
> > > hw.usb.uaudio.default_rate: 16000 -> 32000
> > > # dd if=/dev/dsp1.0 of=/dev/dsp0.0 bs=64
> > > dd: /dev/dsp1.0: Invalid argument
> > > 0+0 records in
> > > 0+0 records out
> > > 0 bytes transferred in 5.002866 secs (0 bytes/sec)
> 
> I had'nt done anything special, but trying again and plug-in / plug-out
> after changing hw.usb.uaudio.default_rate shows that it is detected:

Could you try the device under another OS and verify if it works at all?

--HPS
Comment 18 Thierry Thomas freebsd_committer freebsd_triage 2011-04-11 20:58:41 UTC
On mon 11 apr 11 at 19:27:21 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> Could you try the device under another OS and verify if it works at all?

I just tested it with a Windows XP, and it works! (Well, the Logitech CD
was necessary for the driver)

Best regards,
-- 
Th. Thomas.
Comment 19 Hans Petter Selasky 2011-04-12 08:46:44 UTC
On Monday 11 April 2011 21:58:41 Thierry Thomas wrote:
> On mon 11 apr 11 at 19:27:21 +0200, Hans Petter Selasky <hselasky@c2i.net>
> 
>  wrote:
> > Could you try the device under another OS and verify if it works at all?
> 
> I just tested it with a Windows XP, and it works! (Well, the Logitech CD
> was necessary for the driver)
> 
> Best regards,

Are you able to capture some traces, like when using the software USB snoopy?

--HPS
Comment 20 Thierry Thomas freebsd_committer freebsd_triage 2011-04-12 17:51:42 UTC
On tue 12 apr 11 at 9:46:44 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> Are you able to capture some traces, like when using the software USB snoopy?

Here is one. Let me know if this is sufficient: I choosed the USB audio
driver, not the webcam's one.

Best regards,
-- 
Th. Thomas.
Comment 21 Thierry Thomas freebsd_committer freebsd_triage 2011-04-16 23:21:34 UTC
Hello,

According to <http://wiki.freebsd.org/WebcamCompat>, there is a
workaround, which is working for olli@ with two webcams and also for
mine:

- firstly, you have to launch webcamd

I do that automatically by adding the following lines in my
/etc/devd.conf:

attach 100 {
	match "vendor" "0x046d";
	match "product" "0x0825";
	action "/usr/local/sbin/webcamd -d ugen4.3 -i 0 -v 0";
};

(replace "0x0825" and ugen4.3 according to dmesg)

- then you have to open the camera device (/dev/video0) by an
application (e.g. pwcview)

- then run the following command:
# usbconfig -d ugenX.Y do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00

Replace "ugenX.Y" with your device, according to the output from dmesg.

That's all!

Regards,
-- 
Th. Thomas.
Comment 22 olli 2011-04-17 16:29:31 UTC
Thierry Thomas wrote:
 > According to <http://wiki.freebsd.org/WebcamCompat>, there is a
 > workaround, which is working for olli@ with two webcams and also for
 > mine:
 > 
 > - firstly, you have to launch webcamd
 > 
 > I do that automatically by adding the following lines in my
 > /etc/devd.conf:
 > 
 > attach 100 {
 >         match "vendor" "0x046d";
 >         match "product" "0x0825";
 >         action "/usr/local/sbin/webcamd -d ugen4.3 -i 0 -v 0";
 > };
 > 
 > (replace "0x0825" and ugen4.3 according to dmesg)
 > 
 > - then you have to open the camera device (/dev/video0) by an
 > application (e.g. pwcview)
 > 
 > - then run the following command:
 > # usbconfig -d ugenX.Y do_request 0x22 0x01 0x100 0x86 0x03 0x80 0xBB 0x00
 > 
 > Replace "ugenX.Y" with your device, according to the output from dmesg.
 > 
 > That's all!

Hans Petter Selasky posted a small patch:

http://lists.freebsd.org/pipermail/freebsd-multimedia/2011-April/011931.html

Would you please give it a try?  With that patch, I do not
need the "usbconfig do_request" command anymore with my
C210 or C310 HD.  I still need to do a "usbconfig reset",
though.

Best regards
   Oliver

-- 
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:  http://www.secnetix.de/bsd

Blogging:  Never before have so many people
with so little to say said so much to so few.
Comment 23 Thierry Thomas freebsd_committer freebsd_triage 2011-04-17 22:44:30 UTC
On sun 17 apr 11 at 17:29:31 +0200, Oliver Fromme <olli@lurza.secnetix.de>
 wrote:

> Hans Petter Selasky posted a small patch:
> 
> http://lists.freebsd.org/pipermail/freebsd-multimedia/2011-April/011931.html
> 
> Would you please give it a try?  With that patch, I do not
> need the "usbconfig do_request" command anymore with my
> C210 or C310 HD.  I still need to do a "usbconfig reset",
> though.

Same here: with this patch, "usbconfig do_request" is not necessary, but
"usbconfig -d ugen4.3 reset" is requested.

Remaining tasks:

- no mic entry shown by "mixer -f /dev/mixer1"

- pwcview is OK, but the webcam is not detected by kopete.

Best regards,
-- 
Th. Thomas.
Comment 24 Hans Petter Selasky 2011-04-18 09:08:49 UTC
On Sunday 17 April 2011 00:21:34 Thierry Thomas wrote:
> Hello,
> 
> According to <http://wiki.freebsd.org/WebcamCompat>, there is a
> workaround, which is working for olli@ with two webcams and also for
> mine:
> 
> - firstly, you have to launch webcamd
> 
> I do that automatically by adding the following lines in my
> /etc/devd.conf:
> 
> attach 100 {
> 	match "vendor" "0x046d";
> 	match "product" "0x0825";
> 	action "/usr/local/sbin/webcamd -d ugen4.3 -i 0 -v 0";
> };

You should use $cdev instead of ugen4.3

--HPS
Comment 25 Thierry Thomas freebsd_committer freebsd_triage 2011-04-18 19:53:48 UTC
On mon 18 apr 11 at 10:08:49 +0200, Hans Petter Selasky <hselasky@c2i.net>
 wrote:

> > - firstly, you have to launch webcamd
> > 
> > I do that automatically by adding the following lines in my
> > /etc/devd.conf:
> > 
> > attach 100 {
> > 	match "vendor" "0x046d";
> > 	match "product" "0x0825";
> > 	action "/usr/local/sbin/webcamd -d ugen4.3 -i 0 -v 0";
> > };
> 
> You should use $cdev instead of ugen4.3

Great! Maybe should you add this in ports/multimedia/webcamd/pkg-descr?

Best regards,
-- 
Th. Thomas.
Comment 26 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:21 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 27 Mark Linimon freebsd_committer freebsd_triage 2023-12-31 02:53:48 UTC
^Triage: close as OBE.

I'm sorry that this PR never got looked at, but by now, 8.X is long out of support