[alsa-devel] Cirrus Logic CS4207
Peter-Jan Deweirdt
deweirdt at gmail.com
Tue Apr 21 14:09:36 CEST 2009
On 21 Apr 2009, at 14:00, Takashi Iwai wrote:
> At Tue, 21 Apr 2009 13:49:17 +0200,
> Peter-Jan Deweirdt wrote:
>>
>>
>> On 21 Apr 2009, at 13:41, Takashi Iwai wrote:
>>
>>> At Tue, 21 Apr 2009 09:24:31 +0200,
>>> Peter-Jan Deweirdt wrote:
>>>>
>>>> Hi,
>>>>
>>>> This is the patch that I've changed to the 2.6.29 kernel. However I
>>>> need some more help for playing the audio. Since I don't really
>>>> know
>>>> what is happening.
>>>>
>>>> It's detecting my audio chip. (a part of dmesg)
>>>> [ 5.171478] Advanced Linux Sound Architecture Driver Version
>>>> 1.0.18a.
>>>> [ 5.176635] HDA Intel 0000:00:1b.0: setting latency timer to 64
>>>> [ 5.220417] ALSA device list:
>>>> [ 5.220434] #0: HDA Intel MID at 0xd0010000 irq 22
>>>>
>>>> So it looks like my audio card is found. Some more outputs
>>>>
>>>> lspci -v
>>>> 00:1b.0 Audio device: Intel Corporation System Controller Hub (SCH
>>>> Poulsbo) HD Audio Controller (rev 06)
>>>> Subsystem: Intel Corporation Unknown device 8119
>>>> Flags: bus master, fast devsel, latency 0, IRQ 22
>>>> Memory at d0010000 (64-bit, non-prefetchable) [size=16K]
>>>> Capabilities: [50] Power Management version 2
>>>> Capabilities: [70] Express Root Complex Integrated Endpoint, MSI
>>>> 00
>>>> Kernel driver in use: HDA Intel
>>>>
>>>>
>>>> [root at localhost ~]# cat /proc/asound/cards
>>>> 0 [MID ]: HDA-Intel - HDA Intel MID
>>>> HDA Intel MID at 0xd0010000 irq 22
>>>> [root at localhost ~]#
>>>>
>>>> [root at localhost ~]# aplay -l
>>>> **** List of PLAYBACK Hardware Devices ****
>>>> card 0: MID [HDA Intel MID], device 0: CS4207 Analog [CS4207
>>>> Analog]
>>>> Subdevices: 1/1
>>>> Subdevice #0: subdevice #0
>>>> card 0: MID [HDA Intel MID], device 1: CS4207 Digital [CS4207
>>>> Digital]
>>>> Subdevices: 1/1
>>>> Subdevice #0: subdevice #0
>>>> [root at localhost ~]#
>>>>
>>>>
>>>> [root at localhost ~]# aplay -L
>>>> front:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> Front speakers
>>>> surround40:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> 4.0 Surround output to Front and Rear speakers
>>>> surround41:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> 4.1 Surround output to Front, Rear and Subwoofer speakers
>>>> surround50:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> 5.0 Surround output to Front, Center and Rear speakers
>>>> surround51:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> 5.1 Surround output to Front, Center, Rear and Subwoofer
>>>> speakers
>>>> surround71:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Analog
>>>> 7.1 Surround output to Front, Center, Side, Rear and Woofer
>>>> speakers
>>>> iec958:CARD=MID,DEV=0
>>>> HDA Intel MID, CS4207 Digital
>>>> IEC958 (S/PDIF) Digital Audio Output
>>>> null
>>>> Discard all samples (playback) or generate zero samples
>>>> (capture)
>>>> pulse
>>>> PulseAudio Sound Server
>>>> default
>>>> Default
>>>> [root at localhost ~]#
>>>>
>>>> [root at localhost ~]# ls -al /dev/snd/
>>>> total 0
>>>> drwxr-xr-x 2 root root 200 Mar 24 20:00 .
>>>> drwxr-xr-x 15 root root 3360 Mar 24 20:00 ..
>>>> crw-rw---- 1 root audio 116, 9 Mar 24 20:00 controlC0
>>>> crw-rw---- 1 root audio 116, 8 Mar 24 20:00 hwC0D0
>>>> crw-rw---- 1 root audio 116, 7 Mar 24 20:00 pcmC0D0c
>>>> crw-rw---- 1 root audio 116, 6 Mar 24 20:58 pcmC0D0p
>>>> crw-rw---- 1 root audio 116, 5 Mar 24 20:00 pcmC0D1c
>>>> crw-rw---- 1 root audio 116, 4 Mar 24 20:30 pcmC0D1p
>>>> crw-rw---- 1 root audio 116, 3 Mar 24 20:00 seq
>>>> crw-rw---- 1 root audio 116, 2 Mar 24 20:00 timer
>>>> [root at localhost ~]#
>>>
>>> All look good, so far.
>>
>> Why am I missing /dev/dsp, /dev/audio, ...
>
> You didn't load OSS emulation modules, such as snd-pcm-oss.
Well I'm using moblin. I tried with the kernel that you can download
from the site but that was also no go. Why would I need OSS emulation?
What is that?
>
>
>>
>>
>>>
>>>
>>>
>>>> The problems that I'm having is:
>>>> - How to play audio?
>>>
>>> % aplay foo.wav
>>
>> [root at localhost ~]# aplay tara.wav
>> ALSA lib pulse.c:272:(pulse_connect) PulseAudio: Unable to connect:
>> Connection refused
>>
>> aplay: main:590: audio open error: Connection refused
>
> It's a problem of pulseaudio, for example, PA isn't started
> automatically by some reason.
This is the output from pulseaudio with the verbose flag:
[root at localhost ~]# pulseaudio -v
I: core-util.c: Successfully gained nice level -11.
W: ltdl-bind-now.c: Failed to find original dlopen loader.
W: main.c: This program is not intended to be run as root (unless --
system is specified).
I: main.c: This is PulseAudio 0.9.14
I: main.c: Page size is 4096 bytes
I: main.c: Machine ID is 061605e6c528796142fe9e3249c97497.
I: main.c: Using runtime directory /root/.pulse/
061605e6c528796142fe9e3249c97497:runtime.
I: main.c: Using state directory /root/.pulse.
I: main.c: Running in system mode: no
W: pid.c: Stale PID file, overwriting.
I: main.c: Dude, your kernel stinks! The chef's recommendation today
is Linux with high-resolution timers enabled!
I: module-hal-detect.c: Trying capability alsa
N: module-alsa-sink.c: Disabling timer-based scheduling because high-
resolution timers are not available from the kernel.
I: module-alsa-sink.c: Successfully opened device front:0.
I: module-alsa-sink.c: Successfully enabled mmap() mode.
I: (alsa-lib)control.c: Invalid CTL front:0
I: alsa-util.c: Unable to attach to mixer front:0: No such file or
directory
I: alsa-util.c: Successfully attached to mixer 'hw:0'
I: alsa-util.c: Cannot find mixer control "Master".
I: alsa-util.c: Using mixer control "PCM".
I: sink.c: Created sink 0
"alsa_output.pci_8086_811b_sound_card_0_alsa_playback_0" with sample
spec s16le 2ch 44100Hz and channel map front-left,front-right
I: source.c: Created source 0
"alsa_output.pci_8086_811b_sound_card_0_alsa_playback_0.monitor" with
sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: module-alsa-sink.c: Using 4 fragments of size 4352 bytes, buffer
time is 98.68ms
I: module-alsa-sink.c: Volume ranges from 0 to 255.
I: module-alsa-sink.c: Volume ranges from -51.00 dB to 0.00 dB.
I: alsa-util.c: All 2 channels can be mapped to mixer channels.
I: module-alsa-sink.c: Using hardware volume control. Hardware dB
scale supported.
I: module-alsa-sink.c: Using software mute control.
I: module-alsa-sink.c: Starting playback.
Soft CPU time limit exhausted, terminating.
Hard CPU time limit exhausted, terminating forcibly.
Aborted (core dumped)
[root at localhost ~]#
Any suggestions?
>
>
>> [root at localhost ~]#
>>
>> Looks like PulseAudio is not running. When I try to start it I get
>> this:
>> [root at localhost ~]# pulseaudio
>> W: ltdl-bind-now.c: Failed to find original dlopen loader.
>> W: main.c: This program is not intended to be run as root (unless --
>> system is specified).
>> W: pid.c: Stale PID file, overwriting.
>> N: module-alsa-sink.c: Disabling timer-based scheduling because high-
>> resolution timers are not available from the kernel.
>> Soft CPU time limit exhausted, terminating.
>> Hard CPU time limit exhausted, terminating forcibly.
>> Aborted (core dumped)
>> [root at localhost ~]#
>>
>> dump from dmesg
>> [ 610.355008] ALSA sound/pci/hda/hda_intel.c:648: hda_intel:
>> azx_get_response timeout, switching to single_cmd mode: last
>> cmd=0x009f000c
>
> Looks like an invalid verb. Maybe an error in the cirrus patch.
> This is the likely reason why PA got screwed, too.
> But, you should try really later version of the kernel if you use PA.
>
> Or, avoid PA for the primary testing unless all things are sorted
> out.
>
I'm not sure if I need PA. But with on my development platform it was
very easy to test by writing a wav file to /dev/audio and I had sound.
I don't know if this has anything to do with PA.
>
>>>> - I am seeing 2 playback devices (what is correct) but no
>>>> headphones
>>>
>>> The streams are just for analog and digital outputs.
>>> The analog outputs are switched either by the automatic HP jack
>>> detection or manual switch (if any).
>>
>> So this means that I'm nog going to be able to play audio on the
>> LineOut1, LineOut2 and HP at the same time?
>
> Depending on the implementation, but usually yes.
>
>
>>>> - How can I see the difference between the MIC in and LINE IN?
>>>
>>> Via mixer controls.
>>
>> How can I use the mixer controls? Do I need some specific devices?
>
> Via a mixer app. And, no, no special device is needed. The mixer
> is controlled over the control device, /dev/snd/control*.
Can you guide me trough to verify why PA is not working and how I can
play and capture audio?
PJ
>
>
>
> Takashi
More information about the Alsa-devel
mailing list