pátek 19. dubna 2013

Internal microphone ThinkPad T520 does not work with Fedora 16

Hi, 
This is my personal, very short and simple guide how I have set my internal microphone working on ThinkPad T520 and Fedora 3.3.0-4.fc16.x86_64.   

Switch to root and open config file /var/lib/alsa/asound.state See differences in control points 6 to 12 below. 
Generally – values have to be set as true or higher than 0 etc. After editing and saving run this command: sudo alsactl restore (and check if it works)  

Note! My Fedora implicitly deletes this changes after boot. It can be useful copy that fixed version of asound.state and simply rewrite it and restore again. 
More sophisticated method – set up cron job for this. 
  

Note2! Some people experienced problems with restoring modified asound.state file. In that case simply create new file with correct settings and load it using --file in alsactl because it points on /var/lib/alsa/asound.state file by default.

My control.6 to control.12 changes in asound.state file:


control.6 {
        iface MIXER
        name 'Mic Boost Volume'
        value.0 4
        value.1 4
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 4'
            dbmin 0
            dbmax 4000
            dbvalue.0 4000
            dbvalue.1 4000
        }
    }
    control.7 {
        iface MIXER
        name 'Mic Capture Volume'
        value.0 80
        value.1 80
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 80'
            dbmin -7400
            dbmax 600
            dbvalue.0 600
            dbvalue.1 600
        }
    }
    control.8 {
        iface MIXER
        name 'Mic Capture Switch'
        value.0 true
        value.1 true
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.9 {
        iface MIXER
        name 'Internal Mic Boost Volume'
        value.0 2
        value.1 2
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 4'
            dbmin 0
            dbmax 4800
            dbvalue.0 4800
            dbvalue.1 4800
        }
    }
    control.10 {
        iface MIXER
        name 'Internal Mic Capture Volume'
        value.0 80
        value.1 80
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 80'
            dbmin -7400
            dbmax 600
            dbvalue.0 600
            dbvalue.1 600
        }
    }
    control.11 {
        iface MIXER
        name 'Internal Mic Capture Switch'
        value.0 true
        value.1 true
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.12 {
        iface MIXER
        name 'Master Playback Volume'
        value 74
        comment {
            access 'read write'
            type INTEGER
            count 1
            range '0 - 74'
            dbmin -7400
            dbmax 0
            dbvalue.0 0
        }
    }