28 Jun, 2013

5 commits

  • This patch is adding extensive support (beside standard usb audio class)
    for Audio Advantage Micro II usb sound card.
    Features included:
    - Access to AES bits (so now sending the IEC61937 compliant stream is
    possible).
    - Mixer SPDIF control added to turn on/off the optical transmitter.

    Signed-off-by: Przemek Rudy
    Signed-off-by: Takashi Iwai

    Przemek Rudy
     
  • For adding support for many Roland and Yamaha devices:
    * 'full-roland-support' of git://git.alsa-project.org/alsa-kprivate:
    ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
    ALSA: usb-audio: claim autodetected PCM interfaces all at once
    ALSA: usb-audio: remove superfluous Roland quirks
    ALSA: usb-audio: add MIDI port names for some Roland devices
    ALSA: usb-audio: add support for many Roland/Yamaha devices
    ALSA: usb-audio: detect implicit feedback on Roland devices
    ALSA: usb-audio: store protocol version in struct audioformat

    Takashi Iwai
     
  • The Roland Quad/Octo-Capture devices use some unknown vendor-specific
    mechanism to switch sample rates (and to manage other controls). To
    prevent the driver from attempting to use any other than the default
    44.1 kHz sample rate, use quirks to hide the other alternate settings.

    Signed-off-by: Clemens Ladisch

    Clemens Ladisch
     
  • Remove all quirks that are no longer needed now that the generic Roland
    quirks can handle the vendor-specific descriptors correctly.

    Signed-off-by: Clemens Ladisch

    Clemens Ladisch
     
  • Add quirks to detect the various vendor-specific descriptors used by
    Roland and Yamaha in most of their recent USB audio and MIDI devices.

    Together with the previous patch, this should add audio/MIDI support for
    the following USB devices:
    - Edirol motion dive .tokyo performance package
    - Roland MC-808 Synthesizer
    - Roland BK-7m Synthesizer
    - Roland VIMA JM-5/8 Synthesizer
    - Roland SP-555 Sequencer
    - Roland V-Synth GT Synthesizer
    - Roland Music Atelier AT-75/100/300/350C/500/800/900/900C Organ
    - Edirol V-Mixer M-200i/300/380/400/480/R-1000
    - BOSS GT-10B Effects Processor
    - Roland Fantom G6/G7/G8 Keyboard
    - Cakewalk Sonar V-Studio 20/100/700 Audio Interface
    - Roland GW-8 Keyboard
    - Roland AX-Synth Keyboard
    - Roland JUNO-Di/STAGE/Gi Keyboard
    - Roland VB-99 Effects Processor
    - Cakewalk UM-2G MIDI Interface
    - Roland A-500S Keyboard
    - Roland SD-50 Synthesizer
    - Roland OCTAPAD SPD-30 Controller
    - Roland Lucina AX-09 Synthesizer
    - BOSS BR-800 Digital Recorder
    - Roland DUO/TRI-CAPTURE (EX) Audio Interface
    - BOSS RC-300 Loop Station
    - Roland JUPITER-50/80 Keyboard
    - Roland R-26 Recorder
    - Roland SPD-SX Controller
    - BOSS JS-10 Audio Player
    - Roland TD-11/15/30 Drum Module
    - Roland A-49/88 Keyboard
    - Roland INTEGRA-7 Synthesizer
    - Roland R-88 Recorder

    Signed-off-by: Clemens Ladisch

    Clemens Ladisch
     

04 Jun, 2013

1 commit


03 Jun, 2013

1 commit

  • Commit 927c9423dd5f2d1c0b93d5e694ab84b4a5559713 (ALSA: usb-audio: add
    Edirol UM-3G support) used a wrong quirk type, which would make the
    driver refuse to attach with the error message "MIDIStreaming interface
    descriptor not found".

    Cc: # 3.3 and later
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

25 Apr, 2013

3 commits


18 Mar, 2013

2 commits

  • The maxpacksize field is given in some quirks, but it gets ignored (in
    favour of wMaxPacketSize from the first endpoint.) This patch favours
    the one in the quirk.

    Digidesign Mbox and Mbox 2 are the only affected quirks and the devices
    are assumed to be working without this patch. So for safety against the
    values in the quirk being incorrect, remove them.

    The datainterval is also ignored but there are not currently any quirks
    which choose to override this.

    Cc: Damien Zammit
    Cc: Chris J Arges
    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • The hardware also has a PCM capture device which is not implemented in
    this patch.

    It may be possible to generalise this to Saffire 6 USB support and some
    of the other Focusrite interfaces, but as I don't have access to these
    devices we should wait until capture support is working first.

    Capture support is not implemented because the code assumes the endpoint
    to have its own interface (instead, it shares the interface with playback)
    and some thought will be needed to lift this limitation.

    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     

11 Feb, 2013

1 commit

  • Adds quirks and mixer support for the M-Audio Fast Track C600 USB
    audio interface. This device is very similar to the C400 - the C600
    simply has some more inputs and outputs, so the existing C400 support
    is extended to support this device as well.

    Signed-off-by: Matt Gruskin
    Signed-off-by: Takashi Iwai

    Matt Gruskin
     

01 Feb, 2013

1 commit


14 Jan, 2013

1 commit

  • Taking another look at the C400 descriptors, I see now that there is
    a clock selector (0x80) for this device.
    Right now, the clock source points to the internal clock (0x81), which
    is also valid. When the external clock source (0x82) is selected in the
    mixer, and the rates mismatch (if it's free-running it is fixed to
    48KHz), xruns will occur.

    Set the clock ID to the clock selector unit (0x81), which then
    allows the validation code to function correctly.

    Signed-off-by: Eldad Zack
    Signed-off-by: Takashi Iwai

    Eldad Zack
     

04 Jan, 2013

1 commit

  • This patch is based on 3.8-rc1. It fixes two things:
    1) A kernel panic caused by incorrect allocation of a u8 variable
    "bootresponse".
    2) A noisy dmesg (urb status -32) caused by broken pipe to an
    invalid midi endpoint.

    It is also a little cleaner because there is no need for a new
    QUIRK_MIDI type as suggested by kernel developers, since the device
    follows exactly the MIDIMAN protocol.

    Signed-off-by: Damien Zammit
    Signed-off-by: Takashi Iwai

    Damien Zammit
     

03 Jan, 2013

1 commit

  • Support the Creative BT-D1 Bluetooth USB audio device. Before this
    patch, Linux had trouble finding the correct USB descriptors and bailed
    out with these messages:

    no or invalid class specific endpoint descriptor

    Now it still prints these messages on hotplug:

    snd-usb-audio: probe of ...:1.0 failed with error -5
    snd-usb-audio: probe of ...:1.2 failed with error -5
    snd-usb-audio: probe of ...:1.3 failed with error -5

    But the device works correctly, including the HID support.

    The patch is diff'ed against 3.8-rc1 but should apply to older kernels
    as well.

    Signed-off-by: Alexander Schremmer
    Signed-off-by: Takashi Iwai

    Alexander Schremmer
     

19 Dec, 2012

1 commit

  • This patch is the result of a lot of trial and error, since there are no specs
    available for the device.

    Full duplex support is provided, i.e. playback and recording in stereo.
    The format is hardcoded at 48000Hz @ 24 bit, which is the maximum that the
    device supports. Also, MIDI in and MIDI out both work.

    Users will notice that the S/PDIF light also flashes when playback or recording
    is active. I believe this means that S/PDIF input/output is simultaneously
    activated with the analogue i/o during use.
    But this particular functionality remains untested.

    Note that this particular version of the patch is so far untested on the
    physical hardware because I have not compiled a full kernel with the changes.
    However, extensive testing has been done by many users of the hardware
    who believe other versions of my patch have worked since circa 2009.

    [Modified to make a function static by tiwai]

    Signed-off-by: Damien Zammit
    Signed-off-by: Takashi Iwai

    Damien Zammit
     

15 Dec, 2012

1 commit

  • As Joe Cooper reported, "On most HP Envy laptops
    the snd-usb-audio module causes the system to become unresponsive and
    Gnome Shell 3 to crash.".
    See also:
    http://mailman.alsa-project.org/pipermail/alsa-devel/2012-December/057729.html

    Add a quirk to ignore this device (for now) to solve the instability
    issue and allow other USB audio devices to be used.

    Reported-by: Joe Cooper
    Tested-by: Isaac Smith
    Signed-off-by: Eldad Zack
    Signed-off-by: Takashi Iwai

    Eldad Zack
     

29 Nov, 2012

1 commit

  • Adds a quirks table for the M-Audio Fast Track C400.
    Thanks to Clemens Ladisch for pointing out that
    the table must be sorted.

    Based on the following patch from the alsa-devel list:
    http://mailman.alsa-project.org/pipermail/alsa-devel/2012-May/051676.html

    See also:
    http://mailman.alsa-project.org/pipermail/alsa-devel/2012-April/051219.html

    Signed-off-by: Eldad Zack
    Signed-off-by: Takashi Iwai

    Eldad Zack
     

13 Nov, 2012

1 commit

  • Probing this device currently fails in snd_usb_audio_probe() because
    the call to snd_usb_create_mixer() fails. This is due to unknown or
    non-standard interface descriptor subtypes in parse_audio_unit():

    usbaudio: unit 51: unexpected type 0x09
    snd-usb-audio: probe of 1-8:1.0 failed with error -5

    Some people are working around this by recompiling usb-audio with the
    call to snd_usb_create_mixer() commented out. It would be nice to
    avoid that.

    While the best idea would be to look into the mixer creation failure,
    a reasonable short-term solution is to use quirks to only probe the
    trouble-free interfaces. This allows audio and MIDI interfaces to be
    used without any obvious issues.

    Interface 0 is the main one to ignore. It contains lots of
    control-fu, including the unexpected interface descriptor subtypes.
    Interface 5 is for firmware updates and I'm not sure how to get
    support for this. Interface 3 is some sort of control interface that
    I don't understand:

    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 3
    bAlternateSetting 0
    bNumEndpoints 0
    bInterfaceClass 1 Audio
    bInterfaceSubClass 1 Control Device
    bInterfaceProtocol 0
    iInterface 0
    AudioControl Interface Descriptor:
    bLength 9
    bDescriptorType 36
    bDescriptorSubtype 1 (HEADER)
    bcdADC 1.00
    wTotalLength 9
    bInCollection 1
    baInterfaceNr( 0) 1

    Signed-off-by: Martin Schwenke
    Signed-off-by: Takashi Iwai

    Martin Schwenke
     

23 Oct, 2012

1 commit


21 Oct, 2012

1 commit

  • Without this quirk the VG-99 will work in standard mode (set under
    USB on System menu page 2) giving 16 bits at 44.1 Khz audio in/out
    but no midi, and is not recognised when set to advanced mode.

    After applying this, I can also use the VG-99 in advanced mode: 24
    24 bits audio in/out at 44.1 Khz, and midi in/out. Sysex is so far
    untested.

    In standard mode, the device appears with ID 0x00b3, so the
    behaviour isn't affected by this quirk.

    Thanks to Clemens Ladisch for simplifying and correcting my initial
    attempt!

    Signed-off-by: Pete Leigh
    Signed-off-by: Takashi Iwai

    Pete Leigh
     

08 Oct, 2012

1 commit


03 Sep, 2012

1 commit


25 Jun, 2012

1 commit


08 Feb, 2012

1 commit


11 Jan, 2012

1 commit


12 Dec, 2011

1 commit


29 Nov, 2011

1 commit


16 Sep, 2011

1 commit


26 Aug, 2011

1 commit


10 Aug, 2011

1 commit


05 Aug, 2011

1 commit


22 Jul, 2011

1 commit

  • Add support for Roland/BOSS BR-800 (0582:011e) to snd-usb-audio driver.

    This allows playback and recording, which has been tested and found to
    work. The third interface should be MIDI (MTC/SMPTE?) for DAW interface
    and is set as per ME-25, but this has not been tested. SDHC card access
    is already supported by usb-storage for Backup/Rhythm Editor/Wave
    Convertor mode which should not conflict with this.

    Signed-off-by: David G Turner
    Signed-off-by: Takashi Iwai

    David G Turner
     

25 May, 2011

1 commit


18 May, 2011

4 commits