我的声卡是创新AWE64,ISA。一直没法发声,请高手帮我看看。很多代码运行不了。
开始吧 !
假设你已经正确地安装好音效卡到你的电脑的主机板上而且也在 DOS 以及 Windows环境上试过了。
然后,如果它是一张 PnP 卡的话我们必须在开机启动时初始化一下。请按照 源代码套件的文件所说地去编译以及安装 isapnptools (或只需使用 Debian 的二进位码套件),然后以 root 的身份执行
# pnpdump > /etc/isapnp.conf
这样会产生一个为你的 PnP 卡量身订做的结构,但它会把所有的设备都注解起来。请再 小心地修改这个文件,如果可能的话并比较 DMA频道、IO、插断等等的设定是否与它在 DOS 或 WINDOW 环境下不一样 (在 Win95 □,要看被接口卡所使用的资源可在 设备管理员下的 资源 看)。 如果你遇到问题,请小心地读一下和isapnptools 放一起的文件。
请注意: isapnptools 常无法侦测 SB AWE Wave Table 设备的三个 I/O 埠。 请查明你的 isapnp.conf 内的 WaveTable 项目 against the example at the end of this HOWTO. 如果需要的话调整一下 I/O base 地址。
注意: 根据e isapnp-faq,有时候 isapnp 会无法得知逻辑设备的数目。如果你遭遇 到像下面的错误讯息:
Error occurred executing request 'LD 2' on or around line...
那试看看加入 (VERIFYLD N) 到 isapnp.conf的上头。你必须使用至少是 1.10 版的才能这么做。 如果你无法使用 1.10 或是更新的版本。你也可以自已直接手动改逻辑设备的数量。 请情请参考 isapnp-faq 。如果还是无法克服,请和我连络 (应该有人也会对 isapnp 有兴趣吧 ,我想)。
小心: 请确认最后那行是 (WAITFORKEY),有时候较旧的 pnpdump 版本会删除它。
在文件的后面有一个isapnp.conf 给单个 PnP 音效卡用的样本。 (请看章节 Sample <tt>isapnp.conf</tt>)。
如果你是用 Debian 系统就不用再做任何的其他调整。 /etc/init.d/boot 加上下面的 命令脚本下,你就可以在开机时启动isapnp
# Configure the isa plug and play boards before loading
# modules. Need to do this before loading modules to get
# a chance of configuring and starting PnP boards before
# the drivers mess all this up.
#
if [ -x /etc/init.d/isapnp ]
then
/etc/init.d/isapnp start
fi
where /etc/init.d/isapnp is
#! /bin/sh
# /etc/init.d/isapnp: configure Plug and Play boards
test -x /sbin/isapnp || exit 0
/sbin/isapnp /etc/isapnp.conf
exit 0
如果你有其他的 Linux 供应商版本,你就要自已来了。我也不知道怎么做 (有谁愿意提供更多的信息吗?)。只要记得 isapnp 必须在所有模组被载入 之前 就被载入了 (请看下面)。
3.3 编译核心程序
在编译核心程序之前,你必须有 AWE Driver Extension 套件来给音效驱动程序使用。就算你 的核心原始程序目录中已经有 awedrv 延伸套件了 (请检查 /drivers/sound/lowlevel/ 看看), 你可能想要升级 awedrv 软件。依照安装在 awedrv 原始目录中的指示。简单地说,你必须执行 一个修补核心原始程序的安装命令脚本。
请小心你已经在执行完安装命令脚本後已经升级了核心原始程序了。这个命令脚本 只是在检查看看一些特定文件是否已经有了,如果有了,它不会有任何需要的修补动作。 你升级核心原始程序後在执行命令脚本前会被建议将 drivers/sound/lowlevel/awe_wav.c 文件移除。
接下来你必须结构核心程序来支持音效。我希望你知道怎么来编译核心程序;详情请参考 Sound HOWTO 以及 Kernel HOWTO。到核心原始程序的目录中, (例如 /usr/src/linux) 然后执行
# make config
或是 make menuconfig 或 make xconfig。然后用标准的方式来 结构你的核心程序。 利用这个机会来做个体积又小又强而有力的核心程序,特别是 为你的系统量身订做的。记得在回答 Enable loadable module support 是选 Y, 如果你想把音效驱动程序安装成可载入式模组的话 (如果你用的是 PnP 卡的话就 必须这么做) ,但我知道你也会这么做吧!
你会在有个地方被问到是否需要音效卡支持。如果你没有 PnP卡的话 你可以自由回答 Y 或 M ,如果你要做成模组的话而且是 PnP卡,必须 回答 M。 你必须将 PnP 音效卡的支持编译成一个模组,因为在模组被载入前 PnP 卡必须先初始化。
下列的问题你应该回答 Y,其余回答 N:
Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]
Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?]
/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]
MIDI interface support (CONFIG_MIDI) [Y/n/?]
FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]
lowlevel sound driver support [Y/n/?]
AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?]
只有后面的是给 Wave Table 合成器用的。其余是 OSS/Free 音效驱动程序给 SB 16 的选项。
除此之外,你必须结构音效卡 I/O 埠。可参考 isapnp.conf 档会给你一些提示, 如果你有这个档的话。对我来说,下面的内定值就够了。请注意:核心程序结构命令脚本的内定值 也有可能是错的 (特别是 SBC_IRQ 和 SB_MPU_BASE 的值对大部份的卡来说好像都错了)。
I/O base for SB Check from manual of the card (SBC_BASE) [220]
Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]
Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]
Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7
(use 1 for 8 bit cards) (SB_DMA2) [5]
MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card
(SB_MPU_BASE) [330]
SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]
好了,现在重新编译核心程序,Debian 的使用者要用 kernel-package指令。 这个套件让我们编译核心程序就像安装 debian 的套件一样容易哦。请看 /usr/doc/kernel-package/□的文件。这里有个提示:
# make-kpkg clean
# make-kpkg -revision custom.1.0 kernel_image
然后 dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb.
如果你的是其他的 Linux 供应商版本,请依照标准的方式来编译新的核心程序。不要忘了 make modules 以及 make modules_install。详情请看 Sound HOWTO 或 Kernel HOWTO。
3.4 重开机
安装完新核心程序後,你应该重新开机 (请记得你要有个可用的开机磁片在手上)。交叉著你的手指头等一下。
如果你有个 PnP 卡,请确认在开机启动命令脚本□或是手动地执行 isapnp (像上面所提的一样):
# /sbin/isapnp /etc/isapnp.conf
Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128
[checksum 74]
现在你可以安装音效驱动程序了,如果你已把它编译成一个模组:
# modprobe -a sound
AWE32 Sound Driver v0.3.3e (DRAM 2048k)
如果你认为内存侦测有误 (有个人告诉我说他有张 AWE64 卡有 4096k,然而 ``侦测到'' 28672k !),请升级 awedrv 软件或是在 /usr/src/linux/drivers/sound/lowlevel/awe_config.h文件□指定内存, 如:
#define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */
抱谦,你必须再重新编译核心程序 (也许编译这些模组就够了,但我不确定)。
如果它成功动作了,你可能希望音效模组能自动载入。你可以使用 kerneld ( 在 1.4章节□有说明为何这是个坏点子) 或是在你的/etc/modules (Debian系统) 里头 加上一行包含 sound 或是加上 /sbin/modprobe -a sound 到你的启动命令脚本□。
[问题]找到了声卡驱动的安装方法,不过看不懂哦,请高手支招。
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 100
- 注册时间: 2007-01-16 20:50
- 来自: 广西南宁
- zhuqin_83
- 帖子: 10606
- 注册时间: 2006-05-13 4:02
- 联系:
- booker
- 帖子: 116
- 注册时间: 2006-04-22 10:50
- 来自: Mito
- 联系:
编译以及安装 isapnptools (或只需使用 Debian 的二进位码套件)
http://www.roestock.demon.co.uk/isapnptools/
http://packages.debian.org/stable/base/isapnptools
Ubuntu only now on Dell XPS M1710