home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / unmaintained / mini / Soundblaster-16 < prev    next >
Text File  |  1998-01-14  |  4KB  |  134 lines

  1. [ 15 January 1998
  2.   The Linux Soundblaster-16 mini-HOWTO is not being maintained by 
  3.   the author any more.  If you are interested in maintaining the 
  4.   Soundblaster-16 mini-HOWTO, please get in touch with me at 
  5.   <gregh@sunsite.unc.edu>. ]
  6.  
  7. Linux Soundblaster 16 PnP Mini-Howto
  8. by Eric Z. Ayers <Eric.Ayers@compgen.com>
  9. v1.0, 14 January 1997
  10.  
  11. To my delight, my wife gave me a shiny new soundcard for my birthday.  
  12. Unfortunately, it was a Soundblaster 16 PnP which refused to work under 
  13. Linux.  In fact, my 3com 3c509 would not work under Linux either.
  14.  
  15. I finally got my hardware working, with the Linux sound driver that comes
  16. with the kernel and the isapnp package from 
  17. ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz 
  18.  
  19. It turns out that there were 2 major obstacles I faced to get the soundcard 
  20. to work.  The first obstacle was that I didn't know the IRQ's and IO ports 
  21. to talk to the sound card.  That is solved with the isapnptools package.  The 
  22. second problem was with the 3c509 ethernet card. It seemed that no matter
  23. how I changed the settings on the card, the Linux kernel would not recognize 
  24. the ethernet  card.  It turns out that there is a device on the sound card 
  25. which is in conflict with the 3c509 probing code. 
  26.  
  27.  
  28. 1) Install the isapnp package.  Edit /etc/isapnp.conf so that the IRQ and IO 
  29.    ports the sound cards use don't conflict with any of your other devices.
  30.  
  31. 2) Build the linux kernel.  Build the sound support as a Module at the IRQ, 
  32.    IO and DMA adresses configured in isapnp.conf.  Also build your 3c509 
  33.    driver as a module.  (Don't forget to run make modules and 
  34.    make modules_install after compiling and installing your kernel)
  35.  
  36. 3) Modify the boots scripts on your system.
  37.  
  38. I am running a Slackware installation and kernel revision 2.0.23.  Before
  39. the network is configured, I run the isapnp program (in /etc/rc.d/rc.M right 
  40. after the hostname is set:
  41.  
  42.  
  43. # EZA
  44. # Setup plug and play devices
  45. /sbin/isapnp /etc/isapnp.conf
  46.  
  47.  
  48. Then, the first thing in /etc/rc.d/rc.inet1 I load the network driver
  49.  
  50.  
  51. # EZA
  52. # Load networking card module
  53. /sbin/insmod 3c509
  54.  
  55. I just ignore the warning at boot time that run-time probing for the 
  56. ethernet card won't work because it has never failed for me. Finally,
  57. in /etc/rc.d/rc.local I insert the sound driver module: 
  58.  
  59.  
  60. /sbin/insmod sound
  61.  
  62.  
  63. More information about Linux plug and play is available from:
  64. http://www.redhat.com/linux-info/pnp/
  65. I'm now happly surfing the net using the Real-Audio player and listening 
  66. to CDs on my cdrom drive! 
  67.  
  68. Eric Ayers
  69. eric.ayers@compgen.com
  70.  
  71. ---------------------------------------------------------------------------
  72. Here's a copy of my isapnp.conf file with most of the comments removed.
  73.  
  74. # Trying port address 0203
  75. # Board 1 has serial identifier 67 00 00 40 17 2b 00 8c 0e
  76.  
  77. # (DEBUG)
  78. (READPORT 0x0203)
  79. (ISOLATE)
  80. (IDENTIFY *)
  81.  
  82. # Card 1: (serial identifier 67 00 00 40 17 2b 00 8c 0e)
  83. # CTL002b Serial No 16407 [checksum 67]
  84. # Version 1.0, Vendor version 2.0
  85. # ANSI string -->Creative SB16 PnP<--
  86. #
  87. # Logical device id CTL0031
  88. #
  89. # Edit the entries below to uncomment out the configuration required.
  90. # Note that only the first value of any range is given, this may be changed if required
  91. # Don't forget to uncomment the activate (ACT Y) when happy
  92.  
  93. (CONFIGURE CTL002b/16407 (LD 0
  94. #     ANSI string -->Audio<--
  95.  
  96. # Multiple choice time, choose one only !
  97.  
  98. #     Start dependent functions: priority preferred
  99. #       IRQ 5.
  100. #             High true, edge sensitive interrupt (by default)
  101. (INT 0 (IRQ 5 (MODE +E)))
  102. (DMA 0 (CHANNEL 1))
  103. (DMA 1 (CHANNEL 5))
  104. (IO 0 (BASE 0x0220))
  105. (IO 1 (BASE 0x0330))
  106. (IO 2 (BASE 0x0388))
  107. (ACT Y)
  108. ))
  109.  
  110. (CONFIGURE CTL002b/16407 (LD 1
  111. (INT 0 (IRQ 11 (MODE +E)))
  112. (IO 0 (BASE 0x01e8))
  113. (IO 1 (BASE 0x03ee))
  114.  (ACT Y)
  115. ))
  116.  
  117.  
  118. (CONFIGURE CTL002b/16407 (LD 2
  119. #     ANSI string -->StereoEnhance<--
  120. #     Logical device decodes 16 bit IO address lines
  121. #         Minimum IO base address 0x0100
  122. #         Maximum IO base address 0x0138
  123. #         IO base alignment 8 bytes
  124. #         Number of IO addresses required: 1
  125. #(IO 0 (BASE 0x0100))
  126. #(ACT Y)
  127. ))
  128.  
  129.  
  130. (CONFIGURE CTL002b/16407 (LD 3
  131. (IO 0 (BASE 0x0200))
  132. (ACT Y)))
  133.  
  134.