Logitech USB Headset H330 Not Working

Hans Petter Selasky hselasky at c2i.net
Wed Jun 9 15:58:40 UTC 2010


On Wednesday 09 June 2010 13:07:09 Antun Matanović wrote:
> uname -a:
> FreeBSD FreeBSD.desktop.pc 8.1-BETA1 FreeBSD 8.1-BETA1 #0: Thu May 27
> 15:31:50 UTC 2010
> root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
> i386
> 
> cat /dev/sndstat:
> FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
> Installed devices:
> pcm0: <USB audio> (mixer only)
> 
> dmesg:
> ugen5.2: <Logitech> at usbus5
> uaudio0: <Logitech Logitech USB Headset, class 0/0, rev 1.10/1.30, addr 2>
> on usbus5
> uaudio0: No playback!
> uaudio0: No recording!
> uaudio0: No midi sequencer
> pcm0: <USB audio> on uaudio0
> 
> dmesg (sysctl hw.usb.uaudio.debug=15):
> uaudio_mixer_bsd2value: type=0x002 val=-3072 min=-7680 max=0 val=-3072
> uaudio_mixer_bsd2value: type=0x002 val=-3072 min=-7680 max=0 val=-3072
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_bsd2value: type=0x002 val=8192 min=0 max=10240 val=8192
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_bsd2value: type=0x002 val=-2771 min=-7680 max=0 val=-2771
> uaudio_mixer_bsd2value: type=0x002 val=8192 min=0 max=10240 val=8192
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> uaudio_mixer_write_cfg_callback:
> 
> usbconfig -u 5 -a 2 dump_curr_config_desc:
> ugen5.2: <Logitech USB Headset Logitech> at usbus5, cfg=0 md=HOST spd=FULL
> (12Mbps) pwr=ON
> 
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x00d0
>     bNumInterfaces = 0x0003
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x0080
>     bMaxPower = 0x0032
> 
>     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 = 0x0a
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x01
>        RAW dump:
>        0x00 | 0x0a, 0x24, 0x01, 0x00, 0x01, 0x54, 0x00, 0x02,
>        0x08 | 0x01, 0x02
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0c
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x02
>        RAW dump:
>        0x00 | 0x0c, 0x24, 0x02, 0x01, 0x01, 0x01, 0x00, 0x02,
>        0x08 | 0x03, 0x00, 0x00, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0c
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x02
>        RAW dump:
>        0x00 | 0x0c, 0x24, 0x02, 0x03, 0x01, 0x02, 0x00, 0x02,
>        0x08 | 0x03, 0x00, 0x00, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x09
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x03
>        RAW dump:
>        0x00 | 0x09, 0x24, 0x03, 0x02, 0x01, 0x03, 0x00, 0x05,
>        0x08 | 0x00
> 
>       Additional Descriptor
> 
>       bLength = 0x09
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x03
>        RAW dump:
>        0x00 | 0x09, 0x24, 0x03, 0x04, 0x01, 0x01, 0x00, 0x07,
>        0x08 | 0x00
> 
>       Additional Descriptor
> 
>       bLength = 0x0a
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x06
>        RAW dump:
>        0x00 | 0x0a, 0x24, 0x06, 0x05, 0x01, 0x01, 0x01, 0x02,
>        0x08 | 0x02, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0a
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x06
>        RAW dump:
>        0x00 | 0x0a, 0x24, 0x06, 0x06, 0x03, 0x01, 0x03, 0x00,
>        0x08 | 0x00, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0c
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x04
>        RAW dump:
>        0x00 | 0x0c, 0x24, 0x04, 0x07, 0x01, 0x06, 0x02, 0x03,
>        0x08 | 0x00, 0x00, 0x00, 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, 0x01, 0x01, 0x01, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0e
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x02
>        RAW dump:
>        0x00 | 0x0e, 0x24, 0x02, 0x01, 0x02, 0x02, 0x10, 0x02,
>        0x08 | 0x00, 0x7d, 0x00, 0x80, 0x3e, 0x00
> 
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0001  <OUT>
>         bmAttributes = 0x0009  <ADAPT-ISOCHRONOUS>
>         wMaxPacketSize = 0x00c0
>         bInterval = 0x0001
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
>       Additional Descriptor
> 
>       bLength = 0x07
>       bDescriptorType = 0x25
>       bDescriptorSubType = 0x01
>        RAW dump:
>        0x00 | 0x07, 0x25, 0x01, 0x01, 0x01, 0x01, 0x00
> 
> 
> 
>     Interface 2
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0002
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0000
>       bInterfaceClass = 0x0001
>       bInterfaceSubClass = 0x0002
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
> 
> 
>     Interface 2 Alt 1
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0002
>       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, 0x04, 0x01, 0x01, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x0e
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x02
>        RAW dump:
>        0x00 | 0x0e, 0x24, 0x02, 0x01, 0x02, 0x02, 0x10, 0x02,
>        0x08 | 0x00, 0x7d, 0x00, 0x80, 0x3e, 0x00
> 
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0082  <IN>
>         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
>         wMaxPacketSize = 0x00c8
>         bInterval = 0x0001
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
>       Additional Descriptor
> 
>       bLength = 0x07
>       bDescriptorType = 0x25
>       bDescriptorSubType = 0x01
>        RAW dump:
>        0x00 | 0x07, 0x25, 0x01, 0x01, 0x01, 0x01, 0x00
> 
> usbconfig -u 5 -a 2 dump_device_desc:
> ugen5.2: <Logitech USB Headset Logitech> at usbus5, cfg=0 md=HOST spd=FULL
> (12Mbps) pwr=ON
> 
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0110
>   bDeviceClass = 0x0000
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x046d
>   idProduct = 0x0a14
>   bcdDevice = 0x0130
>   iManufacturer = 0x0001  <Logitech>
>   iProduct = 0x0002  <Logitech USB Headset>
>   iSerialNumber = 0x0000  <no string>
>   bNumConfigurations = 0x0001

Hi,

It looks like the audio part of your headset lack some descriptors associated 
with the endpoint descriptors to be detected like a valid audio device? Does 
it work under Linux?

--HPS


More information about the freebsd-usb mailing list