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:
$ 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
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:
$ pactl list # (Stripped everything not iO4 related)
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
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "1.0"
Owner Module: 37
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"
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
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.
I forgot to mention I am using Ubuntu's build of Pulseaudio 1.0 (1:1.0-0ubuntu3.1)
(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?
> 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 ***