当前位置:操作系统 > Unix/Linux >>

Soundblaster16PnPMini-Howto如何在Linux设定16位PnP声卡

原始文件:Linux

  Soundblaster

  16

  PnP

  Mini-Howto

  档案叙述:如何在

  Linux

  设定

  Soundblaster

  16

  PnP

  音效卡

  翻译日期:1997/11/20

  翻译维护:cwhuang@phys.ntu.edu.tw

  ----------------------------------------------------------------------------------------------

  Linux

  Soundblaster

  16

  PnP

  Mini-Howto

  by

  Eric

  Z.

  Ayers

  v1.0,

  14

  January

  1997

  很高兴地,我的太太给我一块崭新的音效卡作为生日礼物.但不幸地,这块

  Soundblaster

  16

  PnP

  音效卡拒绝在

  Linux

  下工作.事实上,我的

  3com

  3c509

  网路卡也不能在

  Linux

  下运作.

  最後,在随附核心而来的

  Linux

  音效卡驱动程式及由

  ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz

  取得的

  isapnp

  套件的协助下我终於让我的硬体能运作了.

  结果是我必须面对两项主要的困难以便让音效卡能工作.第一个困难是我不

  知道用来和音效卡沟通的

  IRQ

  及输出入埠(IO

  ports)位址.这点由

  isapnp

  工具套件所解决.第二个问题是

  3c509

  乙太网路卡.似乎不论我怎麽去改变

  卡上的设定,Linux

  的核心都没办法认出这块乙太网路卡.结果是因为有一

  个音效卡上的装置和

  3c509

  的侦测程式码相冲.

  1)

  安装

  isapnp

  套件.编辑

  /etc/isapnp.conf

  使得音效卡的

  IRQ

  及输出

  入埠位址不会和你的任何其它装置相冲.

  2)

  重建

  Linux

  核心.将音效支援变成一可载入模组,其中

  IRQ,

  输出入及

  DMA

  位址就如

  isapnp.conf

  所配置的.同时也将你的

  3c509

  做成一模组

  (在编译及安装完你的核心之後不要忘了执行

  make

  modules

  及

  make

  modules_install).

  3)

  修改你系统的启动程序稿.

  我在跑的是

  Slackware

  套件而核心版本是

  2.0.23.在网路被设定之前,我

  执行

  isapnp

  程式

  (在

  /etc/rc.d/rc.M

  里就在

  hostname

  被设定之後):

  #

  EZA

  #

  设定即插即用装置

  /sbin/isapnp

  /etc/isapnp.conf

  然後,我在

  /etc/rc.d/rc.inet1

  所做的第一件事是载入网路卡驱动程式

  #

  EZA

  #

  载入网路卡模组

  /sbin/insmod

  3c509

  我忽略了启动时动态侦测乙太网路卡无法运作的警告讯息,因为它对我没

  有影响.最後,在

  /etc/rc.d/rc.local

  里我插入了音效卡驱动程式模组:

  /sbin/insmod

  sound

  更多关於

  Linux

  即插即用装置的资讯可在

  http://www.redhat.com/linux-info/pnp/

  找到.我现在快乐地以

  Real-Audio

  player

  享用网路并且聆听由我的光碟机所拨放的

  CD

  音乐.

  Eric

  Ayers

  eric.ayers@compgen.com

  ---------------------------------------------------------------------------

  这儿有份我的

  isapnp.conf

  的拷贝,大部份的注解都已去掉.

  #

  Trying

  port

  address

  0203

  #

  Board

  1

  has

  serial

  identifier

  67

  00

  00

  40

  17

  2b

  00

  8c

  0e

  #

  (DEBUG)

  (READPORT

  0x0203)

  (ISOLATE)

  (IDENTIFY

  *)

  #

  Card

  1:

  (serial

  identifier

  67

  00

  00

  40

  17

  2b

  00

  8c

  0e)

  #

  CTL002b

  Serial

  No

  16407

  [checksum

  67]

  #

  Version

  1.0,

  Vendor

  version

  2.0

  #

  ANSI

  string

  -->Creative

  SB16

  PnP

  #

  #

  Logical

  device

  id

  CTL0031

  #

  #

  Edit

  the

  entries

  below

  to

  uncomment

  out

  the

  configuration

  required.

  #

  Note

  that

  only

  the

  first

  value

  of

  any

  range

  is

  given,

  this

  may

  be

  changed

  if

  required

  #

  Don't

  forget

  to

  uncomment

  the

  activate

  (ACT

  Y)

  when

  happy

  (CONFIGURE

  CTL002b/16407

  (LD

  0

  #

  ANSI

  string

  -->Audio

  #

  Multiple

  choice

  time,

  choose

  one

  only

  !

  #

  Start

  dependent

  functions:

  priority

  preferred

  #

  IRQ

  5.

  #

  High

  true,

  edge

  sensitive

  interrupt

  (by

  default)

  (INT

  0

  (IRQ

  5

  (MODE

  +E)))

  (DMA

  0

  (CHANNEL

  1))

  (DMA

  1

  (CHANNEL

  5))

  (IO

  0

  (BASE

  0x0220))

  (IO

  1

  (BASE

  0x0330))

  (IO

  2

  (BASE

  0x0388))

  (ACT

  Y)

  ))

  (CONFIGURE

  CTL002b/16407

  (LD

  1

  (INT

  0

  (IRQ

  11

  (MODE

  +E)))

  (IO

  0

  (BASE

  0x01e8))

  (IO

  1

  (BASE

  0x03ee))

  (ACT

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,