Comment 40 for bug 886975

Revision history for this message
c4pp4 (c4pp4) wrote : Re: Lenovo sound chip Conexant CX20549 Venice doesn't work correctly.

Please read carefully!

I've changed the way of providing the sound driver. Now I'm using the DKMS framework so there is no need to wait for my updates. Your system will be always updated with the correct sound driver.

I've created a package called 'lenovo-conexant-dkms'. It's a repack of the package provided by Ubuntu Audio Development Team (Brad Figg's link at #36).

I'm still using my old ppa (link at #39) so there is no need to change your repositories. Just install the new package called 'lenovo-conexant-dkms'.

A description of the changes are in my ppa. I've also included some minor upstream changes.

One issue is remaining to resolve. After the updgrade there is still a crackling (popping) sound when rebooting or shutting down the computer although the crackling sound when suspending the computer was eliminated. I'm using the following workaround to also eliminate it:

- fire up Terminal and follow the instructions

- create a script file amixer-master-mute (or download the attached one)
gksudo gedit /etc/init.d/amixer-master-mute

- insert the following code to mute the master mixer
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: amixer-master-mute
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop: 0 6
# Short-Description: Mute the Master mixer
# Description: Mute the Master mixer to avoid
# a crackling (popping) sound
# from the speakers when rebooting
# or shutting down the computer.
### END INIT INFO

case "$1" in
    start)
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        amixer set Master mute > /dev/null
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

exit 0

- save the script and set the execute flag on it
sudo chmod 755 /etc/init.d/amixer-master-mute

- set to start the script when rebooting or shutting down the computer (arguments are terminated by ".")
sudo update-rc.d amixer-master-mute start 20 0 6 .

- to remove the workaround
sudo update-rc.d -f amixer-master-mute remove
sudo rm /etc/init.d/amixer-master-mute