[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