[USB-Audio, playback] 4-channel mode don't work on E-MU 0204 USB

Bug #1192458 reported by Nomad on 2013-06-19
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Undecided
Unassigned

Bug Description

On E-MU 0204 USB only 2-channel mode worked. In this mode the second pair of channels just duplicates the output of the first pair. E-MU control panel under MS Windows allow to switch to 2-channel or 4-channel mode. I ran USB sniffer, and it shows switch commands that the system send to the device:

======================================
Host send 2 bytes to device:
Request: 0x1
Value: 0x400
Data: 01 01 //switching to 2-channel mode
Data: 01 02 //switching to 4-channel mode
======================================

Looks like in Ubuntu the card by default stay in 2-channel mode. Switching to 4-channel mode apparently can be added to quirks.c

DistroRelease: Ubuntu 12.10
Package: alsa-base 1.0.25+dfsg-0ubuntu4
Uname: Linux 3.9.6-030906-generic x86_64
Architecture: amd64

Nomad (n0mad) on 2013-06-19
summary: - 4-channel mode don't work on E-MU 0204 USB
+ [USB-Audio] 4-channel mode don't work on E-MU 0204 USB
summary: - [USB-Audio] 4-channel mode don't work on E-MU 0204 USB
+ [USB-Audio, playback] 4-channel mode don't work on E-MU 0204 USB
description: updated
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
igor (ibs0d) wrote :

how manual send to device this two bytes ?

igor (ibs0d) on 2013-07-31
Changed in alsa-driver (Ubuntu):
assignee: nobody → igor (it-k)
assignee: igor (it-k) → nobody
Nomad (n0mad) wrote :

author not responded. :(

Nomad (n0mad) wrote :

Finally I did it. It took only one line in Python. This is it:

device.ctrl_transfer(0x21,1,0x400,0xE00,[1,2])

Maybe someone can insert it into the kernel driver.

Raymond (superquad-vortex2) wrote :

post the output of your emu0204

lsusb -vvvv

Nomad (n0mad) wrote :

The output in the attached file. But the output is identical in 2-channel and 4-channel mode.

Nomad (n0mad) wrote :

I made a patch for quirks.c , please check it. Unfortunately I do not know how to add switching to alsamixer.

The attachment "alsa_emu0204.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Raymond (superquad-vortex2) wrote :

post the output of alsa-info.sh

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/792528

Do you have the "PCM playback Volume" ?

Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right - Rear Left - Rear Right
  Limits: Playback 0 - 200
  Mono:
  Front Left: Playback 200 [100%] [0.00dB] [on]
  Front Right: Playback 200 [100%] [0.00dB] [on]
  Rear Left: Playback 200 [100%] [0.00dB] [on]
  Rear Right: Playback 200 [100%] [0.00dB] [on]

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/usb/pcm.c

Do your command used for the setup of stereo stream and quad stream in set_format()

 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
           hw_rule_channels, subs,
           SNDRV_PCM_HW_PARAM_FORMAT,
           SNDRV_PCM_HW_PARAM_RATE,
           param_period_time_if_needed,
           -1)) < 0)

are those channels_max is 4 and channels_min is 2 when add the rule for channels

Nomad (n0mad) wrote :

No, this card has no hardware volume control.

Raymond (superquad-vortex2) wrote :

Don't cut the info

do you have two playback devices ?

**** List of PLAYBACK Hardware Devices ****
card 1: USB [E-MU 0404 | USB], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: USB [E-MU 0404 | USB], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

does device 1 support digital output ?

Simple mixer control 'DigitalIn CLK source External',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'DigitalOut format: SPDIF/AC3',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]

seem missing iec958 controls

http://git.alsa-project.org/?p=alsa-lib.git;a=blob_plain;f=src/conf/cards/USB-Audio.conf;hb=HEAD

Nomad (n0mad) wrote :

This is the full log file.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments