1. 19 10月, 2015 1 次提交
    • R
      ALSA: USB-audio: Add quirk for Zoom R16/24 playback · e0570446
      Ricard Wanderlof 提交于
      The Zoom R16/24 have a nonstandard playback format where each isochronous
      packet contains a length descriptor in the first four bytes. (Curiously,
      capture data does not contain this and requires no quirk.)
      
      The quirk involves adding the extra length descriptor whenever outgoing
      isochronous packets are generated, both in pcm.c (outgoing audio) and
      endpoint.c (silent data).
      
      In order to make the quirk as unintrusive as possible, for
      pcm.c:prepare_playback_urb(), the isochronous packet descriptors are
      initially set up in the same way no matter if the quirk is enabled or not.
      Once it is time to actually copy the data into the outgoing packet buffer
      (together with the added length descriptors) the isochronous descriptors
      are adjusted in order take the increased payload length into account.
      
      For endpoint.c:prepare_silent_urb() it makes more sense to modify the
      actual function, partly because the function is less complex to start with
      and partly because it is not as time-critical as prepare_playback_urb()
      (whose bulk is run with interrupts disabled), so the (minute) additional
      time spent in the non-quirk case is motivated by the simplicity of having
      a single function for all cases.
      
      The quirk is controlled by the new tx_length_quirk member in struct
      snd_usb_substream and struct snd_usb_audio, which is conveyed to pcm.c
      and endpoint.c from quirks.c in a similar manner to the txfr_quirk member
      in the same structs.
      
      In contrast to txfr_quirk however, the quirk is enabled directly in
      quirks.c:create_standard_audio_quirk() by checking the USB ID in that
      function. Another option would be to introduce a new
      QUIRK_AUDIO_ZOOM_INTERFACE or somesuch, which would have made the quirk
      very plain to see in the quirk table, but it was felt that the additional
      code needed to implement it this way would just make the implementation
      more complex with no real gain.
      
      Tested with a Zoom R16, both by doing capture and playback separately
      using arecord and aplay (8 channel capture and 2 channel playback,
      respectively), as well as capture and playback together using Ardour, as
      well as Audacity and Qtractor together with jackd.
      
      The R24 is reportedly compatible with the R16 when used as an audio
      interface. Both devices share the same USB ID and have the same number of
      inputs (8) and outputs (2). Therefore "R16/24" is mentioned throughout the
      patch.
      
      Regression tested using an Edirol UA-5 in both class compliant (16-bit)
      and "advanced" (24 bit, forces the use of quirks) modes.
      Signed-off-by: NRicard Wanderlof <ricardw@axis.com>
      Tested-by: NPanu Matilainen <pmatilai@laiskiainen.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e0570446
  2. 16 10月, 2015 1 次提交
  3. 01 7月, 2015 1 次提交
  4. 21 4月, 2015 1 次提交
    • T
      ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module · 6d1f2f60
      Takamichi Horikawa 提交于
      Roland SC-D70 reports its device class as vendor specific class and
      the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output.
      
      In the quirks table the sampling rate was hard-coded to 44100 Hz
      and therefore not worked when the sound module was in 48000 Hz mode.
      
      In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE
      but as the sound module reports incorrect bSubframeSize in its
      descriptors, additional change is made in format.c to detect it and
      to override it (which uses the existing code for Edirol SD-90).
      
      Tested both when the sound module was in 44100 Hz mode and 48000 Hz
      mode and both audio input and output. MIDI related part of the driver
      is not touched.
      Signed-off-by: NTakamichi Horikawa <takamichiho@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6d1f2f60
  5. 12 3月, 2015 1 次提交
  6. 08 1月, 2015 1 次提交
  7. 02 12月, 2014 1 次提交
  8. 13 11月, 2014 1 次提交
  9. 11 11月, 2014 1 次提交
    • D
      ALSA: usb-audio: Add duplex mode for Digidesign Mbox 1 and enable mixer · c63fcb9b
      Damien Zammit 提交于
      This patch provides duplex support for the Digidesign Mbox 1 sound
      card and has been a work in progress for about a year.
      Users have confirmed on my website that previous versions of this patch
      have worked on the hardware and I have been testing extensively.
      
      It also enables the mixer control for providing clock source
      selector based on the previous patch.
      The sample rate has been hardcoded to 48kHz because it works better with
      the S/PDIF sync mode when the sample rate is locked.  This is the
      highest rate that the device supports and no loss of functionality
      is observed by restricting the sample rate apart from the inability to selec
      a lower rate.
      Signed-off-by: NDamien Zammit <damien@zamaudio.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c63fcb9b
  10. 30 10月, 2014 2 次提交
  11. 20 10月, 2014 1 次提交
  12. 10 8月, 2014 1 次提交
  13. 14 1月, 2014 2 次提交
  14. 28 6月, 2013 4 次提交
    • P
      ALSA: usb-audio: Add Audio Advantage Micro II · 066624c6
      Przemek Rudy 提交于
      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: NPrzemek Rudy <prudy1@o2.pl>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      066624c6
    • C
      ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE · b7f33917
      Clemens Ladisch 提交于
      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: NClemens Ladisch <clemens@ladisch.de>
      b7f33917
    • C
      ALSA: usb-audio: remove superfluous Roland quirks · 8e5ced83
      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: NClemens Ladisch <clemens@ladisch.de>
      8e5ced83
    • C
      ALSA: usb-audio: add support for many Roland/Yamaha devices · aafe77cc
      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: NClemens Ladisch <clemens@ladisch.de>
      aafe77cc
  15. 04 6月, 2013 1 次提交
  16. 03 6月, 2013 1 次提交
  17. 25 4月, 2013 3 次提交
  18. 18 3月, 2013 2 次提交
    • M
      ALSA: usb-audio: Trust fields given in the quirk · 59ea586f
      Mark Hills 提交于
      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 <damien@zamaudio.com>
      Cc: Chris J Arges <christopherarges@gmail.com>
      Signed-off-by: NMark Hills <mark@xwax.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      59ea586f
    • M
      ALSA: usb-audio: Playback and MIDI support for Novation Twitch DJ controller · 5e212332
      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: NMark Hills <mark@xwax.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5e212332
  19. 11 2月, 2013 1 次提交
  20. 01 2月, 2013 1 次提交
  21. 14 1月, 2013 1 次提交
    • E
      ALSA: usb-audio: correct M-Audio C400 clock source quirk · 2aad272b
      Eldad Zack 提交于
      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: NEldad Zack <eldad@fogrefinery.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2aad272b
  22. 04 1月, 2013 1 次提交
  23. 03 1月, 2013 1 次提交
    • A
      ALSA: usb-audio: Add support for Creative BT-D1 via usb sound quirks · 8f7f3ab1
      Alexander Schremmer 提交于
      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: NAlexander Schremmer <alex@alexanderweb.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8f7f3ab1
  24. 19 12月, 2012 1 次提交
    • D
      ALSA: usb-audio: Support for Digidesign Mbox 2 USB sound card: · cb99864d
      Damien Zammit 提交于
      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: NDamien Zammit <damien@zamaudio.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cb99864d
  25. 15 12月, 2012 1 次提交
  26. 29 11月, 2012 1 次提交
  27. 13 11月, 2012 1 次提交
    • M
      ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i6 · 1762a59d
      Martin Schwenke 提交于
      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: NMartin Schwenke <martin@meltin.net>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1762a59d
  28. 23 10月, 2012 1 次提交
  29. 21 10月, 2012 1 次提交
    • P
      ALSA: usb-audio: USB audio quirk for Roland VG-99 advanced mode · 7a75e742
      Pete Leigh 提交于
      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: NPete Leigh <pete.leigh@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7a75e742
  30. 08 10月, 2012 1 次提交
  31. 03 9月, 2012 1 次提交
  32. 25 6月, 2012 1 次提交