Welcome, Guest
Username: Password: Remember me

NOTE: This is a "Community" forum. Please be mindful that community members are here to help as part of a community effort. We therefore appreciate your effort in keeping this forum a happy place!

If you have a specific issue (e.g. hardware, failure) and want help from our support team, please use our tech support portal (Support menu - > Contact Us).
Thanks a lot of your help in making a better community.
  • Page:
  • 1
  • 2

TOPIC: multi-channel recording (linux)

multi-channel recording (linux) 6 years 3 months ago #14632

  • Prestemon
  • Prestemon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 5
  • Karma: 2
I am hoping that there's an ALSA guru out there who can help me with this.

I am running Red Hat Enterprise Linux 7, with a USBStreamer device, with the ADAT firmware installed.
I wish to use an 8-channel DAC to record to audio, as separate channels, via separate software instances.
If the USBStreamer has 8 channels of input, then this should be possible.

However, when I connect the USBStreamer, and use "arecord -l" to list the ALSA devices, I see the USBStreamer "card", and that has one device, one subdevice. So as Card2, it's alsa ID works out to hw:2,0. I somewhat expected ALSA to give me 8 addressable device channels, but that was not the case.

When I set up my "prototype" (before I got the 8-channel DAC and USBStreamer), I was using several discrete USB Audio interfaces. Each one had their own separate ALSA interface (hw:1,0, hw:2,0), so I was able to give these device ID's to ALSA, and record separately.

I suspect that I need to use an .arecord config file for ALSA, but there aren't any examples for input or recording, only examples for surround, or 5.1 plugins. Does anybody have any idea how I can make this work in this fashion?
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 3 months ago #14644

  • ctrefzer
  • ctrefzer's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 1
  • Karma: 0
Hi Prestemon,

there are a couple of hints for splitting multi-channel sound cards into separate virtual devices via .asoundrc / asound.conf at the
Alsa Wiki. Most of those are related to output though, not input, and I am not sure how much of that applies to input channels. Check out the dsnoop examples - that plugin is the same for inputs as dmix is for outputs. Be aware that these will both be set to a fixed sample rate at all times.

I guess for best flexibility and quality you will have to hook up JACK to all channels of the single device, and route the channels to JACK-aware applications on the fly as you see fit. The JACK plugin in ALSA can be used to hook up JACK-agnostic yet ALSA-aware applications to the JACK daemon as well.

HTH,
Chris
The administrator has disabled public write access.
The following user(s) said Thank You: Prestemon

multi-channel recording (linux) 6 years 3 months ago #14661

  • Prestemon
  • Prestemon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 5
  • Karma: 2
Thank you for your response.

I will go into more detail:
My hardware setup is a Behringer ADA8000; it's an 8-channel microphone DAC. It has independent knobs for each of the 8 mic jacks, an an LED that indicates the level, and any clipping. For output, it has ADAT optical in and out. It can accept an external clock (via BNC or ADAT), or it can be the master clock.

The USBStreamer is connected to the ADAT, and to my computer(s). via USB. I have the ADAT firmware loaded.

As a baseline test, I have tried connecting to Windows, Mac OS X, Red Hat 6.5 Linux, Red Hat 7 Linux, and Ubunut 14.04.
As far as Operating Systems are concerned, Red Hat 6.5 will not work. Either the 2.6.32 kernel or ALSA 1.0.22 is too old, to properly enumerate the mixers to USB Audio Class 2, adequately. Red Hat 7 does seem to recognize the device. (lists it in "arecord -l"). Red Hat 6.5 reports the error mentioned by "Crumboo" in this diyaudio forum post ( www.diyaudio.com/forums/minidsp/214068-u...dio-interface-3.html ), and that's addressed by using a kernel 3.4 or later (Red Hat 7 or Ubuntu 14.04).

For some reason, though the driver is loaded, when I try to record from the ADAT in Windows 7 x64 using Audacity, it is limited to 2 channels. I can set it to Mono or Stereo, and if I put signal on channel 1, it comes out as Left on Audacity, and channel 2 is Right, as I'd expect. Except that Audacity doesn't see the other 6 channels. This was a good example for me to calibrate my signal and confirm that it's loud enough, and that the Behringer ADA8000 *does*, in fact, pass signal through the USBStreamer, and the USBStreamer *does* pass it through to USB. At least the first two channels. (I am looking for other recorder software on Windows to try).

When I attach it to Mac OS X, I can see all 8 channels in the mixer, and Audacity allows me to select 1-through-8 channels. But I cant see (or record) any signal coming through on any channel. No matter which channel I connect to, there is no sound at all. The level indicator in Audacity, when I enable the monitor, never responds.

When I attach to Red Hat 7, it is basically the same as OS X - only it is very flaky to select the input device. Some times, the "USBStreamer ADAT" just does not appear on the list of Input Devices in the Sound control panel. (but it is consistently in the list for "cat /proc/asound/cards" as well as "arecord -l"). When it does appear in the list, it only gives me a single slider for level control, and never shows any sound when a signal is coming in on any of the 8 channels. I have not successfully loaded audacity in Red Hat 7 - because it requires to be build from source, and there are many dependencies.

On Ubuntu 14.04, I set up the /etc/asound.conf file as per the example in the dsnoop page on the alsa wiki. ( alsa.opensrc.org/Dsnoop ) - and I used "rec_0" through "rec_7" as my channel names. With the example alsa recorder command: arecord -d 3 -f S32_LE -c 1 -Dplug:rec_0 0.wav
This created a file of 44 bytes, with apparently no content, regardless of whether I had a signal applied to that channel. Also, even though I set "-d 3" to record a stream of 3 seconds duration, the arecord program would not exit and return control to the console. Not sure why that happened. (ultimately, I need to use SoX to do my recording).
In the Sound control panel in Ubuntu, I'm experiencing pretty much the same issue, where the level monitor registers nothing, even when signal is applied to any of the 8 channels.
Recording in Audacity, on Ubuntu does, also see 8 channels, like on Mac OS X. But also, like Mac OS X - none of the 8 channels record or show sound when signal is applied. I also tried setting in into mono and stereo (two channel) mode, and putting signal down channels 1 and 2, and they didn't work. (this is independent of the asound.conf).

I also tried using JACK, (qjackctl) but when I set up a patchbay, and add a list of "readable clients/output ports" - the USBStreamer ADAT never shows up in the list to choose from. The pick-list is "14:Midi Through" (and I don't need midi support at all), and "16:Ensoniq AudioPCI" which is the built-in sound-card for this computer - and I'm not using that. Jack doesn't even see the 8-channel dsnoop stuff. (Audacity does.)

I think that the basic issue boils down to not being able to read a signal from the USBStreamer device on anything but Windows. It's as if the OS X and Linux/ALSA USB Audio Class 2 can't read the signal, but the Windows driver can.
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 3 months ago #14662

  • ctrefzer
  • ctrefzer's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 1
  • Karma: 0
Hi Prestemon,

afraid I cannot be of any further help since I don't have the hardware and hence won't be able to build a config against it. Curious that Windows at least gives you valid stereo input, whereas the unixoid systems give you zilch. Well, AFAIK ALSA mutes all channels by default, though I would presume you checked the mixer settings for stuff like that. Sorry, I'm at my wit's end here - at least until I get around to ordering a couple of items from miniDSP and hooking up something to the input lines of the USBStreamer, which will certainly be among them.
Last Edit: 6 years 3 months ago by ctrefzer.
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 3 months ago #14663

  • Prestemon
  • Prestemon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 5
  • Karma: 2
As far as ALSA default-muting goes,
In Ubuntu, for example, I can use "alsamixer", select the card with F6, then Capture with F4, then I am confronted with a confusing array of sliders: "<USBStrea> Front", Rear, Center, Woofer, Side, then "USBStrea", then another "USBStrea Front", a rear, then using the arrow key, the interface scolls-on to Center, Woofer, Side, and last, "<USBStrea>.

All volumes are set to 100<>100.

I can use the arrow key to select a channel, and Q, E, Z, C to raise and lower the sliders: some of these sliders is a R/L pair, and each can be raised-lowered independently. For a total of 24 channels. So ALSA seems to be very confused here. (1.0.27, by the way).

So, the mixer as listed by ALSA here goes like this:
(this is the CAPTURE screen only)
Item: Name: Channels:
USBStreamer ADAT Clock Selector Capture Vol <USBStrea> Front R/L
USBStreamer ADAT Clock Selector Capture Vol USBStrea Rear R/L
USBStreamer ADAT Clock Selector Capture Vol USBStrea Center one channel
USBStreamer ADAT Clock Selector Capture Vol USBStrea Woofer one channel
USBStreamer ADAT Clock Selector Capture Vol USBStrea Side R/L
USBStreamer ADAT Clock Selector Capture Vol 1 USBStrea one channel
USBStreamer ADAT Clock Selector Playback Vo USBStrea Front R/L
USBStreamer ADAT Clock Selector Playback Vo USBStrea Rear R/L
USBStreamer ADAT Clock Selector Playback Vo USBStrea Center one channel
USBStreamer ADAT Clock Selector Playback Vo USBStrea Woover one channel
USBStreamer ADAT Clock Selector Playback Vo USBStrea Side R/L
USBStreamer ADAT Clock Selector Playback Vo 1 USBStrea one channel
(I think that the "Vo 1" items are probably "Master" sliders ... but I don't understand why Playback channels are being displayed on the Capture screen.)

There is a F3: Playback screen, an F4: Capture screen, and an F5: All screen.
The ALL screen is even weirder.
It has a set of "USBStreamer ADAT Clock Selector Capture Swi" items, with a number in a box (set to "00" and there doesn't seem to be a way to change these, short of toggling between "MM" and "00"; so I take it to mean that this is the Mute switch, and 00 means unmuted)

So while it's confusing to determine exactly what ALSA is seeing via alsamixer, I think it's pretty clear the inputs are not muted.

As for Audacity on Windows; apparently 2-channel recording on Windows is a limitation, and I either need to build a new Audacity with ASIO support, or find another recording tool with ASIO support to get more than two channels. (like Harris Mixbus).

I also tried to set up Ardour on Ubuntu (from ubuntustudio-audio), but it could not receive audio from the configured inputs either.

I may have to go looking for something like an MAudio delta 1010LT, but these don't seem to be available anymore. We don't want to go with a PCI-card solution if we can help it, because we don't have room inside our machines for additional PCI cards.
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 3 months ago #14664

  • ctrefzer
  • ctrefzer's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 1
  • Karma: 0
Apparently there is some sort of default mapping of 8 channels to a 7.1 setup going on, interestingly for both playback and capture. The muting part in alsamixer you got right, except I wonder what it does on a "capture switch" - I've seen toggles or selection items for some soundcards in alsamixer, like routing some channels to SPDIF instead of analog out, but those are not handled via the muting toggle. This really depends on how the device enumerates on the USB bus, what type of features it exposes to the driver - since I did not write the firmware I am lost here ;) This whole "clock selector" thing looks like a bit of a misnomer to me though, maybe the feature unit encapsulating all those controls has that name so the controls kind of inherited.

Actually, I'll have to get into all that USB audio stuff since I will try and build a digitally controlled analog volume control. I somehow got it into my thick skull that there will be a means to control the whole thing from the same RasPi which will serve music via MPD and I won't tolerate the ReplayGain adjustments being done in software anymore, hence the need for a couple USB audio volume controls... Apart from the fact that this will be the final stage after a miniDSP always running at full blast, this does not belong here. Then again, as a first step in developing and debugging my to-be-written firmware, I installed a tool called "usbview" which shows a tree of all the devices on the bus. When I select my USB DAC, which is an ODAC as of diyaudio / Objective Design, I get pretty detailled output:
UAC1 DAC
Manufacturer: Binary Audio
Speed: 12Mb/s (full)
USB Version:  1.10
Device Class: 00(>ifc )
Device Subclass: 00
Device Protocol: 00
Maximum Default Endpoint Size: 8
Number of Configurations: 1
Vendor Id: 1852
Product Id: 7022
Revision Number:  0.01

Config Number: 1
	Number of Interfaces: 4
	Attributes: 80
	MaxPower Needed: 500mA

	Interface Number: 0
		Name: usbhid
		Alternate Number: 0
		Class: 03(HID  ) 
		Sub Class: 00
		Protocol: 00
		Number of Endpoints: 1

			Endpoint Address: 81
			Direction: in
			Attribute: 3
			Type: Int.
			Max Packet Size: 18
			Interval: 32ms

	Interface Number: 1
		Name: snd-usb-audio
		Alternate Number: 0
		Class: 01(audio) 
		Sub Class: 01
		Protocol: 00
		Number of Endpoints: 0

	Interface Number: 2
		Name: snd-usb-audio
		Alternate Number: 0
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 0

	Interface Number: 2
		Name: snd-usb-audio
		Alternate Number: 1
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 1

			Endpoint Address: 82
			Direction: in
			Attribute: 9
			Type: Isoc
			Max Packet Size: 388
			Interval: 1ms

	Interface Number: 2
		Name: snd-usb-audio
		Alternate Number: 2
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 1

			Endpoint Address: 82
			Direction: in
			Attribute: 9
			Type: Isoc
			Max Packet Size: 582
			Interval: 1ms

	Interface Number: 3
		Name: snd-usb-audio
		Alternate Number: 0
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 0

	Interface Number: 3
		Name: snd-usb-audio
		Alternate Number: 1
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 1

			Endpoint Address: 03
			Direction: out
			Attribute: 9
			Type: Isoc
			Max Packet Size: 388
			Interval: 1ms

	Interface Number: 3
		Name: snd-usb-audio
		Alternate Number: 2
		Class: 01(audio) 
		Sub Class: 02
		Protocol: 00
		Number of Endpoints: 1

			Endpoint Address: 03
			Direction: out
			Attribute: 9
			Type: Isoc
			Max Packet Size: 582
			Interval: 1ms

You can basically select all there is by clicking into the pane and hitting ctrl+a, ctrl+c. Maybe just paste it all into a code block here so I can take a look :)

A couple more wild guesses: IIRC said toggles or selections were handled with the up/down arrow keys in alsamixer, just like volume adjustments. You might try those on the capture switch and such. Also try unmuting all the other channels, including those you suspect to be sort of a master volume control. Also maybe try some of the graphical alsa mixer frontends such as gnome-alsamixer, they might display the controls in a more intuitive fashion I hope.

When it comes to Windows I am not so familiar with circumventing all the "usability" fuzz in order to get some decent quality audio processing. Searching for "audacity windows asio" yields this page on the Audacity wiki and a couple threads on their forum, but I guess you've been there. Short of building audacity with ASIO on Windows I would not know in which direction to point you at this time.

AFAICS it would be best if devteam would chime in, maybe they can help sort out the alsa mixer crazyness.
Last Edit: 6 years 3 months ago by ctrefzer.
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 3 months ago #14713

  • Prestemon
  • Prestemon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 5
  • Karma: 2
I wanted to follow-up with the solution I found (much trial and error!):

1. Platform is Fedora 20; though we will target Red Hat 7. This is due to the issue I mentioned upthread regarding USB Audio Class 2 driver support in kernels prior to 3.4. Bottom line is; if you're on an earlier version of linux, the USBStreamer device is not going to show up in "arecord -l".

2. I connected the USBStreamer to Windows, installed the driver, and upgraded the firmware to the ADAT firmware.

3. For the Behringer ADA 8000, I have the clock set to slave ADAT IN, using the USBStreamer's clock. (I have not had any problems with it, but clock sync is irrelevant to our application).

4. I use "alsamixer" to un-mute the capture channels of the USBStreamer ADAT device.

5. When I tried to record with SoX, a single SoX process could not individually record one (of 8) channels, without locking the whole device - (it would output all 8 inputs to one file). When I recorded from the USBStreamer using Audacity, it would allow me to select 1 through 8 channels, though only incrementally (not individually). This does not work on Windows (but should, if Audacity is recompiled with ASIO support). Audacity helped me to confirm that I could read signal from the USBStreamer, and from all 8 channels. This was important, because I had no other way to tell if either of my audio hardware components was even working (and I had levels set properly).

6. To solve the problem, I used ffmpeg to read the stream off the alsa device, and ffmpeg's "channel_map" feature to send each of the 8 channels to a udp stream, on 8 different port addresses. ffmpeg does not care whether a channel is labelled F, R, L, Sub, or whatever. It's just channels 0-7.

7. To receive the individual channel data, I set up 8 separate ffmpeg processes to play each udp stream, and pipeline it to SoX, using SoX's silence : newfile : restart effects. SoX edits out silence, and writes signal to a file, encoded to ogg. When the signal stops, SoX closes that file, and restarts, creating a new file, and waits for a new signal.

With the streamer process, listeners, and encoders all running for 8 channels, we used about 16% of the CPU, (Intel i7 950 @ 3.07 GHz x 8 cores) with about 30% being the max. This is without assigning processes to different cores, or using ffmpeg's opencl support.
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 1 month ago #15222

  • Crumboo
  • Crumboo's Avatar
  • Offline
  • Expert Boarder
  • Posts: 144
  • Thank you received: 14
  • Karma: 13
Hi Prestemon - and thanks for sharing your experience with getting the USBStreamer working on Linux.

I am myself struggling to get it running as USB->I2S converter on a Beaglebone Black running Volumio - for output only (not recording) and was hoping that you (or someone else) could share some ideas on how to get it work. After connecting it to the BBB, it is recognized alright. Aplay -l gives the following:
[email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I was expecting a number of subdevices matching the number of output channels. Also, in alsamixer only one slider is present, which indicates that it is not recognized as a multichannel device. Unfortunately I'm completely new to linux, and searching the web for "linux" and "USBStreamer" hasn't been fruitful. Any help would be most appreciated.

Best regards,
Mattias
The administrator has disabled public write access.

multi-channel recording (linux) 6 years 1 month ago #15245

  • anon
  • anon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 1
  • Karma: 0
Hi

we have the USBstreamer working here fine with linux (debian testing) using jack. We can attach any jack-aware application (e.g. ardour) to any in/out channel. We didn't change the firmware or anything to make it work. The only issue we have is that there is no signal under certain circumstances. It seems the alsa driver has some issues resulting in that any attempt to change mixer settings in the alsamixer seems to mute the device. If that happens we use an alsactl file which unmutes the device and don't touch the mixer at all (as we don't need it anyway). Attached is the alsactl file we use. Just issue the comand "alsactl -f <filename> restore" and you should be set. If you're not very experienced with jack or qjackctl, just let me know. The ffmpeg method seems quite complicated and unnecessary...
The administrator has disabled public write access.

Re:multi-channel recording (linux) 6 years 1 month ago #15276

  • Crumboo
  • Crumboo's Avatar
  • Offline
  • Expert Boarder
  • Posts: 144
  • Thank you received: 14
  • Karma: 13
Thanks alot anon, I'll check this out! I have no experience with jack so far, but I'll look into it.

Best regards,
Mattias
The administrator has disabled public write access.

Re:multi-channel recording (linux) 5 years 10 months ago #16385

  • Prestemon
  • Prestemon's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 5
  • Karma: 2
I wanted to come back with some further experiences to clarify some confusion in my earlier posts:

1. We have found that we were able to connect the USBStreamer device to Red Hat 6.5; but not with the default kernel of 2.6.x. If we update the kernel (we tried 3.16.x from elrepo), we got past the error that happens when the USB driver is scanning the bus and enumerating the devices audio controls. That's really the big issue, as far as overall linux-compatibility goes. Earlier kernels may support USB Class 2 Audio devices, but there's a bug in the kernel module that prevents the USBStreamer from being properly enumerated, and the error isn't handled very well, so what you'll get is the USBStreamer will appear in your "lsusb" output, but it won't appear in "arecord -l". (and it doesn't seem to have anything to do with the version of ALSA installed.) - use "uname -r" to display the kernel version you're running. If it's not at least at 3.4, you will need to update your kernel, or try a distro that has a more up-to-date kernel. (see distrowatch.com) -

2. In our current configuration, we're not touching "amixer" at all; and we're not having any trouble with channels being muted. It seemed like this was a factor in earlier configurations we tested, but I can't really say what the cause was. We had tried installing various audio packages, so I can't vouch for the sanity of the software configuration at the time we were having trouble with amixer and channel muting.

3. In testing, a lot of the unexplainable issues we were hitting seemed to have to do with the pulseaudio server crashing or becoming unresponsive, which sort of messed up the entire audio subsystem of the machine. Symptoms would include: no signal, or the USBStreamer ADAT device would not appear in the Sound control panel as an Input Device. What SEEMED to be the fix for this, was to add our user-account to the "audio" group. (sudo usermod -aG audio <username>). This gives the user permissions to access the device tree at /dev/snd. (which, I guess, depends on which flavor of Linux you are running). The sound control panel (in RHEL 6.x) is part of pulseaudio, not ALSA. So even though our application wasn't using pulseaudio, we would still get flaky behavior because pulseaudio is involved in configuring audio devices, and setting the system default devices.

4. As far as splitting the input stream from the USBStreamer to separate audio channels goes: - ffmpeg has command-line support for that. (SoX does - but it does not really work very well for streams with more than 2 channels). We weren't able to use ffmpeg due to the licensing issues for the mpeg components. (which we weren't even using). We wrote a python-gstreamer app to pipeline the 8 inputs using gstreamer's "deinterleave" function (which is available on gstreamer's command-line). We were using only the open plugins, so; no licensing problems. Encoding to .ogg. That worked well.
The administrator has disabled public write access.

Re:multi-channel recording (linux) 5 years 10 months ago #16404

  • devteam
  • devteam's Avatar
  • Offline
  • Administrator
  • Posts: 8761
  • Thank you received: 1149
  • Karma: 164
@ Prestemon,

Wow, your Linux USBStreamer streamer is by far the most complete of this forum! Thanks again so much for sharing all your findings with the community.
It's clear from your technical info that quite a fair amount of testing/investigation went through to make this happen. Very neat that you're able to remember all the steps. :-)

I'll sticky this thread. Very neat!

PS: Overall conclusion, is your setup all good by now? :-)
miniDSP, building a DSP community one board at a time.
The administrator has disabled public write access.

multi-channel recording (linux) 4 years 10 months ago #22021

  • kalexm
  • kalexm's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 11
  • Thank you received: 1
  • Karma: 0
Hi,

I already opened a thread and got a hint that I may find here some good hints.

I purchased an U-DAC8. I want to run it with an Odroid XU4.
The devices are listed, but I get no sound. As the U-DAC8 is built upon the USBStreamer it is OS-wise the same device. I hope an look forward that someone gives me a hint of what might be wrong.

I aim at running a stereo 4 way x-over and therefore need 8 channels. I am going to create the filters using rePhase. I already did that creating FIR Filters for the miniSharc and it works well. The convolution shall be done by brutefir that already showed to work properly on the XU4 with quite a number of Taps. The only thing missing is to get the U-DAC/USBStreamer to work.

The device shows up in lsusb. Also in aplay -l resp. -L. arecord shows it too. Whenever i try to stream audio to the device it fails.

I simply show what I am doind and hopefully someone can give me a hint of what might be wrong.

best,

Alex
The administrator has disabled public write access.

multi-channel recording (linux) 4 years 10 months ago #22024

  • kalexm
  • kalexm's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 11
  • Thank you received: 1
  • Karma: 0
some system information as follows:
[email protected]:~# uname -r
3.10.82-39

the kernel version is > 3.4
[email protected]:~# lsusb -s 3:5 -v

Bus 003 Device 005: ID 2752:0016  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x2752 
  idProduct          0x0016 
  bcdDevice            5.30
  iManufacturer           1 miniDSP 
  iProduct                2 USBStreamer 
  iSerial                 3 00001
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          441
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         3
      bFunctionClass          1 Audio
      bFunctionSubClass       0 
      bFunctionProtocol      32 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol     32 
      iInterface              2 USBStreamer 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               2.00
        bCategory               8
        wTotalLength          273
        bmControl            0x00
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID               41
        bmAttributes         0x03 Internal programmable Clock 
        bmControls           0x07
          Clock Frequency Control (read/write)
          Clock Validity Control (read-only)
        bAssocTerminal          0
        iClockSource            9 USBStreamer Internal Clock
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID               42
        bmAttributes         0x00 External Clock 
        bmControls           0x07
          Clock Frequency Control (read/write)
          Clock Validity Control (read-only)
        bAssocTerminal          0
        iClockSource           10 USBStreamer TOSLINK Clock
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype     11 (CLOCK_SELECTOR)
        bUnitID                40
        bNrInPins               2
        baCSourceID( 0)        41
        baCSourceID( 1)        42
        bmControls           0x03
          Clock Selector Control (read/write)
        iClockSelector          8 USBStreamer Clock Selector
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels            10
        bmChannelConfig   0x00000000
        bmControls    0x0000
        iChannelNames          15 I2S 0 Output L
        iTerminal               6 USBStreamer Output
      AudioControl Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                51
        wExtensionCode          0
        bNrPins                 1
        baSourceID( 0)          2
        bNrChannels            10
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             50 I2S 8 Input R
      AudioControl Interface Descriptor:
        bLength                50
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                10
        bSourceID              51
        bmaControls( 0)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 1)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 2)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 3)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 4)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 5)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 6)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 7)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 8)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 9)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls(10)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            20
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID              10
        bCSourceID             40
        bmControls         0x0000
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels            10
        bmChannelConfig   0x00000000
        bmControls    0x0000
        iChannelNames          33 I2S 0 Input L
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                52
        wExtensionCode          0
        bNrPins                 1
        baSourceID( 0)          1
        bNrChannels            10
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             50 I2S 8 Input R
      AudioControl Interface Descriptor:
        bLength                50
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                11
        bSourceID              52
        bmaControls( 0)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 1)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 2)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 3)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 4)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 5)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 6)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 7)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 8)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 9)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls(10)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            22
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              11
        bCSourceID             40
        bmControls         0x0000
        iTerminal               7 USBStreamer Input
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                50
        wExtensionCode          0
        bNrPins                 2
        baSourceID( 0)          2
        baSourceID( 1)          1
        bNrChannels            18
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             32 I2S 8 Output R
      AudioControl Interface Descriptor:
        bLength                32
        bDescriptorType        36
        bDescriptorSubtype      4 (MIXER_UNIT)
        bUnitID                60
        bNrPins                 1
        baSourceID( 0)         50
        bNrChannels             8
        bmChannelConfig    0x00000000
        iChannelNames          49 I2S 8 Input L
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        bmControls         00
        iMixer                 0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0006  1x 6 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 USBStreamer Audio Out
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 USBStreamer Audio Out
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels            10
        bmChannelConfig   0x00000000
        iChannelNames          15 I2S 0 Output L
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes           17
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Feedback
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 USBStreamer Audio In
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 USBStreamer Audio In
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          22
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels            10
        bmChannelConfig   0x00000000
        iChannelNames          33 I2S 0 Input L
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      1 
      iInterface             12 USBStreamer DFU
      Device Firmware Upgrade Interface Descriptor:
        bLength                             9
        bDescriptorType                    33
        bmAttributes                        7
          Will Not Detach
          Manifestation Tolerant
          Upload Supported
          Download Supported
        wDetachTimeout                    250 milliseconds
        wTransferSize                      64 bytes
        bcdDFUVersion                   1.10
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          441
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         3
      bFunctionClass          1 Audio
      bFunctionSubClass       0 
      bFunctionProtocol      32 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol     32 
      iInterface              2 USBStreamer 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               2.00
        bCategory               8
        wTotalLength          273
        bmControl            0x00
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID               41
        bmAttributes         0x03 Internal programmable Clock 
        bmControls           0x07
          Clock Frequency Control (read/write)
          Clock Validity Control (read-only)
        bAssocTerminal          0
        iClockSource            9 USBStreamer Internal Clock
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID               42
        bmAttributes         0x00 External Clock 
        bmControls           0x07
          Clock Frequency Control (read/write)
          Clock Validity Control (read-only)
        bAssocTerminal          0
        iClockSource           10 USBStreamer TOSLINK Clock
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype     11 (CLOCK_SELECTOR)
        bUnitID                40
        bNrInPins               2
        baCSourceID( 0)        41
        baCSourceID( 1)        42
        bmControls           0x03
          Clock Selector Control (read/write)
        iClockSelector          8 USBStreamer Clock Selector
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels            10
        bmChannelConfig   0x00000000
        bmControls    0x0000
        iChannelNames          15 I2S 0 Output L
        iTerminal               6 USBStreamer Output
      AudioControl Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                51
        wExtensionCode          0
        bNrPins                 1
        baSourceID( 0)          2
        bNrChannels            10
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             50 I2S 8 Input R
      AudioControl Interface Descriptor:
        bLength                50
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                10
        bSourceID              51
        bmaControls( 0)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 1)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 2)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 3)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 4)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 5)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 6)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 7)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 8)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 9)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls(10)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            20
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID              10
        bCSourceID             40
        bmControls         0x0000
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels            10
        bmChannelConfig   0x00000000
        bmControls    0x0000
        iChannelNames          33 I2S 0 Input L
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                52
        wExtensionCode          0
        bNrPins                 1
        baSourceID( 0)          1
        bNrChannels            10
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             50 I2S 8 Input R
      AudioControl Interface Descriptor:
        bLength                50
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                11
        bSourceID              52
        bmaControls( 0)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 1)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 2)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 3)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 4)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 5)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 6)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 7)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 8)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls( 9)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        bmaControls(10)      0x0000000f
          Mute Control (read/write)
          Volume Control (read/write)
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            22
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              11
        bCSourceID             40
        bmControls         0x0000
        iTerminal               7 USBStreamer Input
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      9 (EXTENSION_UNIT)
      Warning: Descriptor too short
        bUnitID                50
        wExtensionCode          0
        bNrPins                 2
        baSourceID( 0)          2
        baSourceID( 1)          1
        bNrChannels            18
        wChannelConfig          0
        iChannelNames           3 00001
        bmControls        0x00
        iExtension             32 I2S 8 Output R
      AudioControl Interface Descriptor:
        bLength                32
        bDescriptorType        36
        bDescriptorSubtype      4 (MIXER_UNIT)
        bUnitID                60
        bNrPins                 1
        baSourceID( 0)         50
        bNrChannels             8
        bmChannelConfig    0x00000000
        iChannelNames          49 I2S 8 Input L
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        bmControls         00
        iMixer                 0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0006  1x 6 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 USBStreamer Audio Out
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 USBStreamer Audio Out
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels            10
        bmChannelConfig   0x00000000
        iChannelNames          15 I2S 0 Output L
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes           17
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Feedback
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 USBStreamer Audio In
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 USBStreamer Audio In
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          22
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels            10
        bmChannelConfig   0x00000000
        iChannelNames          33 I2S 0 Input L
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      1 
      iInterface             12 USBStreamer DFU
      Device Firmware Upgrade Interface Descriptor:
        bLength                             9
        bDescriptorType                    33
        bmAttributes                        7
          Will Not Detach
          Manifestation Tolerant
          Upload Supported
          Download Supported
        wDetachTimeout                    250 milliseconds
        wTransferSize                      64 bytes
        bcdDFUVersion                   1.10
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

the usb device is listed.
[email protected]:~# amixer -D hw:USBStreamer contents
numid=5,iface=MIXER,name='USBStreamer Clock Selector'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'USBStreamer Internal Clock'
  ; Item #1 'USBStreamer TOSLINK Clock'
  : values=0
numid=6,iface=MIXER,name='USBStreamer Clock Selector Capture Switch'
  ; type=BOOLEAN,access=rw------,values=10
  : values=on,on,on,on,on,on,on,on,on,on
numid=7,iface=MIXER,name='USBStreamer Clock Selector Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=8,iface=MIXER,name='USBStreamer Clock Selector Capture Volume'
  ; type=INTEGER,access=rw---R--,values=10,min=0,max=255,step=0
  : values=255,255,255,255,255,255,255,255,255,255
  | dBminmax-min=-127.50dB,max=0.00dB
numid=9,iface=MIXER,name='USBStreamer Clock Selector Capture Volume',index=1
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
  : values=255
  | dBminmax-min=-127.50dB,max=0.00dB
numid=1,iface=MIXER,name='USBStreamer Clock Selector Playback Switch'
  ; type=BOOLEAN,access=rw------,values=10
  : values=off,off,off,off,off,off,off,off,off,off
numid=2,iface=MIXER,name='USBStreamer Clock Selector Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=3,iface=MIXER,name='USBStreamer Clock Selector Playback Volume'
  ; type=INTEGER,access=rw---R--,values=10,min=0,max=255,step=0
  : values=255,255,255,255,255,255,255,255,255,255
  | dBminmax-min=-127.50dB,max=0.00dB
numid=4,iface=MIXER,name='USBStreamer Clock Selector Playback Volume',index=1
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
  : values=255
  | dBminmax-min=-127.50dB,max=0.00dB

somewhat ten 'units' are listed. I need to check what these mean, but it is somewhat an expected number as there are totally ten input and ten output channels (2x toslink and 8 I2S)
[email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: odroidaudio [odroid-audio], device 0: i2s0-pri dummy-aif1-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: odroidaudio [odroid-audio], device 1: i2s-sec dummy-aif2-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

[email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: odroidaudio [odroid-audio], device 0: i2s0-pri dummy-aif1-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: odroidaudio [odroid-audio], device 1: i2s-sec dummy-aif2-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

[email protected]:~# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
dmixer
    DMixer for hw:0,0
default
plugdmixer
plugequal
    Equalizer for DMixer
equal
sysdefault:CARD=odroidaudio
    odroid-audio, 
    Default Audio Device
dmix:CARD=odroidaudio,DEV=0
    odroid-audio, 
    Direct sample mixing device
dmix:CARD=odroidaudio,DEV=1
    odroid-audio, 
    Direct sample mixing device
dsnoop:CARD=odroidaudio,DEV=0
    odroid-audio, 
    Direct sample snooping device
dsnoop:CARD=odroidaudio,DEV=1
    odroid-audio, 
    Direct sample snooping device
hw:CARD=odroidaudio,DEV=0
    odroid-audio, 
    Direct hardware device without any conversions
hw:CARD=odroidaudio,DEV=1
    odroid-audio, 
    Direct hardware device without any conversions
plughw:CARD=odroidaudio,DEV=0
    odroid-audio, 
    Hardware device with all software conversions
plughw:CARD=odroidaudio,DEV=1
    odroid-audio, 
    Hardware device with all software conversions
sysdefault:CARD=USBStreamer
    USBStreamer, USB Audio
    Default Audio Device
front:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Front speakers
surround21:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct sample mixing device
dsnoop:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct sample snooping device
hw:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct hardware device without any conversions
plughw:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Hardware device with all software conversions

when trying to stream audio to the device, as I did it succesfully with my other USB SPDIF Interface it fails:

Is it recognized correctly despite the fact that aplay -l just shows one subdevice?

Is there something special about streaming audio to the device?

Does someone has a working sox, mg123, mplayer or aplay example, so that I can verify what is going wrong here?
Last Edit: 4 years 10 months ago by kalexm.
The administrator has disabled public write access.

multi-channel recording (linux) 4 years 7 months ago #23500

  • Hadfield
  • Hadfield's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 3
  • Thank you received: 2
  • Karma: 0
Hi, thanks a lot for reporting your experiences to this forum. I'm trying to do almost exactly what you're doing - ie use the USBStreamer as an 8-channel simultaneous recorder, via an ADA8000 (and a DDX3216) to files which I can then copy to an editor machine. Only difference is I'm using a Raspberry Pi as the host.

Again, the USBStreamer is recognised and the device is present as a sound card. However I'm having issues getting arecord working. If you have an updated recipe, now that some time has passed since your last post, I would very much value a "step-by-step" setup!!

I'm familiar with Linux, but not the sound system (I'm used to headless servers and c programming - not workstation stuff ;-)

thanks again
Doug
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: devteam