Next Previous Contents

3. ¦p¦ó¦w¸Ë SB AWE ­µ®Ä¤ä´©

3.1 §A»Ý­nªºªFªF

¦b Linux ¤U¨Ï¥Î SB AWE »Ý­n¤U¦CªFªF®@¡G

¦pªG§A¦³­Ó PnP ¥d¡A§AÁٻݭn¡G

½Ð¬Ý¦³Ãö©ó¦p¦ó¨ú±o³o¨Çµ{¦¡ªº³¹¸` Sources¡C

¦pªG§A¦³ Debian GNU/Linux ¨t²Î¡A¨º§A»Ý­n kernel-source-<version>, awe-drv ®M¥ó¡A¤]³\Áٻݭn isapnptools³o­Ó¡AÁöµM¨Ã¤£»Ý­n¦ý§A¥i¯à·Q­n¤@¨Ç awe-* ®M¥ó¡A§Ú ±j¯P«Øij§A±Ä¥Î kernel-package ·|§ó®e©ö½sĶ¤Î¦w¸Ë®Ö¤ßµ{¦¡¡C

3.2 ¶}©l§a !

°²³]§A¤w¸g¥¿½T¦a¦w¸Ë¦n­µ®Ä¥d¨ì§Aªº¹q¸£ªº¥D¾÷ªO¤W¦Ó¥B¤]¦b DOS ¥H¤Î WindowsÀô¹Ò¤W¸Õ¹L¤F¡C

µM«á¡A¦pªG¥¦¬O¤@±i PnP ¥dªº¸Ü§Ú­Ì¥²¶·¦b¶}¾÷±Ò°Ê®Éªì©l¤Æ¤@¤U¡C½Ð«ö·Ó ­ì©lÀÉ®M¥óªº¤å¥ó©Ò»¡¦a¥h½sĶ¥H¤Î¦w¸Ë isapnptools (©Î¥u»Ý¨Ï¥Î Debian ªº¤G¶i¦ì½X®M¥ó)¡AµM«á¥H root ªº¨­¥÷°õ¦æ

# pnpdump > /etc/isapnp.conf

³o¼Ë·|²£¥Í¤@­Ó¬°§Aªº PnP ¥d¶q¨­­q°µªº«Øºc¡A¦ý¥¦·|§â©Ò¦³ªº³]³Æ³£µù¸Ñ°_¨Ó¡C½Ð¦A ¤p¤ß¦a­×§ï³o­ÓÀɮסA¦pªG¥i¯àªº¸Ü¨Ã¤ñ¸û DMAÀW¹D¡BIO¡B´¡Â_µ¥µ¥ªº³]©w¬O§_»P¥¦¦b DOS ©Î WINDOW Àô¹Ò¤U¤£¤@¼Ë (¦b Win95 ùØ¡A­n¬Ý³Q¤¶­±¥d©Ò¨Ï¥Îªº¸ê·½¥i¦b ³]³ÆºÞ²z­û¤Uªº ¸ê·½ ¬Ý)¡C ¦pªG§A¹J¨ì°ÝÃD¡A½Ð¤p¤ß¦aŪ¤@¤U©Misapnptools ©ñ¤@°_ªº¤å¥ó¡C

½Ðª`·N: isapnptools ±`µLªk°»´ú SB AWE Wave Table ³]³Æªº¤T­Ó I/O °ð¡C ½Ð¬d©ú§Aªº isapnp.conf ¤ºªº WaveTable ¶µ¥Ø against the example at the end of this HOWTO. ¦pªG»Ý­nªº¸Ü½Õ¾ã¤@¤U I/O base ¦ì§}¡C

ª`·N: ®Ú¾Úe isapnp-faq¡A¦³®É­Ô isapnp ·|µLªk±oª¾ÅÞ¿è³]³Æªº¼Æ¥Ø¡C¦pªG§A¾D¹J ¨ì¹³¤U­±ªº¿ù»~°T®§¡G

Error occurred executing request 'LD 2' on or around line...

¨º¸Õ¬Ý¬Ý¥[¤J (VERIFYLD N) ¨ì isapnp.confªº¤WÀY¡C§A¥²¶·¨Ï¥Î¦Ü¤Ö¬O 1.10 ª©ªº¤~¯à³o»ò°µ¡C ¦pªG§AµLªk¨Ï¥Î 1.10 ©Î¬O§ó·sªºª©¥»¡C§A¤]¥i¥H¦Û¤wª½±µ¤â°Ê§ïÅÞ¿è³]³Æªº¼Æ¶q¡C ½Ð±¡½Ð°Ñ¦Ò isapnp-faq ¡C¦pªGÁÙ¬OµLªk§JªA¡A½Ð©M§Ú³sµ¸ (À³¸Ó¦³¤H¤]·|¹ï isapnp ¦³¿³½ì§a ¡A§Ú·Q)¡C

¤p¤ß: ½Ð½T»{³Ì«á¨º¦æ¬O (WAITFORKEY)¡A¦³®É­Ô¸ûªº pnpdump ª©¥»·|§R°£¥¦¡C

¦b¤å¥óªº«á­±¦³¤@­Óisapnp.conf µ¹³æ­Ó PnP ­µ®Ä¥d¥Îªº¼Ë¥»¡C (½Ð¬Ý³¹¸` Sample <tt>isapnp.conf</tt>)¡C

¦pªG§A¬O¥Î Debian ¨t²Î´N¤£¥Î¦A°µ¥ô¦óªº¨ä¥L½Õ¾ã¡C /etc/init.d/boot ¥[¤W¤U­±ªº ©R¥O¤â½Z¤U¡A§A´N¥i¥H¦b¶}¾÷®É±Ò°Ê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

¦pªG§A¦³¨ä¥Lªº Linux ¨ÑÀ³°Óª©¥»¡A§A´N­n¦Û¤w¨Ó¤F¡C§Ú¤]¤£ª¾¹D«ç»ò°µ (¦³½ÖÄ@·N´£¨Ñ§ó¦hªº¸ê°T¶Ü?)¡C¥u­n°O±o isapnp ¥²¶·¦b©Ò¦³¼Ò²Õ³Q¸ü¤J ¤§«e ´N³Q¸ü¤J¤F (½Ð¬Ý¤U­±)¡C

3.3 ½sĶ®Ö¤ßµ{¦¡

¦b½sĶ®Ö¤ßµ{¦¡¤§«e¡A§A¥²¶·¦³ AWE Driver Extension ®M¥ó¨Óµ¹­µ®ÄÅX°Êµ{¦¡¨Ï¥Î¡C´Nºâ§A ªº®Ö¤ß­ì©lµ{¦¡¥Ø¿ýùؤw¸g¦³ awedrv ©µ¦ù®M¥ó¤F (½ÐÀˬd /drivers/sound/lowlevel/ ¬Ý¬Ý)¡A §A¥i¯à·Q­n¤É¯Å awedrv ³nÅé¡C¨Ì·Ó¦w¸Ë¦b awedrv ­ì©l¥Ø¿ýùتº«ü¥Ü¡C²³æ¦a»¡¡A§A¥²¶·°õ¦æ ¤@­Ó­×¸É®Ö¤ß­ì©lµ{¦¡ªº¦w¸Ë©R¥O¤â½Z¡C

½Ð¤p¤ß§A¤w¸g¦b°õ¦æ§¹¦w¸Ë©R¥O¤â½Z«á¤w¸g¤É¯Å¤F®Ö¤ß­ì©lµ{¦¡¤F¡C³o­Ó©R¥O¤â½Z ¥u¬O¦bÀˬd¬Ý¬Ý¤@¨Ç¯S©wÀɮ׬O§_¤w¸g¦³¤F¡A¦pªG¦³¤F¡A¥¦¤£·|¦³¥ô¦ó»Ý­nªº­×¸É°Ê§@¡C §A¤É¯Å®Ö¤ß­ì©lµ{¦¡«á¦b°õ¦æ©R¥O¤â½Z«e·|³Q«Øij±N drivers/sound/lowlevel/awe_wav.c Àɮײ¾°£¡C

±µ¤U¨Ó§A¥²¶·«Øºc®Ö¤ßµ{¦¡¨Ó¤ä´©­µ®Ä¡C§Ú§Æ±æ§Aª¾¹D«ç»ò¨Ó½sĶ®Ö¤ßµ{¦¡¡F¸Ô±¡½Ð°Ñ¦Ò Sound HOWTO ¥H¤Î Kernel HOWTO¡C¨ì®Ö¤ß­ì©lµ{¦¡ªº¥Ø¿ýùØ¡A (¨Ò¦p /usr/src/linux) µM«á°õ¦æ

# make config

©Î¬O make menuconfig ©Î make xconfig¡CµM«á¥Î¼Ð·Çªº¤è¦¡¨Ó «Øºc§Aªº®Ö¤ßµ{¦¡¡C §Q¥Î³o­Ó¾÷·|¨Ó°µ­ÓÅé¿n¤S¤p¤S±j¦Ó¦³¤Oªº®Ö¤ßµ{¦¡¡A¯S§O¬O ¬°§Aªº¨t²Î¶q¨­­q°µªº¡C°O±o¦b¦^µª Enable loadable module support ¬O¿ï Y¡A ¦pªG§A·Q§â­µ®ÄÅX°Êµ{¦¡¦w¸Ë¦¨¥i¸ü¤J¦¡¼Ò²Õªº¸Ü (¦pªG§A¥Îªº¬O PnP ¥dªº¸Ü´N ¥²¶·³o»ò°µ) ¡A¦ý§Úª¾¹D§A¤]·|³o»ò°µ§a¡I

§A·|¦b¦³­Ó¦a¤è³Q°Ý¨ì¬O§_»Ý­n­µ®Ä¥d¤ä´©¡C¦pªG§A¨S¦³ PnP¥dªº¸Ü §A¥i¥H¦Û¥Ñ¦^µª Y ©Î M ¡A¦pªG§A­n°µ¦¨¼Ò²Õªº¸Ü¦Ó¥B¬O PnP¥d¡A¥²¶· ¦^µª M¡C §A¥²¶·±N PnP ­µ®Ä¥dªº¤ä´©½sĶ¦¨¤@­Ó¼Ò²Õ¡A¦]¬°¦b¼Ò²Õ³Q¸ü¤J«e PnP ¥d¥²¶·¥ýªì©l¤Æ¡C

¤U¦Cªº°ÝÃD§AÀ³¸Ó¦^µª Y¡A¨ä¾l¦^µª N¡G


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/?]

¥u¦³«á­±ªº¬Oµ¹ Wave Table ¦X¦¨¾¹¥Îªº¡C¨ä¾l¬O OSS/Free ­µ®ÄÅX°Êµ{¦¡µ¹ SB 16 ªº¿ï¶µ¡C

°£¦¹¤§¥~¡A§A¥²¶·«Øºc­µ®Ä¥d I/O °ð¡C¥i°Ñ¦Ò isapnp.conf ÀÉ·|µ¹§A¤@¨Ç´£¥Ü¡A ¦pªG§A¦³³o­ÓÀɪº¸Ü¡C¹ï§Ú¨Ó»¡¡A¤U­±ªº¤º©w­È´N°÷¤F¡C½Ðª`·N¡G®Ö¤ßµ{¦¡«Øºc©R¥O¤â½Zªº¤º©w­È ¤]¦³¥i¯à¬O¿ùªº (¯S§O¬O SBC_IRQ ©M SB_MPU_BASE ªº­È¹ï¤j³¡¥÷ªº¥d¨Ó»¡¦n¹³³£¿ù¤F)¡C


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]

¦n¤F¡A²{¦b­«·s½sĶ®Ö¤ßµ{¦¡¡ADebian ªº¨Ï¥ÎªÌ­n¥Î kernel-package«ü¥O¡C ³o­Ó®M¥óÅý§Ú­Ì½sĶ®Ö¤ßµ{¦¡´N¹³¦w¸Ë debian ªº®M¥ó¤@¼Ë®e©ö®@¡C½Ð¬Ý /usr/doc/kernel-package/ùتº¤å¥ó¡C³oùئ³­Ó´£¥Ü¡G

# make-kpkg clean
# make-kpkg -revision custom.1.0 kernel_image

µM«á dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb.

¦pªG§Aªº¬O¨ä¥Lªº Linux ¨ÑÀ³°Óª©¥»¡A½Ð¨Ì·Ó¼Ð·Çªº¤è¦¡¨Ó½sĶ·sªº®Ö¤ßµ{¦¡¡C¤£­n§Ñ¤F make modules ¥H¤Î make modules_install¡C¸Ô±¡½Ð¬Ý Sound HOWTO ©Î Kernel HOWTO¡C

3.4 ­«¶}¾÷

¦w¸Ë§¹·s®Ö¤ßµ{¦¡«á¡A§AÀ³¸Ó­«·s¶}¾÷ (½Ð°O±o§A­n¦³­Ó¥i¥Îªº¶}¾÷ºÏ¤ù¦b¤â¤W)¡C¥æ¤eµÛ§Aªº¤â«üÀYµ¥¤@¤U¡C

¦pªG§A¦³­Ó PnP ¥d¡A½Ð½T»{¦b¶}¾÷±Ò°Ê©R¥O¤â½ZùةάO¤â°Ê¦a°õ¦æ isapnp (¹³¤W­±©Ò´£ªº¤@¼Ë)¡G

# /sbin/isapnp /etc/isapnp.conf
Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e:  CTL0048 Serial No 58128
[checksum 74]

²{¦b§A¥i¥H¦w¸Ë­µ®ÄÅX°Êµ{¦¡¤F¡A¦pªG§A¤w§â¥¦½sĶ¦¨¤@­Ó¼Ò²Õ¡G

# modprobe -a sound
AWE32 Sound Driver v0.3.3e (DRAM 2048k)

¦pªG§A»{¬°°O¾ÐÅé°»´ú¦³»~ (¦³­Ó¤H§i¶D§Ú»¡¥L¦³±i AWE64 ¥d¦³ 4096k¡AµM¦Ó ``°»´ú¨ì'' 28672k !)¡A½Ð¤É¯Å awedrv ³nÅé©Î¬O¦b /usr/src/linux/drivers/sound/lowlevel/awe_config.hÀÉ®×ùØ«ü©w°O¾ÐÅé¡A ¦p¡G

#define AWE_DEFAULT_MEM_SIZE  4096   /* kbytes */

©êÁ¾¡A§A¥²¶·¦A­«·s½sĶ®Ö¤ßµ{¦¡ (¤]³\½sĶ³o¨Ç¼Ò²Õ´N°÷¤F¡A¦ý§Ú¤£½T©w)¡C

¦pªG¥¦¦¨¥\°Ê§@¤F¡A§A¥i¯à§Æ±æ­µ®Ä¼Ò²Õ¯à¦Û°Ê¸ü¤J¡C§A¥i¥H¨Ï¥Î kerneld ( ¦b 1.4³¹¸`ùئ³»¡©ú¬°¦ó³o¬O­ÓÃaÂI¤l) ©Î¬O¦b§Aªº/etc/modules (Debian¨t²Î) ùØÀY ¥[¤W¤@¦æ¥]§t sound ©Î¬O¥[¤W /sbin/modprobe -a sound ¨ì§Aªº±Ò°Ê©R¥O¤â½ZùØ¡C


Next Previous Contents