当前位置:Linux教程 - Linux资讯 - Alsa-sound-mini-HOWTO(三)

Alsa-sound-mini-HOWTO(三)

  4. 载入驱动程式 有两种使用 ALSA 音效模组的方法. 笔者个人比较喜欢使用手动的方法, 也就是在开机时安插驱动程式. ALSA 驱动程式是以可载入/卸除模组为目标来设计 -- 例如说它们不会在载入後重设音量 -- 所以您可以简单地使用 kerneld 的方法. (译注: 原文直译为 ALSA 驱动程式设计成可载入/卸除模组, 但译者认为 OSS 也可以这麽做(只差它会重设音量, 对模组使用者来说较不方便, 虽然解决办法是有(见 Sound HOWTO)), 这麽翻无法凸显 ALSA 的优点, 故翻成上面的意思. 希望没误解...) 请一定要阅读 向前相容这节, 如果您想要和以前的程式相容的话. 4.1 用 modprobe 安插驱动程式 请注意: 如果您有 PnP 音效卡, 您首先要设定正确的(或至少是已知的) IO/IRQ/DMA. 请读 Plug-and-Play-HOWTO. 您已经设定过您的 随插即用 音效卡了吗? 好, 那麽请继续读下去. 主要部份是 "modprobe snd-", 这样应该就可以. 不过并非所有安装套件都把 /sbin 包含在您的 PATH 环境变数下. 如果您得到 "bash: modprobe: command not found" 这样的回应, 可能是由於 modprobe 没有在 path 中. 试着用 "/sbin/modprobe snd-sb16", 或想办法找出 modprobe 公用程式在哪. 对 Crystal 晶片组的卡来说可能最困难. ALSA 驱动程式不对这些卡进行自动侦测. 更进一步的资讯记载在驱动程式目录下的 INSTALL 档中. 接下来笔者举两个例子, 然後接着是个列表: Gravis UltraSound (GUS) 及相容卡: /sbin/modprobe snd-gusclassic 对完全 16 位元的 SoundBlaster 卡 (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 (PnP): /sbin/modprobe snd-sb16 4.2 那张卡应该用哪个驱动程式? Gravis UltraSound Extreme modprobe snd-gusextreme Gravis UltraSound MAX modprobe snd-gusmax ESS AudioDrive ESS AudioDrive ES-1688 及 ES-688 音效卡 modprobe snd-audiodrive1688 Gravis UltraSound PnP Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32 以及其它用 AMD InterWave (tm) 晶片的音效卡. modprobe snd-interwave UltraSound 32-Pro UltraSound 32-Pro (STB 制 Compaq 使用) 及其它使用 AMD InterWave (tm) 晶片以及用 TEA6330T 电路来做 bass, treble 及主音量控制的卡. modprobe snd-interwave-stb Soundblaster 8-bit Soundblaster 卡 (SoundBlaster 1.0, SoundBlaster 2.0, SoundBlaster Pro) modprobe snd-sb8 Soundblaster 16 16-bit SoundBlaster 卡 (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 (PnP). 请注意本模组不支援 SoundBlaster VibraX16 音效卡. modprobe snd-sb16 Yamaha OPL3-SA2/SA3 音效卡 光是 "modprobe snd-opl3sa" 是无效的, 驱动程式不会自动侦测. 请看後面. S3 SonicVibes S3 SonicVibes PCI 音效卡. (PINE Schubert 32 PCI) modprobe snd-sonicvibes Ensoniq/Soundblaster PCI64 Ensoniq AudioPCI ES1370/1371 PCI 音效卡. (SoundBlaster PCI 64) modprobe snd-audiopci CS4232/4232A 所有使用 CS4232/CS4232A 晶片的音效卡. 光是 "modprobe snd-card-cs4232" 没用, 不自动侦测, 看後面. 4235 以及其後的 所有使用 CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 晶片的. 光是 "modprobe snd-card-cs4236" 没用, 不自动侦测, 看後面.
[1] [2] [3] 下一页 

4.3 不自动侦测时怎麽载入驱动程式 如果您要用的驱动程式不自动侦测, 您必须在让驱动程式运作前先提供额外资讯. 更多资讯可在驱动程式目录下的 INSTALL 档中找到. OPL3-SA2 及 OPL3-SA3 根据 INSTALL 档, 您需要提供驱动程式一切资讯. 如果您用 isapnp-tools 来初始化您的卡, 也许可以在 /etc/isapnp.conf 档中看到像下面的值: snd_port - control port # for OPL3-SA chip snd_wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604) snd_midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable snd_fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable snd_irq - IRQ # for OPL3-SA chip (5,7,9,10) snd_dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3) snd_dma1_size - max first DMA size in kB (4-64kB) snd_dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable snd_dma2_size - max second DMA size in kB (4-64kB) 您要用 "modprobe snd-opl3sa snd_port=0xNNN snd_wss_port=0x530 snd_midi_port=-1 snd_fm_port=0x388 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" 命令来载入驱动程式(没有 midi 支援, 我仍然相信如果您有合成器之类想连上 Linux 主机, 您需要它. 如果只是听 MIDI 档就不必了.) 上例的 "NN" 值您要给真正的值, 我不晓得合理值是多少, 所以才这麽写. 我不晓得 dma 大小的参数是不是非要不可. CS4232/CS4232A 晶片 根据 INSTALL 档所言, 对这些卡您要提供 midi port 的资讯. 注意对下面例中的卡, 它使用给 3235/6/7/8/9 的驱动程式, 我给了所有资讯(除了 DMA 大小), 不然它不会动. 所以您也许就用这整段命令列来载入驱动程式吧! 如果您用了 isapnp-tools, 您可能在 /etc/isapnp.conf 中看到这些值: snd_port - port # for CS4232 chip (PnP setup - 0x534) snd_cport - control port # for CS4232 chip (PnP setup - 0x120) snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15) snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15) snd_dma1 - first DMA # for CS4232 chip (0,1,3) snd_dma1_size - max first DMA size in kB (4-64kB) snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable snd_dma2_size - max second DMA size in kB (4-64kB) 对标准设定值的卡, 您要用 "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" 命令来载入驱动程式(没有 midi 支援, 请看 Yamaha OPL-3 的注意事项, 又, 没有支援摇杆). 如果您的 /etc/isapnp.conf 中的值不同, 那麽这里的值也该变一下. (用用您的头脑想想比较好 ;) 上例的 "NN" 值您要给真正的值, 我不晓得合理值是多少, 所以才这麽写. 我不晓得 dma 大小的参数是不是非要不可. CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 chips 根据 INSTALL 档所言, 对这些卡您要提供 midi port 以及 control port 的资讯. 注意对 CS4237B 的卡, 我给了所有资讯(除了 DMA 大小), 不然它不会动. 所以您也许就用这整段命令列来载入驱动程式, 不只是有 snd_port 及 snd_cport 而已. 如果您用了 isapnp-tools, 您可能在 /etc/isapnp.conf 中看到这些值:
上一页 [1] [2] [3] 下一页 

snd_port - port # for CS4232 chip (PnP setup - 0x534) snd_cport - control port # for CS4232 chip (PnP setup - 0x120) snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15) snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15) snd_dma1 - first DMA # for CS4232 chip (0,1,3) snd_dma1_size - max first DMA size in kB (4-64kB) snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable snd_dma2_size - max second DMA size in kB (4-64kB) 您要用 "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" 命令来载入驱动程式(没有 midi 支援, 请看 Yamaha OPL-3 的注意事项, 又, 没有支援摇杆). 注意事项: "NN" 值要给真正的, 我不知道合理值是多少才这麽写. 我的 CS4237B 卡没有明白指定 DMA 大小也用得很好.

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15) snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15) snd_dma1 - first DMA # for CS4232 chip (0,1,3) snd_dma1_size - max first DMA size in kB (4-64kB) snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable snd_dma2_size - max second DMA size in kB (4-64kB) 您要用 "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" 命令来载入驱动程式(没有 midi 支援, 请看 Yamaha OPL-3 的注意事项, 又, 没有支援摇杆). 注意事项: "NN" 值要给真正的, 我不知道合理值是多少才这麽写. 我的 CS4237B 卡没有明白指定 DMA 大小也用得很好.

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4]