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
Responsible Changed From-To: freebsd-bugs->freebsd-multimedia Over to maintainer(s).
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.
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
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.
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.
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
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
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.
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
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
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.
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
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.
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
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.
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
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.
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.
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.
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.
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
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.
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
^Triage: close as OBE. I'm sorry that this PR never got looked at, but by now, 8.X is long out of support