# dmesg | grep snb0snd0:snd0:snd0:snd0:
# cat /dev/sndstatVoxWare Sound Driver:3.5-alpha15-970902 (Wed Aug6 22:58:35 PDT 1997 Amancio Hasty@rah.star-gate.com)Config options: Installed drivers: Type 1: OPL-2/OPL-3 FMType 2: SoundBlasterType 6: SoundBlaster16Type 7: SB16 MIDICard config: SoundBlaster at 0x220 irq 5 drq 1SoundBlaster16 at 0xffffffff irq 1 drq 5SB16 MIDI at 0x330 irq 1OPL-2/OPL-3 FM at 0x388 irq 1Audio devices:0: SoundBlaster 16 4.16Synth devices:0: Yamaha OPL-3Midi devices:0: SoundBlaster 16 MidiTimers:0: System clockMixers:0: SoundBlaster设备文件audio用于声音的输入、输出,如果声卡没有IRQ/DRQ冲突,就能正常使用这个设备,从而可以通过这个设备进行录音和播放声音文件,可以通过标准的操作命令来操作这个设备文件 。
# dd if=/dev/audio of=out.au bs=1024 count=10# cat out.au > /dev/audio此后就可以安装相关的声音应用软件了,这些软件通常位于ports的软件包目录下,例如播放MP3格式的音乐文件的软件mpg123:
# cd /usr/ports/audio/mpg123# make install# mpg123 test.mp3其他的声卡驱动程序
除了SoundBlaster声卡之外,FreeBSD还可以支持SoundBlaster AWE 32/64、Gravis Ultrasound、Microsoft Sound System、Roland MPU 401、ProAudioSpectrum等声卡 。支持这些声卡的驱动也在LINT文件中给出了范例,但这些驱动程序不是单独使用的,需要与上面提到的基本设备sb0相互合作 。
如果计算机上没有声卡,也可以使用个人计算机的喇叭模拟声卡 。这样的音响效果并不令人满意,而且也会消耗大量处理器时间,因此应该尽量使用,模拟声卡的设备驱动为pca0 。
有些情况下某些soundblaster声卡使用以上的sd0声卡设备选项并不能正常工作,会遇到IRQ/DRQ的冲突问题 。此外还可以使用另一个驱动程序pcm0,这个驱动程序能支持一些sb0不支持的SoundBlaster兼容声卡 。当然pcm0的功能相对弱一些,不能支持midi功能 。设备sb0能和其他几个设备同时发挥作用,而pcm0设备不能和前面提到的其他设备相互协作,使用pcm0的配置文件应该为:
controllerpnp0controllersnd0device pcm0 at isa? port 0x220 irq 7 drq 1 vector pcmintr有时由于pnp设置资源的问题,使得pcm驱动将声卡识别为第二个设备pcm1,而报告pcm0与pcm1存在冲突,此时可以简单的建立设备snd1,而忽略pcm0的冲突信息,此后就一直使用snd1作为声卡设备 。
设置ISA PNP声卡
为了给PNP声卡设置正确的资源值,可以在UserConfig中的命令行方式下搜寻PNP设备、配置PNP设备的硬件参数 。如同在前面提到的,对PNP设备需要在UserConfig的命令行方式下使用pnp命令进行设置 。为了保留这个设置,每次启动时都自动进行设置,就需要将设置写入根文件系统中的一个设置文件中,例如/kernel.config,例如对于Soundblaster Vibrx16,执行的pnp命令及写入kernel.config的内容包括:
pnp 1 0 os enable irq0 5 drq0 0 drq1 1 port0 0x220 port1 0x300 port2 0x388pnp 1 1 os enable port0 0x201quit由于pnp命令就为pnp设备分配了资源,那么内核配置文件中的pcm0使用的参数设置就要与它相一致 。
当设置完kernel.config中,还需要设置Boot Loader的资源文件/boot/boot.rc文件,使其能在启动时自动执行设置命令 。
load /kernel
load -t userconfig_script /kernel.configautoboot由于个人计算机上的声卡种类相当多,而FreeBSD支持的声卡类型相对较少,如果用户计算机使用的声卡与FreeBSD支持的类型都不兼容,也可以考虑使用FreeBSD下的商业声卡驱动,商业驱动程序能够支持更多类型的硬件 。Opensound是FreeBSD下的一种商业声卡支持驱动,其主页是http://www.4front.com 。
推荐阅读
- FreeBSD目录结构一览
- 12 FreeBSD连载:用户管理-增加用户
- FreeBSD 系统安装全过程
- FreeBSD网站平台建设全过程 第一步
- 84 FreeBSD连载:配置Apache服务器(1)
- 37 FreeBSD连载:DNS的体系结构
- FreeBSD中的物理内存管理
- 如何在FreeBSD4.9平台上安装Darwin Streaming Server 5.0
- 85 FreeBSD连载:配置Apache服务器(2)
- FreeBSD 6.2下安装监测软件MUNIN手记