linux是块鸡肋,纵然优点不少,象蓝点和冲浪平台等日趋成熟,已汉化到核心,但操作的不方便使其和windows仍有相当差距。用了一段时间的linux,遇到的问题和知道的一样多(当然是先遇到后知道啦!—:)。其中麻烦我最久的,便是声卡的设置了,看了好些english才终于no
problem。不甘白白辛苦,于是决定写出来骗点稿费,补补营养(本文是菜鸟写给菜鸟的,大虾们见笑了)。
因为linux的ext2文件系统和windows的fat文件系统完全不同,所以几乎没有厂商提供linux下的声卡驱动盘。虽然linux本身也能识别许多声卡,并且许多不能识别的也能被驱动,但这只能靠我们自己动手才能实现,否则被识别了的声卡也不能发声。
这里我们假设你的声卡在windows下能正常工作,在windows的开始→设置→控制面板→系统→设备管理器中声卡的设备属性里,查看资源分配,将声卡的IRQs(中断请求)、I/O(输入/输出范围)、DMA(直接内存访问)等参数记下(最好将所有的声卡设备参数都记下)。比如我
的OPTi931声卡,开始I/O(主要的)是X0220,IRQ是05,8bit的DMA是03,16bit的DMA是06。MPU-401(多数声卡都有的MIDI设备)的IRQ是9,开始I/O是x0300。不同的声卡或在不同机器上的相同声卡参数都不一样,大家注意了。下一步,以root身份进入linux,启动配置程序,本文以redhat为例,即在命令窗口中输入setup.(蓝点、冲浪平台都是以redhat为核心,如果在rurboLinux中,是执行TurboPNPCfg分配硬件资源后用TurboSoundCfg来设置。还有些linux中是从/usr/sbin/sndconfig启动设置程序。如果都不行,请看安装盘的帮助文件,一般是在/docs目录下找相关帮助文件,关键字如sound、voice、snd等)进入设置菜单后,选择Sound Card
configuration项,然后系统将检测声卡,不管检测到的正不正确都选OK,如果这时能通过两声的语音测试(一声男音测试表示声卡驱动成功,一声音阶测试表示MIDI驱动成功)。
那么恭喜,下边的东西可以不看了。如果没能通过或出现错误提示,那就继续,选择声卡芯片组的类型。列表中有你的芯片组类型最好,如果没有,找兼容的也行。怎么找?一个个选,看那个声卡的I/O、DMA、IRQ参数范围类有你的参数;DMA数量一样(没有或1个或2个);其他设备一样(如MPU-401及其IRQ、I/O参数范围),那么这就算一个了。当然也不一定兼容的就能驱动(如我的OPTi931就不能用OPTi930驱动)。但是耐心多找几个也许就行了。如果实在不行,就请看下去,用另一种方法解决。选中合适的驱动程序后,输入在windows中抄的参数,接下来测试,完成。这里有个小窍门,就是自动检测失败后退出再重设,多试几次也许就检测正确了,我的OPTi931就是这样被找到的。
如果用尽了上边的方法都不能“征服”声卡,那么只有用杀手锏了——编译系统核心。不要被“编译”俩字吓倒,其实也不过一阵Y/N罢了,但是在编译前最好能尽量多的知道你声卡的有关信息.核心的编译有三种方法,即make config、make menuconfig、make xconfig(在Xwindow下)
。我们以最原始的make config为例,但是并不推荐这种方法,最好,还是在Xwindow下用make xconfig,这种方式可以按要求设置,而不需要从头到脚的做一遍核心设置。好,开始准备编译。
首先取得最新的kernel(用旧的也行,在光盘中找,一般带有kernel或linux等关键字,具体是什么看光盘中帮助)。以root身份在/usr/src/中解压(以*.gz压缩的)或安装(以*.rpm封装的)。然后在生成的目录下(一般是linux目录)执行make mrproper。接着执行make xconfig,你可以开始编
译了。
找到我们需要的项sound,点击后开始编译声卡部分。下边列几项重要的选项:
Microsoft Sound System support[N/y/?]:
是否需要支持Microsoft音效系统。一般选N。
MPU_401 support(NOT for SB16)[N/y/?]:
声卡上有没有MPU_401这个midi设备。没有或是SB系列声卡选N。一般都选y。
/dev/dsp and /dev/audio supprot[Y/n/?]:
是否支持dsp和audio设备。N是给没声卡的人选的。
MIDI interface support(CONFIG_MIDI)[Y/n/?]:
要不要支持MIDI设备。选N的话还要声卡干嘛?
FM synthesizer(YM3812/OPL-3)supprot[Y/n/?]:
是否有FM的电子合成设备YM3812/OPL-3。一般选y
……
一页选完了,按next选下一页,还有很多诸如此类的问答,还会用上我们抄的那些IRQ等参数。到最后一页后会出现finish。点击,完成。