Bug 49056

Summary: Pulseaudio does not detect external USB iO4 4-channel input source
Product: PulseAudio Reporter: Phillip Berndt <phillip.berndt>
Component: miscAssignee: pulseaudio-bugs
Status: RESOLVED DUPLICATE QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Phillip Berndt 2012-04-22 09:48:38 UTC
The iO4 USB sound card from Alesis can be set to have two stereo output and two stereo input channels. Pulseaudio does not capture this correctly:

<<<snip<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$ cat /proc/asound/cards
 2 [iO4            ]: USB-Audio - iO4
                      Alesis iO4 at usb-0000:00:12.0-2, full speed
$ cat /proc/asound/devices| grep "[ 2"
  9: [ 2- 0]: raw midi
 10: [ 2- 0]: digital audio playback
 11: [ 2- 0]: digital audio capture
 12: [ 2]   : control

>>snap>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

The capture and playback both have 4 channels, which I can use from all apps directly supporting ALSA (like e.g. audacity). But Pulseaudio gets it wrong:

<<<snip<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$ pactl list # (Stripped everything not iO4 related)

Module #37
        Name: module-alsa-card
        Argument: device_id="2" name="usb-Alesis_iO4-00-iO4" card_name="alsa_card.usb-Alesis_iO4-00-iO4" namereg_fail=false tsched=yes ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1"
        Usage counter: 0
        Properties:
                module.author = "Lennart Poettering"
                module.description = "ALSA Card"
                module.version = "1.0"

Card #9
        Name: alsa_card.usb-Alesis_iO4-00-iO4
        Driver: module-alsa-card.c
        Owner Module: 37
        Properties:
                alsa.card = "2"
                alsa.card_name = "iO4"
                alsa.long_card_name = "Alesis iO4 at usb-0000:00:12.0-2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:00:12.0-usb-0:2:1.0"
                sysfs.path = "/devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.0/sound/card2"
                udev.id = "usb-Alesis_iO4-00-iO4"
                device.bus = "usb"
                device.vendor.id = "13b2"
                device.vendor.name = "Alesis"
                device.product.id = "0071"
                device.product.name = "iO4"
                device.serial = "Alesis_iO4"
                device.string = "2"
                device.description = "iO4"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        Profiles:
                output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority. 700)
                off: Off (sinks: 0, sources: 0, priority. 0)
        Active Profile: output:analog-surround-40



>>snap>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

It misses the capture device. I guess this is the case because of the uncommon 4-channel input. Pulseaudio should at least offer a profile where the source is also available. Let me know if there is anything I can do to help debugging this.

Ideally, it should also offer another one where the channels 1-2 / 3-4 are split, such that there are two sinks and two sources available. This would fit the iO4's design. I guess when the input is recognized the splitting can also be archived via the config files, but it would be far more user friendly to be able to do this from pavucontrol.
Comment 1 Phillip Berndt 2012-04-22 09:51:40 UTC
I forgot to mention I am using Ubuntu's build of Pulseaudio 1.0 (1:1.0-0ubuntu3.1)
Comment 2 Tanu Kaskinen 2012-04-22 10:05:59 UTC
(In reply to comment #0)
> The iO4 USB sound card from Alesis can be set to have two stereo output and two
> stereo input channels.

What do you mean by "can"? Since Pulseaudio doesn't seem to detect any stereo modes as being supported, it looks like the hardware (or at least the driver) doesn't support anything else than opening the card in the 4-channel mode.

It's true that Pulseaudio could do the necessary magic to offer the user two stereo outputs and inputs. For output that's possible with some manual configuration file editing, but it could be more user-friendly (and support also input). If there's no feature request about that yet in the bugzilla, feel free to file another bug if you want.

The main point of your bug report seems to be that Pulseaudio fails to use the input side of the card at all. If it's because of the 4-channel requirement (which is likely), then this bug is a duplicate of bug 45813. That bug contains a patch that needs testing - could you try it out?
Comment 3 Phillip Berndt 2012-04-22 11:44:53 UTC
> What do you mean by "can"?
It has a hardware switch and can be set to have only two channels in each direction in 24-bit mode. This setting works fine.

> The main point of your bug report seems to be that Pulseaudio fails to use the
> input side of the card at all. If it's because of the 4-channel requirement
> (which is likely), then this bug is a duplicate of bug 45813. That bug contains
> a patch that needs testing - could you try it out?
Indeed. Adding the settings to default.conf helped. I'll mark this as a duplicate. Thank you for the hint!

*** This bug has been marked as a duplicate of bug 45813 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.