From: thomas schorpp <thomas.schorpp@googlemail.com>
To: alsa-devel@alsa-project.org
Subject: Re: [CONF] All C-Media Codecs based 5.1 Channel USB- Headsets
Date: Sun, 18 Nov 2007 05:38:17 +0100 [thread overview]
Message-ID: <473FC1B9.8040704@googlemail.com> (raw)
In-Reply-To: <4730B527.7050707@googlemail.com>
thomas schorpp wrote:
> Takashi Iwai wrote:
>> At Sun, 04 Nov 2007 08:36:56 +0100,
>> thomas schorpp wrote:
>>> Report to devlist as requested from USB-Audio.conf header:
>>
>> Thanks for the report.
>>
>>> 1. all this headsets with windriver inf files + manual showing
>>> c-media driver must have the cm106x series 7.1 channel usb-codec in.
>>> there's no other from c-media for the design of 5.1 channel usb
>>> headsets available at this time, see:
>>>
>>> http://www.cmedia.com.tw/?q=en/usb_audio
>>>
>>> 2. the headset interface shows up with 8 channels in lsusb -v , 1
>>> 8-ch pcm in /proc,
>>> and must be driven with surround7.1 pcm plug instead of surround5.1
>>> or it will not work. speaker-test program works with -c6
>>> -Dsurround7.1, test with -c8 works too, but shows that no SideL/R
>>> -speakers connected/routed/downmixed ( Speedlink Medusa 5.1 Mobile
>>> USB Headset, cm106L)
>>
>> OK, and what about surround40? Does it work as is (I don't expect so,
>> though)?
>
> seems to work fine if i specify default:1 as "stereo playback device" in
> Xine-UI, tested yesterday, well it is a headphone, so it is hard to
> locate speakers but you get double the volume from parallel speaker
> drive, 5.1 CH is lower volume ;)
> for stereo playback we must assure LFE+Center is off, respectively or
> stereo maybe eliminated acoustically. for Xine it sounds not like, but
> for VLC, but thats real subjective.
> the headset has 3 speakers per ear, i dont know the LFE+Center circuits...
> so plug:surround40 is a good idea.
>
>>
>> For adding the proper configuration, please check the content of
>> /proc/asound/cards. It gives the name string.
>
> the "name" is from the drivers "id" parm, right?
>> If the proc entry is like:
>>
>> 0 [Foo ]: FOO - FOO BAR
>> FOO BAR DEVICE (Blah 0.0)
>>
>> then "FOO BAR" is the name string that we need to pass.
>> (FYI, "FOO" is the driver string, "Foo" is the ID string and "FOO BAR
>> DEVICE (Blah 0.0)" is the longname string.)
>>
>> Now add the following to ~/.asoundrc:
>>
>> USB-Audio."FOO BAR".pcm.surround51 {
>> @args [ CARD ]
>> @args.CARD { type string }
>> type route
>> ttable.0.0 1
>> ttable.1.1 1
>> ttable.2.4 1
>> ttable.3.5 1
>> ttable.4.2 1
>> ttable.5.3 1
>> slave {
>> pcm {
>> type hw
>> card $CARD
>> device 0
>> }
>> channels 8
>> }
>> }
>
> will try it tomorrow, thx.
tom1:/etc# cat /proc/asound/cards
0 [V8237 ]: VIA8237 - VIA 8237
VIA 8237 with ALC850 at 0xa800, irq 22
1 [Audio ]: USB-Audio - USB Audio
USB Audio at usb-0000:00:10.3-1, full speed
2 [AiptekDV3500 ]: USB-Audio - DV 3500
DV 3500 at usb-0000:00:10.1-2, full speed
USB-Audio."USB Audio".pcm.surround51 {
@args [ CARD ]
@args.CARD { type string }
type route
ttable.0.0 1
ttable.1.1 1
ttable.2.4 1
ttable.3.5 1
ttable.4.2 1
ttable.5.3 1
slave {
pcm {
type hw
card $CARD
device 0
}
channels 8
}
}
hm. this seems to change nothing here, wether with VLC or
vdr with -a '/usr/bin/ac3dec -6 -D surround71:CARD=Audio'
(ac3dec with my "enable -6 with DD2.0 input patch from alsa bugzilla).
speaker-test -Dsurround51:CARD=Audio -c 6 -t wav still err "no conf avail.".
speaker-test -Dsurround71:CARD=Audio -c 6 -t wav is fine.
speaker-test -Ddefault:CARD=Audio -c 6 -t wav aligns speakers wrongly with or
without /etc/asound.conf
anyway. i'm fully satisfied. :) if You want me to test more, drop me a note.
>
>>
>> Also, /proc/asound/card*/stream* files would be helpful to understand
>
> tom1:~# cat /proc/asound/card1/stream*
> USB Audio at usb-0000:00:10.3-1, full speed : USB Audio
>
> Playback:
> Status: Stop
> Interface 1
> Altset 1
> Format: 0x2
> Channels: 8
> Endpoint: 6 OUT (ADAPTIVE)
> Rates: 44100, 48000
>
> Capture:
> Status: Stop
> Interface 2
> Altset 1
> Format: 0x2
> Channels: 2
> Endpoint: 5 IN (ASYNC)
> Rates: 44100, 48000
>
> running vdr -a '/usr/bin/ac3dec -6 -D plug:surround71:1' on 5.1 media
> playback gives:
>
> tom1:~# cat /proc/asound/card1/stream*
> USB Audio at usb-0000:00:10.3-1, full speed : USB Audio
>
> Playback:
> Status: Running
> Interface = 1
> Altset = 1
> URBs = 2 [ 8 2 ]
> Packet Size = 768
> Momentary freq = 48000 Hz (0x30.0000)
> Interface 1
> Altset 1
> Format: 0x2
> Channels: 8
> Endpoint: 6 OUT (ADAPTIVE)
> Rates: 44100, 48000
>
> Xine cdda with default:1 as stereo device setup:
>
> Playback:
> Status: Running
> Interface = 1
> Altset = 1
> URBs = 3 [ 8 8 6 ]
> Packet Size = 768
> Momentary freq = 48000 Hz (0x30.0000) <-- ??? should be 44.1kHz
> Interface 1
> Altset 1
> Format: 0x2
> Channels: 8
> Endpoint: 6 OUT (ADAPTIVE)
> Rates: 44100, 48000
>
> VLC cdda has the best sound output so far:
>
> Playback:
> Status: Running
> Interface = 1
> Altset = 1
> URBs = 3 [ 8 8 8 ] <----------XXX ?
> Packet Size = 768
> Momentary freq = 44100 Hz (0x2c.199a) <--- XXX
> Interface 1
> Altset 1
> Format: 0x2
> Channels: 8
> Endpoint: 6 OUT (ADAPTIVE)
> Rates: 44100, 48000
>
>
>> more, at best, together with lsusb -vv output.
>
> tom1:~# lsusb -vv -d 0d8c:0006
>
> Bus 005 Device 002: ID 0d8c:0006 C-Media Electronics, Inc.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 1.10
> bDeviceClass 0 (Defined at Interface level)
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 8
> idVendor 0x0d8c C-Media Electronics, Inc.
> idProduct 0x0006
> bcdDevice 0.10
> iManufacturer 0
> iProduct 2 USB Audio
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 340
> bNumInterfaces 4
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xa0
> (Bus Powered)
> Remote Wakeup
> MaxPower 500mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 1 Control Device
> bInterfaceProtocol 0
> iInterface 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 1 (HEADER)
> bcdADC 1.00
> wTotalLength 187
> bInCollection 2
> baInterfaceNr( 0) 1
> baInterfaceNr( 1) 2
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 1
> wTerminalType 0x0101 USB Streaming
> bAssocTerminal 0
> bNrChannels 8
> wChannelConfig 0x063f
> Left Front (L)
> Right Front (R)
> Center Front (C)
> Low Freqency Enhancement (LFE)
> Left Surround (LS)
> Right Surround (RS)
> Side Left (SL)
> Side Right (SR)
> iChannelNames 0
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 4
> wTerminalType 0x0201 Microphone
> bAssocTerminal 0
> bNrChannels 2
> wChannelConfig 0x0003
> Left Front (L)
> Right Front (R)
> iChannelNames 0
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 8
> bSourceID 4
> bControlSize 1
> bmaControls( 0) 0x40
> Automatic Gain
> bmaControls( 1) 0x02
> Volume
> bmaControls( 2) 0x02
> Volume
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 9
> bSourceID 4
> bControlSize 1
> bmaControls( 0) 0x01
> Mute
> bmaControls( 1) 0x02
> Volume
> bmaControls( 2) 0x02
> Volume
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 25
> bDescriptorType 36
> bDescriptorSubtype 4 (MIXER_UNIT)
> bUnitID 12
> bNrInPins 3
> baSourceID( 0) 1
> baSourceID( 1) 9
> baSourceID( 2) 11
> bNrChannels 8
> wChannelConfig 0x063f
> Left Front (L)
> Right Front (R)
> Center Front (C)
> Low Freqency Enhancement (LFE)
> Left Surround (LS)
> Right Surround (RS)
> Side Left (SL)
> Side Right (SR)
> iChannelNames 0
> bmControls 0x00
> bmControls 0x00
> bmControls 0x00
> iMixer 0
> junk at descriptor end: 00 00 00 00 00 00 00 00 00
> AudioControl Interface Descriptor:
> bLength 16
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 13
> bSourceID 12
> bControlSize 1
> bmaControls( 0) 0x03
> Mute
> Volume
> bmaControls( 1) 0x00
> bmaControls( 2) 0x00
> bmaControls( 3) 0x00
> bmaControls( 4) 0x00
> bmaControls( 5) 0x00
> bmaControls( 6) 0x00
> bmaControls( 7) 0x00
> bmaControls( 8) 0x00
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 9
> bDescriptorType 36
> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
> bTerminalID 3
> wTerminalType 0x0301 Speaker
> bAssocTerminal 0
> bSourceID 13
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 2
> bSourceID 12
> bControlSize 1
> bmaControls( 0) 0x00
> bmaControls( 1) 0x02
> Volume
> bmaControls( 2) 0x02
> Volume
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 9
> bDescriptorType 36
> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
> bTerminalID 10
> wTerminalType 0x0101 USB Streaming
> bAssocTerminal 0
> bSourceID 7
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 5 (SELECTOR_UNIT)
> bUnitID 7
> bNrInPins 4
> baSource( 0) 8
> baSource( 1) 15
> baSource( 2) 16
> baSource( 3) 2
> iSelector 0
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 6
> wTerminalType 0x0603 Line Connector
> bAssocTerminal 0
> bNrChannels 2
> wChannelConfig 0x0003
> Left Front (L)
> Right Front (R)
> iChannelNames 0
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 15
> bSourceID 6
> bControlSize 1
> bmaControls( 0) 0x00
> bmaControls( 1) 0x02
> Volume
> bmaControls( 2) 0x02
> Volume
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 11
> bSourceID 6
> bControlSize 1
> bmaControls( 0) 0x01
> Mute
> bmaControls( 1) 0x02
> Volume
> bmaControls( 2) 0x02
> Volume
> iFeature 0
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 5
> wTerminalType 0x0605 SPDIF interface
> bAssocTerminal 0
> bNrChannels 2
> wChannelConfig 0x0003
> Left Front (L)
> Right Front (R)
> iChannelNames 0
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 6 (FEATURE_UNIT)
> bUnitID 16
> bSourceID 5
> bControlSize 1
> bmaControls( 0) 0x01
> Mute
> bmaControls( 1) 0x00
> bmaControls( 2) 0x00
> iFeature 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 0
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 0
> iInterface 0
> AudioStreaming Interface Descriptor:
> bLength 7
> bDescriptorType 36
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 1
> bDelay 1 frames
> wFormatTag 1 PCM
> AudioStreaming Interface Descriptor:
> bLength 14
> bDescriptorType 36
> bDescriptorSubtype 2 (FORMAT_TYPE)
> bFormatType 1 (FORMAT_TYPE_I)
> bNrChannels 8
> bSubframeSize 2
> bBitResolution 16
> bSamFreqType 2 Discrete
> tSamFreq[ 0] 44100
> tSamFreq[ 1] 48000
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> bEndpointAddress 0x06 EP 6 OUT
> bmAttributes 9
> Transfer Type Isochronous
> Synch Type Adaptive
> Usage Type Data
> wMaxPacketSize 0x0300 1x 768 bytes
> bInterval 1
> bRefresh 0
> bSynchAddress 0
> AudioControl Endpoint Descriptor:
> bLength 7
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x01
> Sampling Frequency
> bLockDelayUnits 0 Undefined
> wLockDelay 0 Undefined
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 0
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 0
> iInterface 0
> AudioStreaming Interface Descriptor:
> bLength 7
> bDescriptorType 36
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 10
> bDelay 1 frames
> wFormatTag 1 PCM
> AudioStreaming Interface Descriptor:
> bLength 14
> bDescriptorType 36
> bDescriptorSubtype 2 (FORMAT_TYPE)
> bFormatType 1 (FORMAT_TYPE_I)
> bNrChannels 2
> bSubframeSize 2
> bBitResolution 16
> bSamFreqType 2 Discrete
> tSamFreq[ 0] 44100
> tSamFreq[ 1] 48000
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> bEndpointAddress 0x85 EP 5 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x00c8 1x 200 bytes
> bInterval 1
> bRefresh 0
> bSynchAddress 0
> AudioControl Endpoint Descriptor:
> bLength 7
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x01
> Sampling Frequency
> bLockDelayUnits 0 Undefined
> wLockDelay 0 Undefined
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 3 Human Interface Devices
> bInterfaceSubClass 0 No Subclass
> bInterfaceProtocol 0 None
> iInterface 0
> HID Device Descriptor:
> bLength 9
> bDescriptorType 33
> bcdHID 1.00
> bCountryCode 0 Not supported
> bNumDescriptors 1
> bDescriptorType 34 Report
> wDescriptorLength 50
> Report Descriptors:
> ** UNAVAILABLE **
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0003 1x 3 bytes
> bInterval 32
> Device Status: 0x0000
> (Bus Powered)
> tom1:~#
>>
>>
>> Takashi
>>
>
> thx
> y
> tom
>
y
tom
prev parent reply other threads:[~2007-11-18 8:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-04 7:36 [CONF] All C-Media Codecs based 5.1 Channel USB- Headsets thomas schorpp
2007-11-06 8:39 ` thomas schorpp
2007-11-06 12:29 ` Takashi Iwai
2007-11-06 18:40 ` thomas schorpp
2007-11-18 4:38 ` thomas schorpp [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=473FC1B9.8040704@googlemail.com \
--to=thomas.schorpp@googlemail.com \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.