Red Hat Bugzilla – Bug 626223
Regression: SELinux blocks alsactl from creating /etc/asound.state
Last modified: 2012-01-31 13:36:15 EST
Description of problem:
Sound no longer works in F13. Works fine in F12 (and F10).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
2. play sound (e.g. speaker test)
Aug 22 15:59:24 melissa kernel: S3 SonicVibes 0000:01:07.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Aug 22 15:59:24 melissa kernel: ALSA sound/pci/sonicvibes.c:1312: BIOS did not allocate DDMA channel A i/o, allocated at 0x7a00
Aug 22 15:59:24 melissa kernel: ALSA sound/pci/sonicvibes.c:1317: BIOS did not allocate DDMA channel C i/o, allocated at 0x7a10
Aug 22 15:59:24 melissa kernel: gameport: SonicVibes Gameport is pci0000:01:07.0/gameport0, io 0xdf18, speed 1084kHz
00:00.0 Host bridge : Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface [8086:2570] (rev 02)
00:02.0 VGA compatible controller : Intel Corporation 82865G Integrated Graphics Controller [8086:2572] (rev 02)
00:06.0 System peripheral : Intel Corporation 82865G/PE/P Processor to I/O Memory Interface [8086:2576] (rev 02)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 [8086:24d2] (rev 02)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 [8086:24d4] (rev 02)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 [8086:24d7] (rev 02)
00:1d.3 USB Controller [0c03]: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 [8086:24de] (rev 02)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller [8086:24dd] (rev 02)
00:1e.0 PCI bridge : Intel Corporation 82801 PCI Bridge [8086:244e] (rev c2)
00:1f.0 ISA bridge : Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge [8086:24d0] (rev 02)
00:1f.1 IDE interface : Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller [8086:24db] (rev 02)
00:1f.2 IDE interface : Intel Corporation 82801EB (ICH5) SATA Controller [8086:24d1] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller [8086:24d3] (rev 02)
01:07.0 Multimedia audio controller : S3 Inc. SonicVibes [5333:ca00]
01:0c.0 Ethernet controller : Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Still broken in kernel-220.127.116.11-149.fc13.i686
Tried it again in F14 - still doesn't work. On a hunch, I ran alsamixer from the command line, and saw that PCM was muted! Turning that up made it work. So the problem is not the driver, but pulseaudio having silly defaults for hardware. I was unable to find in the gui utils included on liveCD any place to set the other sliders.
Traced the init script, and the problem is that the install did not create /etc/asound.state, and selinux blocks alsactl from creating it. The workaround was to:
# touch /etc/asound.state
# restorecon /etc/asound.state
Then the alsamixer settings are saved on shutdown and restored on boot.
This problem does not seem to be related to sonicvibes. Sonicvibes hardware just defaults to zero volume. It also fails to save mixer settings for Intel HDA.
This should maybe be two bugs:
1) silly defaults for sonicvibes
2) failure to save mixer settings (for any driver)
Did a new install of Fedora 14, KDE spin. System fails to reset volumn level on reboot. Poked around the halt rc script and noticed that one of the 3 files tested in the script was missing (/etc/asound.state).
I had installed most of the Pulse Audio control programs (pavumon, pavman, etc) using YUM. On reboot, Master front volumn is 0, others are 100 as per what appears to be Pulse Audio defaults.
Since /etc/asound.state is owned by alsa-utils, and the RPM shows an empty file should be created, the real question is, how did it get removed?
Just a guess: perhaps under some circumstances, alsactl attempts to update the file by removing and creating a new one. Selinux allows the remove, but not the create.
Update: Following Comment 3 (touch and restorecon on asound.state) fixes the issue on my install.
This seems to be fixed in Fedora 16. Should I close it?
No advice offered, so I am guessing that NEXTRELEASE is the proper code for closing the bug. It is fixed in Fedora 16 (and possibly 15, I haven't tested).