2.6.26-rc1 regression: e5e1d3cb20034a3cbcfff1f0bae12201aa2ce17e breaks artsd
artsd (kde sound daemon) is broken on current git for my system.
git-bisect reveals the following patch as the culprit:
commit e5e1d3cb20034a3cbcfff1f0bae12201aa2ce17e
Author: Stas Sergeev <[email protected]> Date: Wed May 7 12:39:56 2008 +0200
pcspkr: fix dependancies
fix pcspkr dependancies: make the pcspkr platform drivers to depend on a platform device, and not the other way around.
:040000 040000 b4de6e2cc3456298333f772d1d42f02175436635b059bb087fcc91e716932de0a88d8fcbd4b10bf0 M arch
:040000 040000 7ad4e3dd5b5849b03b6de634c296a4e7105d1e883c3a6b94a6ba09de08354652d637a63261882354 M drivers
:040000 040000 1f42e63fb073f1d90c1478a90a7f7006e131a246c359431c3fc57cae9d6ac1ae995614d3e48772df M init
:040000 040000 131e667cb1f3d3ea7fbb87052a65a0b35dc4185040454985821df34702be8a65ede4440859b4ab85 M sound
I've verified that reverting the above patch on current git fixes the problem.
Here's the output of lscpi on my laptop (hp nx7010)
00:00.0 Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81) 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] (rev 01)
02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 20)
02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)
More info on request.
Kind regards
R
Signature · 3 lines
Roberto Oppedisano [RO2480-RIPE] Infracom Network Application OSS and LIR Services Tel. +39 045 8271518 Fax +39 045 8271499 Cell. +39 348 7419534
Hello.
Quoted 9 lines · Roberto Oppedisano
artsd (kde sound daemon) is broken on current git for my system.
git-bisect reveals the following patch as the culprit:
commit
e5e1d3cb20034a3cbcfff1f0bae12201aa2ce17eAuthor: Stas Sergeev <[email protected]> Date: Wed May 7 12:39:56 2008 +0200pcspkr: fix dependancies
[]
Quoted 1 line
More info on request.
cat /proc/asound/cards
I guess you simply got the pc-speaker driver
loaded first and became your primary sound
driver, which is not what you want.
Hello.
Quoted 12 lines · Stas Sergeev
Hello.
Quoted 8 lines · Roberto Oppedisano
artsd (kde sound daemon) is broken on current git for my system.
git-bisect reveals the following patch as the culprit:
commit
e5e1d3cb20034a3cbcfff1f0bae12201aa2ce17eAuthor: Stas Sergeev <[email protected]> Date: Wed May 7 12:39:56 2008 +0200
Quoted 8 lines
Quoted 2 lines
pcspkr: fix dependancies
[]
Quoted 2 lines
More info on request.
cat
/proc/asound/cards
0 [pcsp ]: PC-Speaker - pcsp
Internal PC-Speaker at port 0x61
1 [I82801DBICH4 ]: ICH4 - Intel 82801DB-ICH4
Intel 82801DB-ICH4 with AD1981B at irq 10
2 [Modem ]: ICH-MODEM - Intel 82801DB-ICH4 Modem
Intel 82801DB-ICH4 Modem at irq 10Quoted 4 lines
I guess you simply got the pc-speaker driver
loaded first and became your primary sound
driver, which is not what you want.
yes, that's true. Anyway in this case the sound server crashes with a signal 6.
Passing -D dsp1 to artsd avoids the crash, but I can't hear sound coming out from the speakers (this could be my fault, have to investigate a little bit more).
Kind regards
R
Hello.
Quoted 8 lines · Roberto Oppedisano
Quoted 2 lines
cat
/proc/asound/cards0 [pcsp ]: PC-Speaker - pcsp
Internal PC-Speaker at port 0x61 1 [I82801DBICH4 ]: ICH4 - Intel 82801DB-ICH4 Intel 82801DB-ICH4 with AD1981B at irq 10 2 [Modem ]: ICH-MODEM - Intel 82801DB-ICH4 Modem Intel 82801DB-ICH4 Modem at irq 10
Quoted 5 lines
Quoted 3 lines
I guess you simply got the pc-speaker driver
loaded first and became your primary sound
driver, which is not what you want.yes, that's true. Anyway in this case the sound server crashes with a signal 6.
I can't say for sure why does the crash happen, but what is known is that you need a very recent alsa-lib to get pc-speaker working properly. And even 1.0.16 is not modern enough for that. :(
But that's not a big deal.
The attached config is only what's needed. Put it into /usr/share/alsa/cards and /etc/alsa/cards and maybe that will help. There should be already the file with that name - overwrite it.
Quoted 1 line
Passing -D dsp1 to artsd avoids the crash,
The easiest solution is
---
options snd-pcsp index=2
---
into /etc/modprobe.conf. It will then not go ahead of 2 other drivers of yours.
#
# Configuration for PC-Speaker driver #
<confdir:pcm/front.conf>
PC-Speaker.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type softvol
slave.pcm {
type hw
card $CARD
}
control {
name "Master Playback Volume"
card $CARD
}
min_dB -10.0
max_dB 20.0
} # default with dmix & null
PC-Speaker.pcm.default {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type softvol
control {
name "Master Playback Volume"
card $CARD
}
min_dB -10.0
max_dB 20.0
slave.pcm {
type plug
slave.pcm {
@func concat
strings [ "dmix:" $CARD ]
}
}
}
capture.pcm {
type null
}
}Hello.
Quoted 19 lines · Stas Sergeev
Quoted 10 lines · Roberto Oppedisano
Quoted 3 lines
cat
/proc/asound/cards0 [pcsp ]: PC-Speaker - pcsp
Internal PC-Speaker at port 0x61 1 [I82801DBICH4 ]: ICH4 - Intel 82801DB-ICH4 Intel 82801DB-ICH4 with AD1981B at irq 10 2 [Modem ]: ICH-MODEM - Intel 82801DB-ICH4 Modem Intel 82801DB-ICH4 Modem at irq 10Quoted 7 lines
Quoted 4 lines
I guess you simply got the pc-speaker driver
loaded first and became your primary sound
driver, which is not what you want.yes, that's true. Anyway in this case the sound server crashes with a signal 6.
Quoted 13 lines
I can't say for sure why does the crash happen, but what is known is that you need a very recent alsa-lib to get pc-speaker working properly. And even 1.0.16 is not modern enough for that. :(
But that's not a big deal.
The attached config is only what's needed. Put it into/usr/share/alsa/cardsand/etc/alsa/cardsand maybe that will help. There should be already the file with that name - overwrite it.
With the supplied conf (and without the module option) artsd does not crash anymore (no sound from pc speaker but that's not an issue, my alsa-lib is still 1.0.16).
Quoted 10 lines
Quoted 2 lines
Passing -D dsp1 to artsd avoids the crash,
The easiest solution is
---
options snd-pcsp index=2
---
into/etc/modprobe.conf. It will then not go ahead of 2 other drivers of yours.
I can confirm that this solved any issue I had with sound, which is now working properly.
Kind regards,
R
Hello.
Quoted 3 lines · Roberto Oppedisano
With the supplied conf (and without the module option) artsd does not crash anymore (no sound from pc speaker but that's not an issue, my alsa-lib is still 1.0.16).
That's rather bad. :( With the proper config and alsa-lib 1.0.16 it was supposed to work...
Do the speaker beeps work?
Like those made by
---
echo -e "\a"
---
command.
Have you made sure that everything is unmuted in alsamixer and the volume is at maximum?
If everything fails, could you please try the "nforce_wa=1" option to snd-pcsp? Your chipset doesn't seem to be nforce, but who knows, maybe the nforce workaround will help here too...
Quoted 2 lines
I can confirm that this solved any issue I had with sound, which is now working properly.
Thanks for the info.
Stas Sergeev ha scritto, Il 12/05/2008 20.22:
Quoted 10 lines
Hello.
Quoted 3 lines · Roberto Oppedisano
With the supplied conf (and without the module option) artsd does not crash anymore (no sound from pc speaker but that's not an issue, my alsa-lib is still 1.0.16).
That's rather bad. :( With the proper config and alsa-lib 1.0.16 it was supposed to work...
Do the speaker beeps work?
I tried the funcionality using "the other OS" and the speaker is working.
Quoted 5 lines
Like those made by
---
echo -e "\a"
---
command.
This is non working.
Quoted 3 lines
Have you made sure that everything is unmuted in alsamixer and the volume is at maximum?
I believe so, but 'till now the speaker is not working. I'll try harder.
Quoted 5 lines
If everything fails, could you please try the "nforce_wa=1" option to snd-pcsp? Your chipset doesn't seem to be nforce, but who knows, maybe the nforce workaround will help here too...
Will try this ASAP an report.
Kind regards
R
Quoted 7 lines · Roberto Oppedisano
Stas Sergeev ha scritto, Il 12/05/2008 20.22:
Quoted 3 lines
Have you made sure that everything is unmuted in alsamixer and the volume is at maximum?
I believe so, but 'till now the speaker is not working. I'll try harder.
In alsamixer i see:
Item: PC Speaker [Off]
and I cant' find a way to toggle it.
With kmix I can toggle the mute setting (alsamixer still sees it off), but no sound comes out from the speaker.
I also tried
echo -e "\a"
without the module loaded (on old kernel), and the speaker is mute.
Probably something is wrong in my env.
Quoted 6 lines
Quoted 5 lines
If everything fails, could you please try the "nforce_wa=1" option to snd-pcsp? Your chipset doesn't seem to be nforce, but who knows, maybe the nforce workaround will help here too...
Will try this ASAP an report.
I tried also this but without success.
R
Non-working snd-pcsp
[Changed the subject since it's no real regression]
At Tue, 13 May 2008 17:41:21 +0200,
Quoted 7 lines · Roberto Oppedisano
Quoted 5 lines · Roberto Oppedisano
Stas Sergeev ha scritto, Il 12/05/2008 20.22:
Quoted 3 lines
Have you made sure that everything
is unmuted in alsamixer and the volume
is at maximum?
Quoted 7 lines
Quoted 2 lines
I believe so, but 'till now the speaker is not working. I'll try harder.
In alsamixer i see:
Item: PC Speaker [Off]
and I cant' find a way to toggle it.
Could you run "alsactl -f somefile store" and show that file? This will contain the full mixer information.
Quoted 7 lines
With kmix I can toggle the mute setting (alsamixer still sees it off), but no sound comes out from the speaker.
I also triedecho -e "\a"
without the module loaded (on old kernel), and the speaker is mute.
When snd-pcsp is built, the input pcspkr is excluded. So, the beep won't work unless snd-pcsp is loaded and activated.
thanks,
Takashi
Re: Non-working snd-pcsp
Hello.
Quoted 2 lines · Takashi Iwai
[Changed the subject since it's no real regression]
ACK
Quoted 3 lines
Could you run "alsactl -f somefile store" and show that file? This will contain the full mixer information.
Attached.
Quoted 11 lines
Quoted 8 lines
With kmix I can toggle the mute setting (alsamixer still sees it off), but no sound comes out from the speaker.
I also triedecho -e "\a"
without the module loaded (on old kernel), and the speaker is mute.
When snd-pcsp is built, the input pcspkr is excluded. So, the beep won't work unless snd-pcsp is loaded and activated.
I tried this on 2.6.25 where:
roppedisano@poppero1:~$ grep PCSP /boot/config-2.6.25 roppedisano@poppero1:~$
So, if I'm not missing something, I think it should have worked
Kind regards
R
state.I82801DBICH4 {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Master Playback Switch'
value.0 false
value.1 false
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Master Playback Volume'
value.0 20
value.1 20
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Headphone Playback Switch'
value.0 false
value.1 false
}
control.4 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Headphone Playback Volume'
value.0 0
value.1 0
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Mono Playback Switch'
value false
}
control.6 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Master Mono Playback Volume'
value 30
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Phone Playback Switch'
value false
}
control.8 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Phone Playback Volume'
value 0
}
control.9 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Playback Switch'
value false
}
control.10 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Mic Playback Volume'
value 12
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Boost (+20dB)'
value false
}
control.12 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Line Playback Switch'
value.0 false
value.1 false
}
control.13 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Line Playback Volume'
value.0 0
value.1 0
}
control.14 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'CD Playback Switch'
value.0 false
value.1 false
}
control.15 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'CD Playback Volume'
value.0 31
value.1 31
}
control.16 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Aux Playback Switch'
value.0 false
value.1 false
}
control.17 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Aux Playback Volume'
value.0 0
value.1 0
}
control.18 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'PCM Playback Switch'
value.0 false
value.1 false
}
control.19 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'PCM Playback Volume'
value.0 23
value.1 23
}
control.20 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 CD
value.1 CD
}
control.21 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
}
control.22 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
comment.dbmin 0
comment.dbmax 2250
iface MIXER
name 'Capture Volume'
value.0 0
value.1 0
}
control.23 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mix
comment.item.1 Mic
iface MIXER
name 'Mono Output Select'
value Mix
}
control.24 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic1
comment.item.1 Mic2
iface MIXER
name 'Mic Select'
value Mic1
}
control.25 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.26 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value cf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
}
control.27 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0082000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.28 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value false
}
control.29 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 3'
iface MIXER
name 'IEC958 Playback AC97-SPSA'
value 3
}
control.30 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 AC-Link
comment.item.1 'A/D Converter'
iface MIXER
name 'IEC958 Playback Source'
value AC-Link
}
control.31 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Stereo Mic'
value false
}
control.32 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Jack Sense'
value false
}
control.33 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Line Jack Sense'
value false
}
}
state.Modem {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Off-hook Switch'
value false
}
control.2 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Caller ID Switch'
value false
}
control.3 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 3'
iface MIXER
name 'Modem Speaker Volume'
value.0 0
value.1 0
}
}
state.pcsp {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value false
}
control.2 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '37286'
comment.item.1 '37286'
iface MIXER
name 'BaseFRQ Playback Volume'
value '37286'
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'PC Speaker Playback Switch'
value false
}
control.4 {
comment.access 'read write user'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
comment.tlv '0000000100000008fffffc180000000b'
comment.dbmin -1000
comment.dbmax 1805
iface MIXER
name 'Master Playback Volume'
value.0 255
value.1 255
}
}Re: Non-working snd-pcsp
At Wed, 14 May 2008 07:35:19 +0200,
Quoted 11 lines · Roberto Oppedisano
Hello.
Quoted 2 lines · Takashi Iwai
[Changed the subject since it's no real regression]
ACK
Quoted 3 lines
Could you run "alsactl -f somefile store" and show that file? This will contain the full mixer information.
Attached.
You turned off both "Master Playback Switch" and "PC Speaker Playback Switch" of snd-pcsp driver. Then it cannot work.
And, since you loaded the sound driver for on-board sound chip, you'll likely have to adjust the mixer of that driver, too. The beep can be hooked to the on-board chip once after initialized.
But I'm wondering why "PC Speaker Playback Switch" and Volume don't appear in the on-board driver. Which codec (I suppose it's AC97) on it?
Quoted 11 lines
Quoted 11 lines
Quoted 8 lines
With kmix I can toggle the mute setting (alsamixer still sees it off), but no sound comes out from the speaker.
I also triedecho -e "\a"
without the module loaded (on old kernel), and the speaker is mute.
When snd-pcsp is built, the input pcspkr is excluded. So, the beep won't work unless snd-pcsp is loaded and activated.
Quoted 6 lines
I tried this on 2.6.25 where:
roppedisano@poppero1:~$ grep PCSP /boot/config-2.6.25 roppedisano@poppero1:~$So, if I'm not missing something, I think it should have worked
Weird. If CONFIG_INPUT_PCSPKR isn't there, the box shouldn't beep at all. If it still beeps, it must be a bug...
thanks,
Takashi
Re: Non-working snd-pcsp
Quoted 17 lines · Takashi Iwai
At Wed, 14 May 2008 07:35:19 +0200,
Quoted 4 lines · Roberto Oppedisano
Hello.
Takashi Iwai wrote:
Quoted 9 lines
Quoted 2 lines
[Changed the subject since it's no real regression]
ACK
Quoted 3 lines
Could you run "alsactl -f somefile store" and show that file? This will contain the full mixer information.
Attached.
Quoted 7 lines
You turned off both "Master Playback Switch" and "PC Speaker Playback Switch" of snd-pcsp driver. Then it cannot work.
And, since you loaded the sound driver for on-board sound chip, you'll likely have to adjust the mixer of that driver, too. The beep can be hooked to the on-board chip once after initialized.
I tried different switch combination with alsamixer, but no still no sound from the speaker...
(I managed to enable the speaker, following Stas suggestion)
Quoted 4 lines
But I'm wondering why "PC Speaker Playback Switch" and Volume don't appear in the on-board driver. Which codec (I suppose it's AC97) on it?
yep.
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
Quoted 15 lines
Quoted 15 lines
Quoted 4 lines
Quoted 4 lines
With kmix I can toggle the mute setting (alsamixer still sees it off), but no sound comes out from the speaker.
I also triedQuoted 9 lines
Quoted 5 lines
echo -e "\a"
without the module loaded (on old kernel), and the speaker is mute.
When snd-pcsp is built, the input pcspkr is excluded. So, the beep won't work unless snd-pcsp is loaded and activated.
I tried this on 2.6.25 where:
Quoted 8 lines
Quoted 5 lines
roppedisano@poppero1:~$ grep PCSP /boot/config-2.6.25 roppedisano@poppero1:~$So, if I'm not missing something, I think it should have worked
Weird. If
CONFIG_INPUT_PCSPKRisn't there, the box shouldn't beep at all. If it still beeps, it must be a bug...
I can confirm that the box doesn't beep.
Kind regards
R
Re: Non-working snd-pcsp
Hello.
Quoted 2 lines · Roberto Oppedisano
I tried different switch combination with alsamixer, but no still no sound from the speaker...
Both no beeps and no PCM?
Please show us your current full
mixer config again.
Please don't forget to try the
options snd-pcsp nforce_wa=1
too.
Quoted 1 line
(I managed to enable the speaker, following Stas suggestion)
With the master volume at maximum?
Then I am almost out of ideas... :(
Re: Non-working snd-pcsp
Quoted 9 lines · Stas Sergeev
Quoted 2 lines
I tried different switch combination with alsamixer, but no still no sound from the speaker...
Both no beeps and no PCM?
Please show us your current full
mixer config again.
Please don't forget to try the
options snd-pcsp nforce_wa=1
too.
Quoted 3 lines
Quoted 1 line
(I managed to enable the speaker, following Stas suggestion)
With the master volume at maximum?
Then I am almost out of ideas... :(
If it does not even beep when issuing Ctrl-G on the shell, you probably need to modprobe pcspkr, if it is not built-in. (At least this is with kernels a little less recent than 2.6.25. )
Re: Non-working snd-pcsp
At Fri, 16 May 2008 15:15:32 +0200 (CEST),
Quoted 13 lines · Jan Engelhardt
Quoted 9 lines · Stas Sergeev
Quoted 2 lines
I tried different switch combination with alsamixer, but no still no sound from the speaker...
Both no beeps and no PCM?
Please show us your current full
mixer config again.
Please don't forget to try the
options snd-pcsp nforce_wa=1
too.
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
(I managed to enable the speaker, following Stas suggestion)
With the master volume at maximum?
Then I am almost out of ideas... :(If it does not even beep when issuing Ctrl-G on the shell, you probably need to modprobe pcspkr, if it is not built-in. (At least this is with kernels a little less recent than 2.6.25. )
If snd-pcsp module is built, input pcspkr module won't be built...
Takashi
Re: Non-working snd-pcsp
Quoted 7 lines · Takashi Iwai
Quoted 5 lines
If it does not even beep when issuing Ctrl-G on the shell, you probably need to modprobe pcspkr, if it is not built-in. (At least this is with kernels a little less recent than 2.6.25. )
If snd-pcsp module is built, input pcspkr module won't be built...
Previously, with Stas's standalone patch, one was able to switch between (a) no speaker (b) beep/pcspkr (c) beep/pcspkr and PCM/snd-pcsp, all by means of modprobe/rmmod.
Now, if pcspkr is deactivated when snd-pcsp is built... I would not get any tone out of that piece of hardware. Except if snd-pcsp itself contains beep code, and that would be sort of redundant when it is already in pcspkr.
Re: Non-working snd-pcsp
Quoted 4 lines · Jan Engelhardt
Now, if pcspkr is deactivated when snd-pcsp is built... I would not get any tone out of that piece of hardware. Except if snd-pcsp itself contains beep code, and that would be sort of redundant when it is already in pcspkr.
It does contain exactly that -- snd-pcsp also provides the old input driver when compiled.
Rene.
Re: Non-working snd-pcsp
In reply to Jan EngelhardtAt Fri, 16 May 2008 17:18:36 +0200 (CEST),
Quoted 11 lines · Jan Engelhardt
Quoted 7 lines · Takashi Iwai
Quoted 5 lines
If it does not even beep when issuing Ctrl-G on the shell, you probably need to modprobe pcspkr, if it is not built-in. (At least this is with kernels a little less recent than 2.6.25. )
If snd-pcsp module is built, input pcspkr module won't be built...
Quoted 8 lines
Previously, with Stas's standalone patch, one was able to switch between (a) no speaker (b) beep/pcspkr (c) beep/pcspkr and PCM/snd-pcsp, all by means of modprobe/rmmod.
Now, if pcspkr is deactivated when snd-pcsp is built... I would not get any tone out of that piece of hardware. Except if snd-pcsp itself contains beep code, and that would be sort of redundant when it is already in pcspkr.
Indeed snd-pcsp contains the input pcspkr code. Yes, it's redundant, but separating them isn't trivial.
Takashi
Re: Non-working snd-pcsp
In reply to Jan EngelhardtHello.
Quoted 3 lines · Jan Engelhardt
Previously, with Stas's standalone patch, one was able to switch between (a) no speaker (b) beep/pcspkr (c) beep/pcspkr and PCM/snd-pcsp, all by means of modprobe/rmmod.
But now you can get any such combination by the use of alsamixer only.
Quoted 2 lines
Except if snd-pcsp itself contains beep code, and that would be sort of redundant when it is already in pcspkr.
It is redundant only if you _intend_ to use both drivers. But its usually a bad idea to have multiple drivers serving the single device simultaneously. The other way of thinking about it, is that you simply use a new driver instead of an old one. The new one does everything the old one did and more. Since they can't be built together, the redundancy is then only in a source code.
I am not saying it is an ideal solution. It is not, but for only a single reason - people who need only beeps, may not want to have the entire sound subsystem loaded. So they want pcspkr to be at least built. But getting these drivers back together again, suddenly became very problematic...
Re: Non-working snd-pcsp - solved
In reply to Stas SergeevHello.
Quoted 7 lines · Stas Sergeev
Hello.
Quoted 3 lines · Roberto Oppedisano
I tried different switch combination with alsamixer, but no still no sound from the speaker...
Quoted 7 lines
Both no beeps and no PCM?
Please show us your current full
mixer config again.
Please don't forget to try the
options snd-pcsp nforce_wa=1
too.
I've played a little bit more with alsamixer and finally managed to get both beep and PCM working; nforce_wa does not make any difference with my hw.
I noticed that when I run
aplay -D plughw:2,0 /usr/share/sounds/KDE_Logout.wav
I get a flood of:
[ 417.338143] PCSP: playback_ptr inconsistent (4642 4661 18645) [ 417.338196] PCSP: playback_ptr inconsistent (4644 4661 18645) [ 417.338250] PCSP: playback_ptr inconsistent (4646 4661 18645) [ 417.338304] PCSP: playback_ptr inconsistent (4648 4661 18645) [ 417.338360] PCSP: playback_ptr inconsistent (4650 4661 18645) [ 417.338409] PCSP: playback_ptr inconsistent (4652 4661 18645) [ 417.338463] PCSP: playback_ptr inconsistent (4654 4661 18645) [ 417.338518] PCSP: playback_ptr inconsistent (4656 4661 18645)
...
Just in case you're still interested I'll attach the output of
alsactl -f alsactl-f3 store
Kind regards,
R
Signature · 3 lines
Roberto Oppedisano [RO2480-RIPE] Infracom Network Application OSS and LIR Services Tel. +39 045 8271518 Fax +39 045 8271499 Cell. +39 348 7419534
state.I82801DBICH4 {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Master Playback Switch'
value.0 true
value.1 true
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Master Playback Volume'
value.0 19
value.1 18
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Headphone Playback Switch'
value.0 true
value.1 true
}
control.4 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Headphone Playback Volume'
value.0 0
value.1 0
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Mono Playback Switch'
value true
}
control.6 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -4650
comment.dbmax 0
iface MIXER
name 'Master Mono Playback Volume'
value 30
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Phone Playback Switch'
value true
}
control.8 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Phone Playback Volume'
value 31
}
control.9 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Playback Switch'
value true
}
control.10 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Mic Playback Volume'
value 12
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Boost (+20dB)'
value true
}
control.12 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Line Playback Switch'
value.0 true
value.1 true
}
control.13 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Line Playback Volume'
value.0 0
value.1 0
}
control.14 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'CD Playback Switch'
value.0 true
value.1 true
}
control.15 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'CD Playback Volume'
value.0 31
value.1 31
}
control.16 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Aux Playback Switch'
value.0 true
value.1 true
}
control.17 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Aux Playback Volume'
value.0 31
value.1 31
}
control.18 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'PCM Playback Switch'
value.0 true
value.1 true
}
control.19 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'PCM Playback Volume'
value.0 23
value.1 23
}
control.20 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 Mic
value.1 Mic
}
control.21 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
}
control.22 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
comment.dbmin 0
comment.dbmax 2250
iface MIXER
name 'Capture Volume'
value.0 0
value.1 0
}
control.23 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mix
comment.item.1 Mic
iface MIXER
name 'Mono Output Select'
value Mix
}
control.24 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic1
comment.item.1 Mic2
iface MIXER
name 'Mic Select'
value Mic1
}
control.25 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.26 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value cf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
}
control.27 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0082000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.28 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value true
}
control.29 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 3'
iface MIXER
name 'IEC958 Playback AC97-SPSA'
value 3
}
control.30 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 AC-Link
comment.item.1 'A/D Converter'
iface MIXER
name 'IEC958 Playback Source'
value AC-Link
}
control.31 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Stereo Mic'
value true
}
control.32 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Jack Sense'
value false
}
control.33 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Line Jack Sense'
value false
}
}
state.Modem {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Off-hook Switch'
value false
}
control.2 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Caller ID Switch'
value false
}
control.3 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 3'
iface MIXER
name 'Modem Speaker Volume'
value.0 0
value.1 0
}
}
state.pcsp {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.2 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '18643'
comment.item.1 '18643'
iface MIXER
name 'BaseFRQ Playback Volume'
value '18643'
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'PC Speaker Playback Switch'
value true
}
control.4 {
comment.access 'read write user'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
comment.tlv '0000000100000008fffffc180000000b'
comment.dbmin -1000
comment.dbmax 1805
iface MIXER
name 'Master Playback Volume'
value.0 255
value.1 255
}
}PATCH 1/1 snd-pcsp: silent misleading warning
Hello.
Quoted 4 lines · Roberto Oppedisano
I noticed that when I run
aplay -D plughw:2,0/usr/share/sounds/KDE_Logout.wav
I get a flood of:[ 417.338143] PCSP: playback_ptr inconsistent (4642 4661 18645)
It turns out that the buffer size you
get, is not evenly devided by period size.
18645 % 4661 = 1.
That (wrongly) triggers the warning.
This may very well be an alsa bug, or
may not, but the code in the driver is
handling that properly, so there is no
need for such a verbose warning.
The attached patch shuts down the warning.
Takashi, could you please apply?
# HG changeset patch
# User Stas Sergeev <[email protected]>
# Date 1211038849 -14400
# Node ID 2278b9a6058f5b45081f8227902df585474a81a6
# Parent 49d310de8ac42e5c495cf39440f4fde307b39c75
It appears that alsa allows a sound buffer with size not evenly devided by the period size. This triggers a warning in snd-pcsp and floods the log. As a quick fix, the warning should be disabled.
drivers/pcsp/pcsp_lib.c +3 -1
@@ -119,9 +119,11 @@ enum hrtimer_restart pcsp_do_timer(struc chip->playback_ptr +=PCSP_INDEX_INC () * fmt_size; periods_elapsed = chip->playback_ptr - chip->period_ptr;if (periods_elapsed <0 ) { -printk (KERN_WARNING "PCSP: playback_ptr inconsistent " +#if PCSP_DEBUG +printk (KERN_INFO "PCSP: buffer_bytes mod period_bytes != 0 ? " "(%zi %zi %zi)\n" , chip->playback_ptr, period_bytes, buffer_bytes); +#endif periods_elapsed += buffer_bytes; } periods_elapsed /= period_bytes;
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Re: [patch] snd-pcsp: silent misleading warning
At Sat, 17 May 2008 19:50:42 +0400,
Quoted 8 lines · Stas Sergeev
Hello.
Quoted 4 lines · Roberto Oppedisano
I noticed that when I run
aplay -D plughw:2,0/usr/share/sounds/KDE_Logout.wav
I get a flood of:[ 417.338143] PCSP: playback_ptr inconsistent (4642 4661 18645)
Quoted 8 lines
It turns out that the buffer size you get, is not evenly devided by period size. 18645 % 4661 = 1.
That (wrongly) triggers the warning. This may very well be an alsa bug, or may not, but the code in the driver is handling that properly, so there is no need for such a verbose warning.
The right fix would be to add a hw_constraint to align the buffer size. The simplest way is to add the following in PCM open callback.
snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS);
Takashi
Re: [patch] snd-pcsp: silent misleading warning
Hello.
Quoted 11 lines · Takashi Iwai
Quoted 9 lines
Quoted 1 line
[ 417.338143] PCSP: playback_ptr inconsistent (4642 4661 18645)It turns out that the buffer size you get, is not evenly devided by period size. 18645 % 4661 = 1.
That (wrongly) triggers the warning. This may very well be an alsa bug, or may not, but the code in the driver is handling that properly, so there is no need for such a verbose warning.The right fix would be to add a
hw_constraintto align the buffer size. The simplest way is to add the following in PCM open callback.
But what does this fix? That's only a warning, the driver itself doesn't care at all. The fix you propose, will need more testing, at least a confirmation from the reporter. I simply thought this can't happen. Now you say its a perfectly sane situation, and then there is nothing to care about, just shut up the warning. No?
Re: [patch] snd-pcsp: silent misleading warning
At Sun, 18 May 2008 21:32:39 +0400,
Quoted 15 lines · Stas Sergeev
Hello.
Quoted 11 lines · Takashi Iwai
Quoted 9 lines
Quoted 1 line
[ 417.338143] PCSP: playback_ptr inconsistent (4642 4661 18645)It turns out that the buffer size you get, is not evenly devided by period size. 18645 % 4661 = 1.
That (wrongly) triggers the warning. This may very well be an alsa bug, or may not, but the code in the driver is handling that properly, so there is no need for such a verbose warning.The right fix would be to add a
hw_constraintto align the buffer size. The simplest way is to add the following in PCM open callback.
Quoted 9 lines
But what does this fix? That's only a warning, the driver itself doesn't care at all. The fix you propose, will need more testing, at least a confirmation from the reporter. I simply thought this can't happen. Now you say its a perfectly sane situation, and then there is nothing to care about, just shut up the warning. No?
Well, judging from your previous comment, I thought that it's no sane situation for *your* driver. But if the driver doesn't care in practice, your fix should be fine. I'll queue it on my tree.
thanks,
Takashi
Re: [patch] snd-pcsp: silent misleading warning
Hello.
Quoted 2 lines · Takashi Iwai
Well, judging from your previous comment, I thought that it's no sane situation for *your* driver.
Only by wrongly triggering a warning
that was supposed for the different
purpose. :)
Quoted 2 lines
But if the driver doesn't care in
practice, your fix should be fine. I'll queue it on my tree.
Thanks.
Re: Non-working snd-pcsp
In reply to Roberto OppedisanoHello.
Quoted 3 lines · Roberto Oppedisano
In alsamixer i see:
Item: PC Speaker [Off]
and I cant' find a way to toggle it.
Thats simple. Just press 'm' button. There are also the M letters right above the percentage value of the control. That means Mute. By pressing m, make sure no controls have M but instead have O (not sure what does O stand for).
You can also use F1 for help.