1. 查看你的pc上声卡驱动所需模块
可以看到我的声卡为intel8x0,所以需要snd-intel8x0.ko
另外当然还要alsa必须的2个经典驱动:snd.ko和snd-pcm.ko了.
luther@gliethttp:~$ lsmod |grep snd
snd_intel8x0 29976 8
snd_ac97_codec 101600 1 snd_intel8x0
ac97_bus 1596 1 snd_ac97_codec
snd_pcm_oss 37472 0
snd_mixer_oss 16188 1 snd_pcm_oss
snd_pcm 75136 6 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_seq_dummy 2752 0
snd_seq_oss 29216 0
snd_seq_midi 6624 0
snd_rawmidi 22208 1 snd_seq_midi
snd_seq_midi_event 7036 2 snd_seq_oss,snd_seq_midi
snd_seq 50896 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer 21540 5 snd_pcm,snd_seq
snd_seq_device 7208 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd 60164 22 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 7264 1 snd
snd_page_alloc 9124 2 snd_intel8x0,snd_pcm
2. 卸载当前声卡驱动
luther@gliethttp:~$ sudo /etc/init.d/alsasound stop
luther@gliethttp:~$ sudo rmmod snd_page_alloc
或者
luther@gliethttp:~$ sudo service alsasound stop
luther@gliethttp:~$ sudo rmmod snd_page_alloc
3. 编译alsa声卡驱动
《浅析ubuntu 9.10编译安装alsa-1.0.21驱动alsa-driver和alsa-lib》(如果alsa声卡驱动源码与pc上linux系统的声卡驱动版本号不一致,
那么需要先更新linux系统alsa声卡驱动和lib库到与调试源码版本号一致)
因为上面查到的我的pc声卡为intel8x0,所以这里只编译它
luther@gliethttp:/vobs/alsa/alsa-driver-1.0.21$ ./configure --with-cards=intel8x0
luther@gliethttp:/vobs/alsa/alsa-driver-1.0.21$ make -j4
luther@gliethttp:/vobs/alsa/alsa-driver-1.0.21$ vim Makefile
注释掉第206行# -/sbin/depmod -a $(kaversion) $(SYSTEM_MAP_OPT)
因为依赖关系在
《浅析ubuntu 9.10编译安装alsa-1.0.21驱动alsa-driver和alsa-lib》中已经完成了建立,不用每次都建立,否则很耗时[luther.gliethttp]
luther@gliethttp:/vobs/alsa/alsa-driver-1.0.21$ sudo make install
4. 加载编译的驱动,进行alsa源码级调试
luther@gliethttp:~$ sudo modprobe snd
luther@gliethttp:~$ sudo modprobe snd-pcm
luther@gliethttp:~$ sudo modprobe snd-intel8x0
5. 一切都ok了,你可以看到自己加入的log信息了!
PS:驱动模块对应的.c源文件
snd.ko 对应alsa-driver-1.0.21/acore/sound.c==>alsa_sound_init函数
snd-pcm.ko 对应alsa-driver-1.0.21/acore/pcm.c==>alsa_pcm_init函数
snd-intel8x0.ko 对应alsa-driver-1.0.21/pci/intel8x0==>alsa_card_intel8x0_init函数
阅读(754) | 评论(0) | 转发(0) |