Version: 2.6 (using KDE KDE 3.5.2) Installed from: Ubuntu Packages OS: Linux Kmix prevents my laptop to suspend and resume properly. Explanation: My laptop uses an AC97 modem via the ALSA "snd-intel8x0m" linux module. By default kmix controls all ALSA devices including the modem. Alas the suspend code needs to stop the modem daemon and remove the modem module. That does not work because the module is in use. Kmix keeps /dev/snd/controlC1 open. Workaround: Inserting 'killall kmix' in the suspend script. Question1: Do we really need to see modems outputs in kmix? In principle, this allows us to to change the volume of the modem feedback. Alas it rarely works. Question2: Even if kmix needs to control the modem outputs, is it necessary to keep the device files open all the time. It might be possible to close them after a few seconds of inactivity.
Answers: 1) I don't know whether "we" need to see modems outputs. There might be people using it. 2) Yes, it is neccesary. Otherwise volume updates will not be possible. A working way would be to release the devices on a suspend. Cannot do this now, but probably in the future (DBUS might be able to provide this information somewhen).
The correct fix, in the long term, would be to fix all kernel modules and make them behave properly on suspend and resume. That would eliminate the need to remove them in the first place. A possible short term solution would be to add kmixrc line IgnoreMixer=<regexp> that matches the names of mixers that should be ignored by kmix. The default value could even be IgnoreMixer=".*Modem.*"
Leon, your "IgnoreMixer" idea sounds pretty interesting to investigate. I have no time to implement this in KDE3, but it sounds like a pretty idea for KDE4.
This is implemented now in KDE4. Default expression for ignored soundcards is "Modem". Configuration is by config file (not via GUI) only at this moment.
SVN commit 733632 by esken: Configuration file option for ignoring unwanted sound cards (e.g. Modem beeper). Default Regexp is "Modem". CCBUGS: 124943 M +5 -2 kmix.cpp M +21 -0 mixertoolbox.cpp M +4 -0 mixertoolbox.h WebSVN link: http://websvn.kde.org/?view=rev&revision=733632