Y430电脑有个低音炮,正是这个特立独行的设计,使得在使用Linux时候,当插入耳机时候低音炮仍然会发出声音。解决这个问题的方法很简单,修改alsa驱动并重新手工编译。
详细的内容可以参考
http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=239858
里面的改动看的也非常清楚,就是每次向音箱发送一个消息的时候顺带给低音炮也发送一个消息。目前最新版的alsa驱动修改的代码行数有所变动
之前是ubuntu,编译的非常顺利,但是现在用的是Backtrack R3,编译一切都没有问题,但是重启后却发现没有声音
问题的迹象
cat /proc/modules中只有一个snd模块,本来应该是要有好几个的
没有/proc/asound目录
其实问题是因为snd模块没有正常加载
手工执行命令modprobe snd-hda-intel手工加载时会出错
snd: Unknown symbol unregister_sound_special (err 0)
snd: Unknown symbol register_sound_special_device (err 0)
以上为错误描述
解决方法在这里
http://hui.dang.blog.163.com/blog/static/61251865201210122105546/
就是在配置driver的时候加上--with-oss=no
即 ./configure --prefix=/usr --with-cards=hda-intel --with-oss=no
总结:
这个问题卡了好长时间都没有解决,归根到底还是自己对linux不熟悉,例如/proc的功能,模块的加载,dmsg的用法等等
然后搞定之后终于又可以在linux下堕落了……
解决问题过程中参考的其他文档:
=====2013.3.26更新=====
换了archlinux,本来也想同样的方法更新,结果发现最新的1.0.25中已经包含了对ideapad的处理了,所以就不需要更改源代码了