# USB microphone



## expl (Dec 7, 2009)

I have a Logitech USB microphone that was working perfectly fine on 7.2, but now it fails on 8.0

Here is some info...

uname -a:

```
FreeBSD expl.box 8.0-STABLE FreeBSD 8.0-STABLE #0: Sun Dec  6 05:17:17 GMT 2009     expl@expl.box:/usr/obj/usr/src/sys/EXPL_KERNEL  amd64
```

cat /dev/sndstat:

```
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA Unknown Codec PCM #0 Analog> at cad 1 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:4v/1r:2v channels duplex default)
pcm1: <HDA Unknown Codec PCM #1 Analog> at cad 1 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm2: <HDA Unknown Codec PCM #2 Digital> at cad 1 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/1r:2v channels duplex)
pcm3: <USB audio> at ? kld snd_uaudio [MPSAFE] (mixer only)
```

dmesg:

```
ugen0.2: <vendor 0x0556> at usbus0
uaudio0: <vendor 0x0556 product 0x0001, class 0/0, rev 1.10/0.01, addr 2> on usbus0
uaudio0: No playback!
uaudio0: No recording!
uaudio0: No midi sequencer
pcm3: <USB audio> on uaudio0
```

dmesg with sysctl hw.usb.uaudio.debug=15:

```
ugen0.2: <vendor 0x0556> at usbus0
uaudio0: <vendor 0x0556 product 0x0001, class 0/0, rev 1.10/0.01, addr 2> on usbus0
uaudio_mixer_fill_info:2728: found AC header, vers=100, len=29
uaudio_mixer_fill_info:2766: Maximum ID=3
uaudio_mixer_fill_info:2802: id 3:
uaudio_mixer_fill_info:2835:  - AC_FEATURE src=1
uaudio_mixer_fill_info:2859: Inputs to this ID are:
uaudio_mixer_fill_info:2864:   -- ID=1
uaudio_mixer_fill_info:2868: Outputs from this ID are:
uaudio_mixer_fill_info:2802: id 2:
uaudio_mixer_fill_info:2816:  - AC_OUTPUT type=UAT_STREAM src=3
uaudio_mixer_fill_info:2859: Inputs to this ID are:
uaudio_mixer_fill_info:2864:   -- ID=1
uaudio_mixer_fill_info:2868: Outputs from this ID are:
uaudio_mixer_fill_info:2802: id 1:
uaudio_mixer_fill_info:2808:  - AC_INPUT type=UATI_MICROPHONE
uaudio_mixer_dump_cluster:2212: cluster: bNrChannels=0 iChannelNames=1 wChannelConfig=0x0000:
uaudio_mixer_fill_info:2859: Inputs to this ID are:
uaudio_mixer_fill_info:2864:   -- ID=1
uaudio_mixer_fill_info:2868: Outputs from this ID are:
uaudio_mixer_fill_info:2873:   -- ID=2
uaudio_mixer_fill_info:2893: id=3 subtype=6
uaudio_mixer_add_feature:1869: ctl=1 fumask=0x0001
uaudio_mixer_feature_name:2550: terminal_type=UATI_MICROPHONE (0x0201) -> 7
uaudio_mixer_add_ctl:1589: adding inputs.25
uaudio_mixer_add_ctl:1632: [mix] wValue=0100
uaudio_mixer_add_ctl:1637: [mix] wIndex=0300 type=1 ctl='25' min=0 max=1
uaudio_mixer_add_feature:1869: ctl=2 fumask=0x0002
uaudio_mixer_feature_name:2550: terminal_type=UATI_MICROPHONE (0x0201) -> 7
uaudio_mixer_add_ctl:1589: adding inputs.7
uaudio_mixer_get:2974: val=50688
uaudio_mixer_get:2974: val=5120
uaudio_mixer_get:2974: val=256
uaudio_mixer_add_ctl:1632: [mix] wValue=0200
uaudio_mixer_add_ctl:1637: [mix] wIndex=0300 type=2 ctl='7' min=-14848 max=5121
uaudio_mixer_add_feature:1869: ctl=3 fumask=0x0004
uaudio_mixer_add_feature:1869: ctl=4 fumask=0x0008
uaudio_mixer_add_feature:1869: ctl=5 fumask=0x0010
uaudio_mixer_add_feature:1869: ctl=6 fumask=0x0020
uaudio_mixer_add_feature:1869: ctl=7 fumask=0x0040
uaudio_mixer_add_feature:1869: ctl=8 fumask=0x0080
uaudio_mixer_add_feature:1869: ctl=9 fumask=0x0100
uaudio_mixer_add_feature:1869: ctl=10 fumask=0x0200
uaudio_mixer_fill_info:2893: id=2 subtype=3
uaudio_mixer_add_output:1668: bTerminalId=2 wTerminalType=0x0101 bAssocTerminal=1 bSourceId=3 iTerminal=0
uaudio_mixer_fill_info:2893: id=1 subtype=2
uaudio_mixer_add_input:1654: bTerminalId=1 wTerminalType=0x0201 bAssocTerminal=2 bNrChannels=1 wChannelConfig=0 iChannelNames=0
uaudio_attach:608: audio rev 1.00
uaudio_attach:611: 2 mixer controls
uaudio0: No playback!
uaudio0: No recording!
uaudio0: No midi sequencer
uaudio_attach:641: doing child attach
pcm3: <USB audio> on uaudio0
uaudio_attach_sub:686: emulating master volume
uaudio_mixer_init_sub:3165: 
uaudio_mixer_bsd2value:3115: type=0x002 val=-14770 min=-14848 max=5121 val=-14770
uaudio_mixer_write_cfg_callback:2992: 
uaudio_mixer_write_cfg_callback:2992:
```

usbconfig -u 0 -a 2 dump_curr_config_desc :


```
ugen0.2: <product 0x0001 vendor 0x0556> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0076 
    bNumInterfaces = 0x0002 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x002d 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      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 | 0x01

      Additional Descriptor

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


      Additional Descriptor

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

      Additional Descriptor

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



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


    Interface 1 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      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, 0x02, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x17
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x17, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x05, 
       0x08 | 0x40, 0x1f, 0x00, 0x11, 0x2b, 0x00, 0x22, 0x56, 
       0x10 | 0x00, 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081 
        bmAttributes = 0x0001 
        wMaxPacketSize = 0x0064 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

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


----------



## lme@ (Dec 11, 2009)

Please report this to freebsd-multimedia@, I guess your device needs a quirk.


----------

