[alsa-devel] usb-usx2y: playback fails with Tascam US122 on kernel 3.14

Dr Nicholas J Bailey nicholas.bailey at glasgow.ac.uk
Thu Jun 26 16:51:54 CEST 2014


I am having trouble with the US122 in playback and duplex mode. In capture 
mode, it is working.

This problem occurs on (at least)
Linux arial 3.14-1-686-pae #1 SMP Debian 3.14.7-1 (2014-06-16) i686 GNU/Linux

I note that my computer uses the much-maligned Intel Corporation 5 Series/3400 
chipset (rev 05), but I have a UK£12 5.1 out/2.0 in audio adaptor which works 
in either capture or playback (although not in duplex). Also, booting an old 
kernel:

Linux arial 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3+deb7u2 i686 GNU/Linux

or

Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux

both seem to support full duplex operation. This is therefore a regression 
between 3.10.11 and 3.14-1 (at least, something on my system has regressed and 
I am suspecting the usx2y module).

dmesg tells me:

[ 2873.134973] usb 2-1.6: new full-speed USB device number 9 using ehci-pci
[ 2873.228117] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8006
[ 2873.228122] usb 2-1.6: New USB device strings: Mfr=0, Product=0, 
SerialNumber=0
[ 2873.447646] usb 2-1.6: USB disconnect, device number 9
[ 2875.183348] usb 2-1.6: new full-speed USB device number 10 using ehci-pci
[ 2875.277235] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8007
[ 2875.277240] usb 2-1.6: New USB device strings: Mfr=0, Product=0, 
SerialNumber=0
[ 2877.844821] cannot submit datapipe for urb 0, err = -28
... this message repeated many times ...
[ 2877.912388] cannot submit datapipe for urb 0, err = -28
[ 3528.609688] active frame status -18. Most probably some hardware problem.

I used to use these interfaces with jack in duplex mode, but this is no longer 
possible.

Running up audacity for a test, capture from the US122 works fine, but once the 
US122 is selected for playback, audacity pops up an "Error opening sound 
device". Further attempts to record (even capture-only) result in corrupted, 
high-amplitude noise.

Nick/.

Other info which might help (a bit noisy, because I'm not sure exactly what's 
wrong) follows.

Using aplay with --dump-hw-parameters:

Under kernel 3.14-1:
HW Params of device "hw:USX2Y":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 24]
FRAME_BITS: [32 48]
CHANNELS: 2
RATE: [44100 48000]
PERIOD_TIME: [1000 185760)
PERIOD_SIZE: [45 8192]
PERIOD_BYTES: [180 49152]
PERIODS: [2 365)
BUFFER_TIME: [1875 371520)
BUFFER_SIZE: [90 16384]
BUFFER_BYTES: [360 65536]
TICK_TIME: ALL
--------------------
aplay: set_params:1297: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (92879 92880)
PERIOD_SIZE: 4096
PERIOD_BYTES: 16384
PERIODS: 4
BUFFER_TIME: (371519 371520)
BUFFER_SIZE: 16384
BUFFER_BYTES: 65536
TICK_TIME: 0


Using kernel 3.10.11:

HW Params of device "hw:USX2Y":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 24]
FRAME_BITS: [32 48]
CHANNELS: 2
RATE: [44100 48000]
PERIOD_TIME: [1000 185760)
PERIOD_SIZE: [45 8192]
PERIOD_BYTES: [180 49152]
PERIODS: [2 365)
BUFFER_TIME: [1875 371520)
BUFFER_SIZE: [90 16384]
BUFFER_BYTES: [360 65536]
TICK_TIME: ALL
--------------------
(plays OK)


Error log when running jackd from qjackctl on the 3.14 kernel:

15:22:31.126 Patchbay deactivated.
15:22:31.165 Statistics reset.
15:22:31.295 ALSA connection change.
15:22:33.840 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
15:22:43.516 D-BUS: JACK server could not be started. Sorry
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Thu Jun 26 15:22:43 2014: Starting jack server...
Thu Jun 26 15:22:43 2014: JACK server starting in non-realtime mode
Thu Jun 26 15:22:43 2014: self-connect-mode is "Don't restrict self connect 
requests"
Thu Jun 26 15:22:43 2014: Acquired audio card Audio1
Thu Jun 26 15:22:43 2014: creating alsa driver ... hw:USX2Y|hw:USX2Y|1024|3|
48000|0|0|nomon|swmeter|-|16bit
Thu Jun 26 15:22:43 2014: configuring for 48000Hz, period = 1024 frames (21.3 
ms), buffer = 3 periods
Thu Jun 26 15:22:43 2014: ALSA: final selected sample format for capture: 16bit 
little-endian
Thu Jun 26 15:22:43 2014: ALSA: use 3 periods for capture
Thu Jun 26 15:22:43 2014: ALSA: final selected sample format for playback: 
16bit little-endian
Thu Jun 26 15:22:43 2014: ALSA: use 3 periods for playback
Thu Jun 26 15:22:43 2014: ERROR: ALSA: cannot set hardware parameters for 
playback
Thu Jun 26 15:22:43 2014: ERROR: ALSA: cannot configure playback channel
Thu Jun 26 15:22:43 2014: ERROR: Cannot initialize driver
Thu Jun 26 15:22:43 2014: ERROR: JackServer::Open failed with -1
Thu Jun 26 15:22:43 2014: ERROR: Failed to open server
Thu Jun 26 15:22:44 2014: Saving settings to "/home/nick/.config/jack/conf.xml" 
...
15:23:00.574 Could not connect to JACK server as client. - Overall operation 
failed. - Unable to connect to server. Please check the messages window for 
more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

nick at arial:~$ cat .jackdrc 
/usr/bin/jackd -r -m -dalsa -dhw:USX2Y -r48000 -p1024 -n3 -S
nick at arial:~$ cat .config/jack/conf.xml 
<?xml version="1.0"?>
<!--
JACK settings, as persisted by D-Bus object.
You probably don't want to edit this because
it will be overwritten next time jackdbus saves.
-->
<!-- Thu Jun 26 15:22:44 2014 -->
<jack>
 <engine>
  <option name="driver">alsa</option>
  <option name="realtime">false</option>
  <option name="verbose">false</option>
  <option name="client-timeout">500</option>
 </engine>
 <drivers>
  <driver name="net">
  </driver>
  <driver name="alsarawmidi">
  </driver>
  <driver name="loopback">
  </driver>
  <driver name="firewire">
   <option name="period">512</option>
   <option name="nperiods">3</option>
   <option name="rate">48000</option>
   <option name="duplex">true</option>
  </driver>
  <driver name="netone">
  </driver>
  <driver name="alsa">
   <option name="device">hw:USX2Y</option>
   <option name="capture">hw:USX2Y</option>
   <option name="playback">hw:USX2Y</option>
   <option name="rate">48000</option>
   <option name="period">1024</option>
   <option name="nperiods">3</option>
   <option name="hwmon">false</option>
   <option name="hwmeter">false</option>
   <option name="duplex">true</option>
   <option name="softmode">false</option>
   <option name="monitor">false</option>
   <option name="dither">n</option>
   <option name="shorts">true</option>
  </driver>
  <driver name="dummy">
  </driver>
 </drivers>
 <internals>
  <internal name="audioadapter">
  </internal>
  <internal name="profiler">
  </internal>
  <internal name="netadapter">
  </internal>
  <internal name="netmanager">
  </internal>
 </internals>
</jack>


More information about the Alsa-devel mailing list