All of lore.kernel.org
 help / color / mirror / Atom feed
* Jabra SPEAK 410 USB - no audio playback
@ 2011-12-10 14:24 Richard W.M. Jones
  2011-12-10 14:26 ` Richard W.M. Jones
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-10 14:24 UTC (permalink / raw)
  To: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1131 bytes --]


I got one of these rather nice USB conference phones.  It works fine
with Windows/Mac.  ALSA gives the following errors:

[336517.162535] usb 1-1.1: SerialNumber: 0023781E0530x010100
[336517.172419] ALSA sound/usb/stream.c:176 10:1:1 : no or invalid class
specific endpoint descriptor
[336517.177029] ALSA sound/usb/stream.c:176 10:2:1 : no or invalid class
specific endpoint descriptor
[336517.183248] ALSA sound/usb/mixer.c:795 2:0: cannot get min/max values for
control 2 (id 2)
[336517.183350] ALSA sound/usb/mixer.c:795 5:0: cannot get min/max values for
control 2 (id 5)
[336517.236151] input: Jabra SPEAK 410 USB as
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.3/input/input13

The microphone and other features are fine, but there is no playback.

I hope I've attached all possible details about this device, but if
there is anything I've missed out, please let me know.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

[-- Attachment #2: usb.txt --]
[-- Type: text/plain, Size: 40826 bytes --]


Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            3.02
  iManufacturer           3 Linux 3.2.0-0.rc1.git2.1.fc17.x86_64 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:1a.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             3
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
Device Status:     0x0001
  Self Powered

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            3.02
  iManufacturer           3 Linux 3.2.0-0.rc1.git2.1.fc17.x86_64 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:1d.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             3
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0507 highspeed power suspend enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
Device Status:     0x0001
  Self Powered

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
  idProduct          0x0020 Integrated Rate Matching Hub
  bcdDevice            0.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             6
  wHubCharacteristic 0x0089
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0507 highspeed power suspend enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
  idProduct          0x0020 Integrated Rate Matching Hub
  bcdDevice            0.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval              12
Hub Descriptor:
  bLength              11
  bDescriptorType      41
  nNbrPorts             8
  wHubCharacteristic 0x0089
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00 0x00
  PortPwrCtrlMask    0xff 0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0100 power
   Port 7: 0000.0100 power
   Port 8: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 003: ID 17ef:480f Lenovo Integrated Webcam [R5U877]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x17ef Lenovo
  idProduct          0x480f Integrated Webcam [R5U877]
  bcdDevice           23.45
  iManufacturer           1 Chicony Electronics Co., Ltd.
  iProduct                2 Integrated Camera
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          722
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0 
      iFunction               4 Integrated Camera
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0 
      iInterface              4 Integrated Camera
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength           78
        dwClockFrequency       30.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          4
        iTerminal               0 
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x00040a04
          Auto-Exposure Priority
          Zoom (Absolute)
          PanTilt (Absolute)
          Privacy
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 2
        bSourceID               1
        wMaxMultiplier          0
        bControlSize            2
        bmControls     0x0000013f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          Backlight Compensation
        iProcessing             0 
        bmVideoStandards     0x1b
          None
          NTSC - 525/60
          SECAM - 625/50
          NTSC - 625/50
      VideoControl Interface Descriptor:
        bLength                27
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                 3
        guidExtensionCode         {0a3e1874-8254-1a48-b402-48b8b8c49cc8}
        bNumControl            10
        bNrPins                 1
        baSourceID( 0)          2
        bControlSize            2
        bmControls( 0)       0xff
        bmControls( 1)       0x03
        iExtension              0 
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               3
        iTerminal               0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      VideoStreaming Interface Descriptor:
        bLength                            15
        bDescriptorType                    36
        bDescriptorSubtype                  1 (INPUT_HEADER)
        bNumFormats                         2
        wTotalLength                      533
        bEndPointAddress                  130
        bmInfo                              1
        bTerminalLink                       4
        bStillCaptureMethod                 1
        bTriggerSupport                     0
        bTriggerUsage                       0
        bControlSize                        1
        bmaControls( 0)                    27
        bmaControls( 1)                    27
      VideoStreaming Interface Descriptor:
        bLength                            27
        bDescriptorType                    36
        bDescriptorSubtype                  4 (FORMAT_UNCOMPRESSED)
        bFormatIndex                        1
        bNumFrameDescriptors                8
        guidFormat                            {59555932-0000-1000-8000-00aa00389b71}
        bBitsPerPixel                      16
        bDefaultFrameIndex                  1
        bAspectRatioX                       0
        bAspectRatioY                       0
        bmInterlaceFlags                 0x02
          Interlaced stream or variable: No
          Fields per frame: 1 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect                      0
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x01
          Still image supported
        wWidth                            640
        wHeight                           480
        dwMinBitRate                147456000
        dwMaxBitRate                147456000
        dwMaxVideoFrameBufferSize      614400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         2
        bmCapabilities                   0x01
          Still image supported
        wWidth                            352
        wHeight                           288
        dwMinBitRate                 48660480
        dwMaxBitRate                 48660480
        dwMaxVideoFrameBufferSize      202752
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         3
        bmCapabilities                   0x01
          Still image supported
        wWidth                            320
        wHeight                           240
        dwMinBitRate                 36864000
        dwMaxBitRate                 36864000
        dwMaxVideoFrameBufferSize      153600
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         4
        bmCapabilities                   0x01
          Still image supported
        wWidth                            800
        wHeight                           600
        dwMinBitRate                115200000
        dwMaxBitRate                115200000
        dwMaxVideoFrameBufferSize      960000
        dwDefaultFrameInterval         666666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            666666
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         5
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1024
        wHeight                           768
        dwMinBitRate                150994944
        dwMaxBitRate                150994944
        dwMaxVideoFrameBufferSize     1572864
        dwDefaultFrameInterval         833333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            833333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         6
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1280
        wHeight                           720
        dwMinBitRate                110592000
        dwMaxBitRate                110592000
        dwMaxVideoFrameBufferSize     1843200
        dwDefaultFrameInterval        1333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)           1333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         7
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1280
        wHeight                           800
        dwMinBitRate                122880000
        dwMaxBitRate                122880000
        dwMaxVideoFrameBufferSize     2048000
        dwDefaultFrameInterval        1333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)           1333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         8
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1600
        wHeight                          1200
        dwMinBitRate                153600000
        dwMaxBitRate                153600000
        dwMaxVideoFrameBufferSize     3840000
        dwDefaultFrameInterval        2000000
        bFrameIntervalType                  1
        dwFrameInterval( 0)           2000000
      VideoStreaming Interface Descriptor:
        bLength                            11
        bDescriptorType                    36
        bDescriptorSubtype                  6 (FORMAT_MJPEG)
        bFormatIndex                        2
        bNumFrameDescriptors                8
        bFlags                              0
          Fixed-size samples: No
        bDefaultFrameIndex                  1
        bAspectRatioX                       0
        bAspectRatioY                       0
        bmInterlaceFlags                 0x02
          Interlaced stream or variable: No
          Fields per frame: 2 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect                      0
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         1
        bmCapabilities                   0x01
          Still image supported
        wWidth                            640
        wHeight                           480
        dwMinBitRate                221184000
        dwMaxBitRate                221184000
        dwMaxVideoFrameBufferSize      921600
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         2
        bmCapabilities                   0x01
          Still image supported
        wWidth                            352
        wHeight                           288
        dwMinBitRate                 72990720
        dwMaxBitRate                 72990720
        dwMaxVideoFrameBufferSize      304128
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         3
        bmCapabilities                   0x01
          Still image supported
        wWidth                            320
        wHeight                           240
        dwMinBitRate                 55296000
        dwMaxBitRate                 55296000
        dwMaxVideoFrameBufferSize      230400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         4
        bmCapabilities                   0x01
          Still image supported
        wWidth                            800
        wHeight                           600
        dwMinBitRate                345600000
        dwMaxBitRate                345600000
        dwMaxVideoFrameBufferSize     1440000
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         5
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1024
        wHeight                           768
        dwMinBitRate                283115520
        dwMaxBitRate                283115520
        dwMaxVideoFrameBufferSize     2359296
        dwDefaultFrameInterval         666666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            666666
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         6
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1280
        wHeight                           720
        dwMinBitRate                331776000
        dwMaxBitRate                331776000
        dwMaxVideoFrameBufferSize     2764800
        dwDefaultFrameInterval         666666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            666666
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         7
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1280
        wHeight                           800
        dwMinBitRate                368640000
        dwMaxBitRate                368640000
        dwMaxVideoFrameBufferSize     3072000
        dwDefaultFrameInterval         666666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            666666
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         8
        bmCapabilities                   0x01
          Still image supported
        wWidth                           1600
        wHeight                          1200
        dwMinBitRate                691200000
        dwMaxBitRate                691200000
        dwMaxVideoFrameBufferSize     5760000
        dwDefaultFrameInterval         666666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            666666
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0bc8  2x 968 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13ec  3x 1004 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13fc  3x 1020 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 010: ID 0b0e:0410 GN Netcom 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0b0e GN Netcom
  idProduct          0x0410 
  bcdDevice            1.01
  iManufacturer           0 
  iProduct                2 Jabra SPEAK 410 USB
  iSerial                 3 0023781E0530x010100
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          230
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           77
        bInCollection           2
        baInterfaceNr( 0)       1
        baInterfaceNr( 1)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x03
          Mute Control
          Volume Control
        bmaControls( 1)      0x00
        bmaControls( 2)      0x00
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0405 Echo-canceling speakerphone
        bAssocTerminal          4
        bSourceID               2
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0405 Echo-canceling speakerphone
        bAssocTerminal          3
        bNrChannels             1
        wChannelConfig     0x0000
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 5
        bSourceID               4
        bControlSize            1
        bmaControls( 0)      0x03
          Mute Control
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      5 (SELECTOR_UNIT)
        bUnitID                 7
        bNrInPins               1
        baSource( 0)            5
        iSelector               0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             6
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               7
        iTerminal               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  0 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            3 Discrete
        tSamFreq[ 0]         8000
        tSamFreq[ 1]        16000
        tSamFreq[ 2]        48000
      ** UNRECOGNIZED:  07 25 01 81 02 00 00
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x00c0  1x 192 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           6
        bDelay                  0 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             1
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        16000
      ** UNRECOGNIZED:  07 25 01 00 02 00 00
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     273
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Jabra SPEAK 410 USB - no audio playback
  2011-12-10 14:24 Jabra SPEAK 410 USB - no audio playback Richard W.M. Jones
@ 2011-12-10 14:26 ` Richard W.M. Jones
  2011-12-10 16:49 ` Tom Walder
  2011-12-10 19:45   ` Richard W.M. Jones
  2 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-10 14:26 UTC (permalink / raw)
  To: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]


This is alsa-info --stdout output.  I had to compress it to get
around the mailing list 60K limit.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw

[-- Attachment #2: alsa-info.txt.gz --]
[-- Type: application/x-gzip, Size: 7272 bytes --]

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Jabra SPEAK 410 USB - no audio playback
  2011-12-10 14:24 Jabra SPEAK 410 USB - no audio playback Richard W.M. Jones
  2011-12-10 14:26 ` Richard W.M. Jones
@ 2011-12-10 16:49 ` Tom Walder
  2011-12-10 17:23   ` Richard W.M. Jones
  2011-12-10 19:45   ` Richard W.M. Jones
  2 siblings, 1 reply; 12+ messages in thread
From: Tom Walder @ 2011-12-10 16:49 UTC (permalink / raw)
  To: alsa-devel

I have the same problem - the products looks great but no sound!!!


[84634.255183] usbcore: registered new interface driver hiddev
[84634.365746] usbcore: registered new interface driver snd-usb-audio
[84634.413374] input: Jabra SPEAK 410 USB as
/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.3/input/input10
[84634.413697] generic-usb 0003:0B0E:0410.0001: input,hiddev96,hidraw0: USB HID
v1.11 Device [Jabra SPEAK 410 USB] on usb-0000:00:1d.2-1/input3
[84634.413743] usbcore: registered new interface driver usbhid
[84634.413747] usbhid: USB HID core driver
[84635.174212] 2:1:1: endpoint lacks sample rate attribute bit, cannot set.
[84635.179213] 2:2:1: endpoint lacks sample rate attribute bit, cannot set.
[84635.233223] 2:2:1: endpoint lacks sample rate attribute bit, cannot set.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Jabra SPEAK 410 USB - no audio playback
  2011-12-10 16:49 ` Tom Walder
@ 2011-12-10 17:23   ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-10 17:23 UTC (permalink / raw)
  To: Tom Walder; +Cc: alsa-devel


On Sat, Dec 10, 2011 at 04:49:26PM +0000, Tom Walder wrote:
> I have the same problem - the products looks great but no sound!!!
> 
> 
> [84634.255183] usbcore: registered new interface driver hiddev
> [84634.365746] usbcore: registered new interface driver snd-usb-audio
> [84634.413374] input: Jabra SPEAK 410 USB as
> /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.3/input/input10
> [84634.413697] generic-usb 0003:0B0E:0410.0001: input,hiddev96,hidraw0: USB HID
> v1.11 Device [Jabra SPEAK 410 USB] on usb-0000:00:1d.2-1/input3
> [84634.413743] usbcore: registered new interface driver usbhid
> [84634.413747] usbhid: USB HID core driver
> [84635.174212] 2:1:1: endpoint lacks sample rate attribute bit, cannot set.
> [84635.179213] 2:2:1: endpoint lacks sample rate attribute bit, cannot set.
> [84635.233223] 2:2:1: endpoint lacks sample rate attribute bit, cannot set.

The error you're seeing is a bit different from me.

Can you reply with the output of 'lsusb -v'?

I have a suspicion that Linux is fine and that the USB descriptor for
the device is bad.  My device has an Endpoint descriptor with
bDescriptorType 0x25, which seems to be an invalid value (should be 0x5).

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] Jabra SPEAK 410 USB - no audio playback
  2011-12-10 14:24 Jabra SPEAK 410 USB - no audio playback Richard W.M. Jones
@ 2011-12-10 19:45   ` Richard W.M. Jones
  2011-12-10 16:49 ` Tom Walder
  2011-12-10 19:45   ` Richard W.M. Jones
  2 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-10 19:45 UTC (permalink / raw)
  To: alsa-devel; +Cc: Tom Walder, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1176 bytes --]


The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.

The problem, as I understand it, is that the device contains a
Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
(ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
only appear after ENDPOINT.  Therefore the USB code divides up the
interface descriptor into "stuff before ENDPOINT" (in
interface->extra) and "stuff after ENDPOINT" (in
interface->endpoint[0]->extra).  For this device, this division does
not work.

You can see lsusb for my device here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047036.html
Notice the "** UNRECOGNIZED: 07 25 01 81 02 00 00" line which is the
CS_ENDPOINT descriptor.

The solution (which is a hack ...) is to also search interface->extra
looking for the missing descriptor.

For me, this fully enables the functions of this device.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora

[-- Attachment #2: linux-3.1.fc16-jabra.patch --]
[-- Type: text/plain, Size: 926 bytes --]

diff -uNrp kernel-3.1.fc16.orig/sound/usb/stream.c kernel-3.1.fc16.new/sound/usb/stream.c
--- kernel-3.1.fc16.orig/sound/usb/stream.c	2011-12-10 18:03:29.658729051 +0000
+++ kernel-3.1.fc16.new/sound/usb/stream.c	2011-12-10 18:08:41.468694907 +0000
@@ -164,6 +164,12 @@ static int parse_uac_endpoint_attributes
 
 	csep = snd_usb_find_desc(alts->endpoint[0].extra, alts->endpoint[0].extralen, NULL, USB_DT_CS_ENDPOINT);
 
+	/* Jabra SPEAK 410 USB has CS_ENDPOINT before ordinary ENDPOINT,
+	 * which confuses the USB descriptor parsing code.  Try looking
+	 * for CS_ENDPOINT in the interface->extra - RWMJ. */
+	if (!csep)
+		csep = snd_usb_find_desc(alts->extra, alts->extralen, NULL, USB_DT_CS_ENDPOINT);
+
 	/* Creamware Noah has this descriptor after the 2nd endpoint */
 	if (!csep && altsd->bNumEndpoints >= 2)
 		csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT);

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] Jabra SPEAK 410 USB - no audio playback
@ 2011-12-10 19:45   ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-10 19:45 UTC (permalink / raw)
  To: alsa-devel; +Cc: Tom Walder, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1176 bytes --]


The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.

The problem, as I understand it, is that the device contains a
Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
(ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
only appear after ENDPOINT.  Therefore the USB code divides up the
interface descriptor into "stuff before ENDPOINT" (in
interface->extra) and "stuff after ENDPOINT" (in
interface->endpoint[0]->extra).  For this device, this division does
not work.

You can see lsusb for my device here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047036.html
Notice the "** UNRECOGNIZED: 07 25 01 81 02 00 00" line which is the
CS_ENDPOINT descriptor.

The solution (which is a hack ...) is to also search interface->extra
looking for the missing descriptor.

For me, this fully enables the functions of this device.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora

[-- Attachment #2: linux-3.1.fc16-jabra.patch --]
[-- Type: text/plain, Size: 926 bytes --]

diff -uNrp kernel-3.1.fc16.orig/sound/usb/stream.c kernel-3.1.fc16.new/sound/usb/stream.c
--- kernel-3.1.fc16.orig/sound/usb/stream.c	2011-12-10 18:03:29.658729051 +0000
+++ kernel-3.1.fc16.new/sound/usb/stream.c	2011-12-10 18:08:41.468694907 +0000
@@ -164,6 +164,12 @@ static int parse_uac_endpoint_attributes
 
 	csep = snd_usb_find_desc(alts->endpoint[0].extra, alts->endpoint[0].extralen, NULL, USB_DT_CS_ENDPOINT);
 
+	/* Jabra SPEAK 410 USB has CS_ENDPOINT before ordinary ENDPOINT,
+	 * which confuses the USB descriptor parsing code.  Try looking
+	 * for CS_ENDPOINT in the interface->extra - RWMJ. */
+	if (!csep)
+		csep = snd_usb_find_desc(alts->extra, alts->extralen, NULL, USB_DT_CS_ENDPOINT);
+
 	/* Creamware Noah has this descriptor after the 2nd endpoint */
 	if (!csep && altsd->bNumEndpoints >= 2)
 		csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT);

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [alsa-devel] [PATCH] Jabra SPEAK 410 USB - no audio playback
  2011-12-10 19:45   ` Richard W.M. Jones
@ 2011-12-13 22:14     ` Richard W.M. Jones
  -1 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-13 22:14 UTC (permalink / raw)
  To: alsa-devel; +Cc: linux-kernel

On Sat, Dec 10, 2011 at 07:45:39PM +0000, Richard W.M. Jones wrote:

> diff -uNrp kernel-3.1.fc16.orig/sound/usb/stream.c kernel-3.1.fc16.new/sound/usb/stream.c
> --- kernel-3.1.fc16.orig/sound/usb/stream.c	2011-12-10 18:03:29.658729051 +0000
> +++ kernel-3.1.fc16.new/sound/usb/stream.c	2011-12-10 18:08:41.468694907 +0000
> @@ -164,6 +164,12 @@ static int parse_uac_endpoint_attributes
>  
>  	csep = snd_usb_find_desc(alts->endpoint[0].extra, alts->endpoint[0].extralen, NULL, USB_DT_CS_ENDPOINT);
>  
> +	/* Jabra SPEAK 410 USB has CS_ENDPOINT before ordinary ENDPOINT,
> +	 * which confuses the USB descriptor parsing code.  Try looking
> +	 * for CS_ENDPOINT in the interface->extra - RWMJ. */
> +	if (!csep)
> +		csep = snd_usb_find_desc(alts->extra, alts->extralen, NULL, USB_DT_CS_ENDPOINT);
> +
>  	/* Creamware Noah has this descriptor after the 2nd endpoint */
>  	if (!csep && altsd->bNumEndpoints >= 2)
>  		csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT);


Anyone?  Tested on two different machines and it fixes the
audio output problem on both ...  If I've sent this to the
wrong list please let me know.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Jabra SPEAK 410 USB - no audio playback
@ 2011-12-13 22:14     ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-13 22:14 UTC (permalink / raw)
  To: alsa-devel; +Cc: linux-kernel

On Sat, Dec 10, 2011 at 07:45:39PM +0000, Richard W.M. Jones wrote:

> diff -uNrp kernel-3.1.fc16.orig/sound/usb/stream.c kernel-3.1.fc16.new/sound/usb/stream.c
> --- kernel-3.1.fc16.orig/sound/usb/stream.c	2011-12-10 18:03:29.658729051 +0000
> +++ kernel-3.1.fc16.new/sound/usb/stream.c	2011-12-10 18:08:41.468694907 +0000
> @@ -164,6 +164,12 @@ static int parse_uac_endpoint_attributes
>  
>  	csep = snd_usb_find_desc(alts->endpoint[0].extra, alts->endpoint[0].extralen, NULL, USB_DT_CS_ENDPOINT);
>  
> +	/* Jabra SPEAK 410 USB has CS_ENDPOINT before ordinary ENDPOINT,
> +	 * which confuses the USB descriptor parsing code.  Try looking
> +	 * for CS_ENDPOINT in the interface->extra - RWMJ. */
> +	if (!csep)
> +		csep = snd_usb_find_desc(alts->extra, alts->extralen, NULL, USB_DT_CS_ENDPOINT);
> +
>  	/* Creamware Noah has this descriptor after the 2nd endpoint */
>  	if (!csep && altsd->bNumEndpoints >= 2)
>  		csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT);


Anyone?  Tested on two different machines and it fixes the
audio output problem on both ...  If I've sent this to the
wrong list please let me know.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [alsa-devel] [PATCH] Jabra SPEAK 410 USB - no audio playback
  2011-12-10 19:45   ` Richard W.M. Jones
@ 2011-12-16 13:49     ` Clemens Ladisch
  -1 siblings, 0 replies; 12+ messages in thread
From: Clemens Ladisch @ 2011-12-16 13:49 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: alsa-devel, Tom Walder, linux-kernel

Richard W.M. Jones wrote:
> The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.
>
> The problem, as I understand it, is that the device contains a
> Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
> (ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
> only appear after ENDPOINT.  Therefore the USB code divides up the
> interface descriptor into "stuff before ENDPOINT" (in
> interface->extra) and "stuff after ENDPOINT" (in
> interface->endpoint[0]->extra).  For this device, this division does
> not work.
>
> The solution (which is a hack ...) is to also search interface->extra
> looking for the missing descriptor.

The patch looks good.  Please run it through checkpatch.pl and provice
a Signed-off-by tag (see Documentation/SubmittingPatches).


Regards,
Clemens

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Jabra SPEAK 410 USB - no audio playback
@ 2011-12-16 13:49     ` Clemens Ladisch
  0 siblings, 0 replies; 12+ messages in thread
From: Clemens Ladisch @ 2011-12-16 13:49 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: Tom Walder, alsa-devel, linux-kernel

Richard W.M. Jones wrote:
> The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.
>
> The problem, as I understand it, is that the device contains a
> Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
> (ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
> only appear after ENDPOINT.  Therefore the USB code divides up the
> interface descriptor into "stuff before ENDPOINT" (in
> interface->extra) and "stuff after ENDPOINT" (in
> interface->endpoint[0]->extra).  For this device, this division does
> not work.
>
> The solution (which is a hack ...) is to also search interface->extra
> looking for the missing descriptor.

The patch looks good.  Please run it through checkpatch.pl and provice
a Signed-off-by tag (see Documentation/SubmittingPatches).


Regards,
Clemens

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [alsa-devel] [PATCH] Jabra SPEAK 410 USB - no audio playback
  2011-12-16 13:49     ` Clemens Ladisch
@ 2011-12-16 19:12       ` Richard W.M. Jones
  -1 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-16 19:12 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel, Tom Walder, linux-kernel

On Fri, Dec 16, 2011 at 02:49:05PM +0100, Clemens Ladisch wrote:
> Richard W.M. Jones wrote:
> > The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.
> >
> > The problem, as I understand it, is that the device contains a
> > Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
> > (ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
> > only appear after ENDPOINT.  Therefore the USB code divides up the
> > interface descriptor into "stuff before ENDPOINT" (in
> > interface->extra) and "stuff after ENDPOINT" (in
> > interface->endpoint[0]->extra).  For this device, this division does
> > not work.
> >
> > The solution (which is a hack ...) is to also search interface->extra
> > looking for the missing descriptor.
> 
> The patch looks good.  Please run it through checkpatch.pl and provice
> a Signed-off-by tag (see Documentation/SubmittingPatches).

Sorry, I should have followed up on this list ...

Tom (in the CC line) opened a bug with Jabra, and they have issued a
firmware update.  Unfortunately this update requires some Windows
software to run.  I applied this, and it does appear to fix the audio
playback problem, though curiously it doesn't completely fix the
ENDPOINT/CS_ENDPOINT problem, so who knows what's really going on
there.

Anyway, should you want the update it is here:

https://bugzilla.redhat.com/show_bug.cgi?id=766714#c1

Thanks Tom!

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Jabra SPEAK 410 USB - no audio playback
@ 2011-12-16 19:12       ` Richard W.M. Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Richard W.M. Jones @ 2011-12-16 19:12 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: Tom Walder, alsa-devel, linux-kernel

On Fri, Dec 16, 2011 at 02:49:05PM +0100, Clemens Ladisch wrote:
> Richard W.M. Jones wrote:
> > The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.
> >
> > The problem, as I understand it, is that the device contains a
> > Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint
> > (ENDPOINT) descriptor.  The USB code all assumes that CS_ENDPOINT can
> > only appear after ENDPOINT.  Therefore the USB code divides up the
> > interface descriptor into "stuff before ENDPOINT" (in
> > interface->extra) and "stuff after ENDPOINT" (in
> > interface->endpoint[0]->extra).  For this device, this division does
> > not work.
> >
> > The solution (which is a hack ...) is to also search interface->extra
> > looking for the missing descriptor.
> 
> The patch looks good.  Please run it through checkpatch.pl and provice
> a Signed-off-by tag (see Documentation/SubmittingPatches).

Sorry, I should have followed up on this list ...

Tom (in the CC line) opened a bug with Jabra, and they have issued a
firmware update.  Unfortunately this update requires some Windows
software to run.  I applied this, and it does appear to fix the audio
playback problem, though curiously it doesn't completely fix the
ENDPOINT/CS_ENDPOINT problem, so who knows what's really going on
there.

Anyway, should you want the update it is here:

https://bugzilla.redhat.com/show_bug.cgi?id=766714#c1

Thanks Tom!

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-12-16 19:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-10 14:24 Jabra SPEAK 410 USB - no audio playback Richard W.M. Jones
2011-12-10 14:26 ` Richard W.M. Jones
2011-12-10 16:49 ` Tom Walder
2011-12-10 17:23   ` Richard W.M. Jones
2011-12-10 19:45 ` [PATCH] " Richard W.M. Jones
2011-12-10 19:45   ` Richard W.M. Jones
2011-12-13 22:14   ` [alsa-devel] " Richard W.M. Jones
2011-12-13 22:14     ` Richard W.M. Jones
2011-12-16 13:49   ` [alsa-devel] " Clemens Ladisch
2011-12-16 13:49     ` Clemens Ladisch
2011-12-16 19:12     ` [alsa-devel] " Richard W.M. Jones
2011-12-16 19:12       ` Richard W.M. Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.