[alsa-devel] usb-usx2y: playback fails with Tascam US122 on kernel 3.14
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@arial:~$ cat .jackdrc /usr/bin/jackd -r -m -dalsa -dhw:USX2Y -r48000 -p1024 -n3 -S nick@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>
On Thursday 26 June 2014 15:51:54 Dr Nicholas J Bailey wrote:
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
Further information:
Using this kernel:
Linux arial 3.14-2-686-pae #1 SMP Debian 3.14.13-2 (2014-07-24) i686 GNU/Linux
trying to use the US-122 Tascam box results in the following showing up in dmesg. I have unplugged and reconnected the box twice to get the LEDs to light up. This has been the normal behaviour for as long as I can remember. You can only use the Tascam as capture device on this kernel.
Using this kernel:
Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux
the US-122 works fine for simultaneous capture and playback.
I've looked at the difference in the source code between 3.10 and 4.14 and there is very little in the usb-usx2y alsa module. Is there some midi-related change I should know about?
I understand that the US-122 is a usb-1.1 device and I have the ehci module loaded, but it was there too with the older kernel and that worked fine.
Nick/.
dmesg with 3.14:
[ 132.609303] usb 2-1.6: new full-speed USB device number 5 using ehci-pci [ 132.702208] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8006 [ 132.702213] usb 2-1.6: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 133.179541] usb 2-1.6: USB disconnect, device number 5 [ 134.913706] usb 2-1.6: new full-speed USB device number 6 using ehci-pci [ 135.006569] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8007 [ 135.006575] usb 2-1.6: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 136.966582] usbcore: registered new interface driver snd-usb-usx2y [ 158.528140] usb 2-1.6: USB disconnect, device number 6 [ 160.006047] usb 2-1.6: new full-speed USB device number 7 using ehci-pci [ 160.098682] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8006 [ 160.098688] usb 2-1.6: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 160.320463] usb 2-1.6: USB disconnect, device number 7 [ 162.054420] usb 2-1.6: new full-speed USB device number 8 using ehci-pci [ 162.147079] usb 2-1.6: New USB device found, idVendor=1604, idProduct=8007 [ 162.147085] usb 2-1.6: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 165.468486] ------------[ cut here ]------------ [ 165.468538] WARNING: CPU: 0 PID: 0 at /build/linux- sud87B/linux-3.14.13/include/linux/kref.h:47 usb_get_urb+0x34/0x40 [usbcore]() [ 165.468542] Modules linked in: snd_usb_usx2y snd_usbmidi_lib snd_rawmidi hid_generic hidp hid btusb bnep bluetooth 6lowpan_iphc snd_hrtimer snd_seq snd_seq_device cpufreq_conservative cpufreq_powersave cpufreq_userspace cpufreq_stats nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media arc4 ath9k ath9k_common ath9k_hw ath mac80211 joydev cfg80211 snd_hda_codec_hdmi msi_wmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec iTCO_wdt iTCO_vendor_support mei_me snd_hwdep snd_pcm snd_timer shpchp battery psmouse mei snd lpc_ich wmi intel_powerclamp coretemp pcspkr i2c_i801 mfd_core ac serio_raw soundcore intel_ips evdev acpi_cpufreq processor kvm_intel kvm loop msi_laptop sparse_keymap rfkill fuse parport_pc ppdev lp parport autofs4 ext4 crc16 mbcache jbd2 sg sd_mod crc_t10dif crct10dif_generic crct10dif_common sr_mod cdrom crc32c_intel ahci libahci libata scsi_mod ehci_pci i915 ehci_hcd i2c_algo_bit drm_kms_helper r8169 mii drm usbcore usb_common i2c_core fan thermal video thermal_sys button [ 165.468651] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14-2-686-pae #1 Debian 3.14.13-2 [ 165.468654] Hardware name: Micro-Star International Calpella platform/To be filled by O.E.M., BIOS E1681IG6 VER.109 07/21/2010 [ 165.468658] 00000009 c142f0e4 00000000 c105069e c1503c0c 00000000 00000000 f836acbc [ 165.468668] 0000002f f8359ba4 f8359ba4 ec050ac0 f6ea4770 f6ce0000 f7409f14 c105075b [ 165.468677] 00000009 00000000 f8359ba4 ec050ac0 f8357da2 00000000 00000015 00000000 [ 165.468686] Call Trace: [ 165.468699] [<c142f0e4>] ? dump_stack+0x3e/0x4e [ 165.468708] [<c105069e>] ? warn_slowpath_common+0x7e/0xa0 [ 165.468733] [<f8359ba4>] ? usb_get_urb+0x34/0x40 [usbcore] [ 165.468751] [<f8359ba4>] ? usb_get_urb+0x34/0x40 [usbcore] [ 165.468757] [<c105075b>] ? warn_slowpath_null+0x1b/0x20 [ 165.468775] [<f8359ba4>] ? usb_get_urb+0x34/0x40 [usbcore] [ 165.468794] [<f8357da2>] ? usb_hcd_submit_urb+0x22/0x9d0 [usbcore] [ 165.468803] [<c10806ca>] ? enqueue_task_fair+0x44a/0xf80 [ 165.468810] [<c1224b20>] ? cpumask_next_and+0x20/0x30 [ 165.468816] [<c10831b5>] ? load_balance+0xd5/0x770 [ 165.468823] [<c10160c8>] ? sched_clock+0x8/0x10 [ 165.468830] [<f95627b0>] ? usX2Y_urb_submit.isra.2+0x30/0x60 [snd_usb_usx2y] [ 165.468837] [<f95629a9>] ? i_usX2Y_urb_complete+0x179/0x570 [snd_usb_usx2y] [ 165.468856] [<f8356a39>] ? __usb_hcd_giveback_urb+0x59/0xd0 [usbcore] [ 165.468874] [<f8357575>] ? usb_giveback_urb_bh+0x75/0xb0 [usbcore] [ 165.468882] [<c1054b38>] ? tasklet_hi_action+0xc8/0xe0 [ 165.468888] [<c1054f61>] ? __do_softirq+0xc1/0x230 [ 165.468895] [<c1054ea0>] ? cpu_callback+0x150/0x150 [ 165.468898] <IRQ> [<c10552ad>] ? irq_exit+0x7d/0x90 [ 165.468909] [<c10112da>] ? do_IRQ+0x3a/0xc0 [ 165.468917] [<c143ad6c>] ? common_interrupt+0x2c/0x34 [ 165.468924] [<c10a007b>] ? rcu_barrier_callback+0xb/0x20 [ 165.468932] [<c1339b18>] ? cpuidle_enter_state+0x38/0xd0 [ 165.468937] [<c1339c3e>] ? cpuidle_idle_call+0x8e/0x1b0 [ 165.468943] [<c1017915>] ? arch_cpu_idle+0x5/0x20 [ 165.468950] [<c10997bc>] ? cpu_startup_entry+0x17c/0x1e0 [ 165.468956] [<c15f9a84>] ? start_kernel+0x364/0x369 [ 165.468961] [<c15f9529>] ? repair_env_string+0x4d/0x4d [ 165.468965] ---[ end trace 8980d639cec05ef6 ]---
On Wednesday 06 August 2014 17:43:00 Dr Nicholas J Bailey wrote:
... there is very little in the usb-usx2y alsa module. Is there some midi-related change I should know about?
Apologies, I meant to type "is there any USB-related change I should know about?"
On 08/06/2014 06:43 PM, Dr Nicholas J Bailey wrote:
On Thursday 26 June 2014 15:51:54 Dr Nicholas J Bailey wrote:
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
Further information:
Using this kernel:
Linux arial 3.14-2-686-pae #1 SMP Debian 3.14.13-2 (2014-07-24) i686 GNU/Linux
trying to use the US-122 Tascam box results in the following showing up in dmesg. I have unplugged and reconnected the box twice to get the LEDs to light up. This has been the normal behaviour for as long as I can remember. You can only use the Tascam as capture device on this kernel.
Using this kernel:
Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux
the US-122 works fine for simultaneous capture and playback.
I've looked at the difference in the source code between 3.10 and 4.14 and there is very little in the usb-usx2y alsa module. Is there some midi-related change I should know about?
This driver is unfortunately poorly supported by the community. Very few people have such a device, the driver has ample areas it needs cleanups in, and the original author is unfortunately unresponsive.
The best thing you can do is probably bisect the issue:
https://wiki.ubuntu.com/Kernel/KernelBisection
I understand that the US-122 is a usb-1.1 device and I have the ehci module loaded, but it was there too with the older kernel and that worked fine.
Yes, that shouldn't be an issue. Let us know what the bisection tells you.
Daniel
At Wed, 06 Aug 2014 19:19:22 +0200, Daniel Mack wrote:
On 08/06/2014 06:43 PM, Dr Nicholas J Bailey wrote:
On Thursday 26 June 2014 15:51:54 Dr Nicholas J Bailey wrote:
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
Further information:
Using this kernel:
Linux arial 3.14-2-686-pae #1 SMP Debian 3.14.13-2 (2014-07-24) i686 GNU/Linux
trying to use the US-122 Tascam box results in the following showing up in dmesg. I have unplugged and reconnected the box twice to get the LEDs to light up. This has been the normal behaviour for as long as I can remember. You can only use the Tascam as capture device on this kernel.
Using this kernel:
Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux
the US-122 works fine for simultaneous capture and playback.
I've looked at the difference in the source code between 3.10 and 4.14 and there is very little in the usb-usx2y alsa module. Is there some midi-related change I should know about?
This driver is unfortunately poorly supported by the community. Very few people have such a device, the driver has ample areas it needs cleanups in, and the original author is unfortunately unresponsive.
The best thing you can do is probably bisect the issue:
Right. My guess is rather the changes in USB driver side. So, better to bisect in the full path, not limited to sound/*.
Takashi
I understand that the US-122 is a usb-1.1 device and I have the ehci module loaded, but it was there too with the older kernel and that worked fine.
Yes, that shouldn't be an issue. Let us know what the bisection tells you.
Daniel
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On Wednesday 06 August 2014 19:19:22 Daniel Mack wrote:
The best thing you can do is probably bisect the issue:
https://wiki.ubuntu.com/Kernel/KernelBisection
I understand that the US-122 is a usb-1.1 device and I have the ehci module loaded, but it was there too with the older kernel and that worked fine.
Yes, that shouldn't be an issue. Let us know what the bisection tells you.
Daniel
OK, I put aside some time to try and do this and didn't get too far :(
I'm using debian testing (jessie) so I cloned from
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
rather than the ubuntu one, as recommended here:
https://wiki.debian.org/DebianKernel/GitBisect
The test I wanted to work was to make the command
jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3
behave as expected, hw:1,0 being my Tascam US-122 sound box.
To be sure, I booted up kernel 3.10.11 to which I'd applied patches to make the MIDI interface of the box work. This is documented on the ALSA-devel list a while back. It did. I played audio through it while it was configured duplex at the same time watching a video and building a new kernel.
I checked out v3.11 from the kernel tree, and built it. When it ran, I got a failure from the same jack command:
""" ALSA: poll time out, polled for 15999083 usecs JackAudioDriver::ProcessAsync: read error, stopping... """
So far, so good. That can be the bad end of the bisection. The trouble is, building 3.10 resulted in exactly the same error. My version 3.10.11 (which works) is build from the debian source package rather than the kernel source, so presumably the applied patches do something good which makes the sound system happier. Heavens knows what.
For a laugh I pulled the latest 3.16 source package from the debian repo and built that. This produced the same failure as above.
So the thing is, I can't make any stock kernel work on my Debian laptop, which means there aren't two points between which to bisect.
That's all I've got time for at the moment. I'll append the notes I made yesterday and today while the builds and tests were going on, just in case they are any help. At least I have a kernel (3.10.11) that works for now, but unless somebody who really knows what they are doing is going on the case, it looks like its just a matter of time before I'll be buying a whole bunch of new audio interfaces. We have at least 4 or 5 of these Tascam US-122 boxes, and use them quite a lot, so I am nervously fingering my wallet... :(
Nick/.
8><--- Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux --------------------------------------------------------------------- ** This is the kernel patched with the MIDI device fixes sent to the alsa-dev mail list **
Works (as nick).
nick@arial:~/Bisect/linux-stable$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ^CJack main caught signal 2 Released audio card Audio1 audio_reservation_finish
---------------------------------------------------------------------- Linux arial 3.11.0+ #1 SMP Tue Aug 19 16:28:36 BST 2014 i686 GNU/Linux ---------------------------------------------------------------------- As nick: nick@arial:~/Bisect/linux-stable$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Failed to acquire device name : Audio1 error : Device reservation request with priority 2147483647 denied for "Audio1" via RequestRelease() Audio device hw:1,0 cannot be acquired... Cannot initialize driver JackServer::Open failed with -1 Failed to open server
(EDIT: That Device reservation request error doesn't seem to be reproducable...?)
As root: nick@arial:~/Bisect/linux-stable$ sudo jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: poll time out, polled for 15999083 usecs JackAudioDriver::ProcessAsync: read error, stopping...
------------------- Building 3.10:
scripts/kconfig/conf --silentoldconfig Kconfig include/config/auto.conf:2221:warning: symbol value 'm' invalid for USB_OHCI_HCD_PCI
... Changed to "y", try again ...
Same result (whether root or not):
nick@arial:~/Bisect$ uname -a Linux arial 3.10.0 #3 SMP Wed Aug 20 13:53:56 BST 2014 i686 GNU/Linux nick@arial:~/Bisect$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: poll time out, polled for 15999090 usecs JackAudioDriver::ProcessAsync: read error, stopping...
------------------------------------------------------------------------------ Linux arial 3.14-2-686-pae #1 SMP Debian 3.14.15-2 (2014-08-09) i686 GNU/Linux ------------------------------------------------------------------------------ nick@arial:/usr/src/linux-3.16$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: cannot set hardware parameters for playback ALSA: cannot configure playback channel Cannot initialize driver JackServer::Open failed with -1 Failed to open server
Build latest 3.16 from source package in debian experimental...
Same result.
At Wed, 20 Aug 2014 18:50:21 +0100, Dr Nicholas J Bailey wrote:
On Wednesday 06 August 2014 19:19:22 Daniel Mack wrote:
The best thing you can do is probably bisect the issue:
https://wiki.ubuntu.com/Kernel/KernelBisection
I understand that the US-122 is a usb-1.1 device and I have the ehci module loaded, but it was there too with the older kernel and that worked fine.
Yes, that shouldn't be an issue. Let us know what the bisection tells you.
Daniel
OK, I put aside some time to try and do this and didn't get too far :(
I'm using debian testing (jessie) so I cloned from
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
rather than the ubuntu one, as recommended here:
https://wiki.debian.org/DebianKernel/GitBisect
The test I wanted to work was to make the command
jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3
behave as expected, hw:1,0 being my Tascam US-122 sound box.
To be sure, I booted up kernel 3.10.11 to which I'd applied patches to make the MIDI interface of the box work. This is documented on the ALSA-devel list a while back. It did. I played audio through it while it was configured duplex at the same time watching a video and building a new kernel.
I checked out v3.11 from the kernel tree, and built it. When it ran, I got a failure from the same jack command:
""" ALSA: poll time out, polled for 15999083 usecs JackAudioDriver::ProcessAsync: read error, stopping... """
So far, so good. That can be the bad end of the bisection. The trouble is, building 3.10 resulted in exactly the same error. My version 3.10.11 (which works) is build from the debian source package rather than the kernel source, so presumably the applied patches do something good which makes the sound system happier. Heavens knows what.
For a laugh I pulled the latest 3.16 source package from the debian repo and built that. This produced the same failure as above.
So the thing is, I can't make any stock kernel work on my Debian laptop, which means there aren't two points between which to bisect.
That's all I've got time for at the moment. I'll append the notes I made yesterday and today while the builds and tests were going on, just in case they are any help. At least I have a kernel (3.10.11) that works for now, but unless somebody who really knows what they are doing is going on the case, it looks like its just a matter of time before I'll be buying a whole bunch of new audio interfaces. We have at least 4 or 5 of these Tascam US-122 boxes, and use them quite a lot, so I am nervously fingering my wallet... :(
Try to build 3.10.11 from linux-stable tree manually and see whether it works. If yes, there must be a fix between 3.10 and 3.10.11, and you can bisect it easily.
If the manual built 3.10.11 kernel doesn't work, it's most likely a kernel config issue, assuming that Debian doesn't put so many own kernel patches (especially for the sound stuff).
Takashi
Nick/.
8><--- Linux arial 3.10.11 #1 SMP Wed Oct 2 19:26:59 BST 2013 i686 GNU/Linux
** This is the kernel patched with the MIDI device fixes sent to the alsa-dev mail list **
Works (as nick).
nick@arial:~/Bisect/linux-stable$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ^CJack main caught signal 2 Released audio card Audio1 audio_reservation_finish
Linux arial 3.11.0+ #1 SMP Tue Aug 19 16:28:36 BST 2014 i686 GNU/Linux
As nick: nick@arial:~/Bisect/linux-stable$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Failed to acquire device name : Audio1 error : Device reservation request with priority 2147483647 denied for "Audio1" via RequestRelease() Audio device hw:1,0 cannot be acquired... Cannot initialize driver JackServer::Open failed with -1 Failed to open server
(EDIT: That Device reservation request error doesn't seem to be reproducable...?)
As root: nick@arial:~/Bisect/linux-stable$ sudo jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: poll time out, polled for 15999083 usecs JackAudioDriver::ProcessAsync: read error, stopping...
Building 3.10:
scripts/kconfig/conf --silentoldconfig Kconfig include/config/auto.conf:2221:warning: symbol value 'm' invalid for USB_OHCI_HCD_PCI
... Changed to "y", try again ...
Same result (whether root or not):
nick@arial:~/Bisect$ uname -a Linux arial 3.10.0 #3 SMP Wed Aug 20 13:53:56 BST 2014 i686 GNU/Linux nick@arial:~/Bisect$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: poll time out, polled for 15999090 usecs JackAudioDriver::ProcessAsync: read error, stopping...
Linux arial 3.14-2-686-pae #1 SMP Debian 3.14.15-2 (2014-08-09) i686 GNU/Linux
nick@arial:/usr/src/linux-3.16$ jackd -u -dalsa -dhw:1,0 -r48000 -p512 -n3 jackdmp 1.9.10 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2014 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details no message buffer overruns no message buffer overruns no message buffer overruns JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods ALSA: final selected sample format for capture: 24bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 24bit little-endian ALSA: use 3 periods for playback ALSA: cannot set hardware parameters for playback ALSA: cannot configure playback channel Cannot initialize driver JackServer::Open failed with -1 Failed to open server
Build latest 3.16 from source package in debian experimental...
Same result. _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On Thursday 21 August 2014 09:02:44 you wrote:
At Wed, 20 Aug 2014 18:50:21 +0100,
Dr Nicholas J Bailey wrote:
... So the thing is, I can't make any stock kernel work on my Debian laptop, which means there aren't two points between which to bisect.
That's all I've got time for at the moment. I'll append the notes I made yesterday and today while the builds and tests were going on, just in case they are any help. At least I have a kernel (3.10.11) that works for now, but unless somebody who really knows what they are doing is going on the case, it looks like its just a matter of time before I'll be buying a whole bunch of new audio interfaces. We have at least 4 or 5 of these Tascam US-122 boxes, and use them quite a lot, so I am nervously fingering my wallet... :(
Try to build 3.10.11 from linux-stable tree manually and see whether it works. If yes, there must be a fix between 3.10 and 3.10.11, and you can bisect it easily.
If the manual built 3.10.11 kernel doesn't work, it's most likely a kernel config issue, assuming that Debian doesn't put so many own kernel patches (especially for the sound stuff).
Takashi
OK, I don't understand git very well. When I first cloned the kernel repo, I did git tag -l, and I'd swear that there were only tags of the form v<major>.<minor>(-rc[0-9]+)? but now I give the same command again I get tags like v<major>.<minor>.<subminor>(-rc[0-9]+)? That's why I tried to build 3.10 and 3.11.
I might be going mad. I know I'm tired, but this is a whole new level of insanity!
I'll try building 3.10.11 from git and report back.
Nick/.
At Thu, 21 Aug 2014 17:14:04 +0100, Dr Nicholas J Bailey wrote:
On Thursday 21 August 2014 09:02:44 you wrote:
At Wed, 20 Aug 2014 18:50:21 +0100,
Dr Nicholas J Bailey wrote:
... So the thing is, I can't make any stock kernel work on my Debian laptop, which means there aren't two points between which to bisect.
That's all I've got time for at the moment. I'll append the notes I made yesterday and today while the builds and tests were going on, just in case they are any help. At least I have a kernel (3.10.11) that works for now, but unless somebody who really knows what they are doing is going on the case, it looks like its just a matter of time before I'll be buying a whole bunch of new audio interfaces. We have at least 4 or 5 of these Tascam US-122 boxes, and use them quite a lot, so I am nervously fingering my wallet... :(
Try to build 3.10.11 from linux-stable tree manually and see whether it works. If yes, there must be a fix between 3.10 and 3.10.11, and you can bisect it easily.
If the manual built 3.10.11 kernel doesn't work, it's most likely a kernel config issue, assuming that Debian doesn't put so many own kernel patches (especially for the sound stuff).
Takashi
OK, I don't understand git very well. When I first cloned the kernel repo, I did git tag -l, and I'd swear that there were only tags of the form v<major>.<minor>(-rc[0-9]+)? but now I give the same command again I get tags like v<major>.<minor>.<subminor>(-rc[0-9]+)? That's why I tried to build 3.10 and 3.11.
It depends where you clone the git repo from. If you cloned from linux-stable tree, it should have contained all 3.10.x stuff. If you cloned from Linus tree, it contains only the initial 3.10 and 3.10-rc*, but no 3.10.x stable.
Takashi
participants (3)
-
Daniel Mack
-
Dr Nicholas J Bailey
-
Takashi Iwai