Subject: SB16 clicks, pops and crackles
To: None <port-i386@NetBSD.ORG>
From: Andreas Gustafsson <gson@araneus.pp.fi>
List: port-i386
Date: 07/10/1995 15:23:46
I'm trying to use a SoundBlaster 16 card with the "sb" driver in a
NetBSD-current snapshot from around March 17, 1995.  It almost works:
when I send a Sun (u-law) audio file to /dev/audio using "cp" or
"cat", the sound that emerges from my speakers is quite recognizable
but it is mixed with a rather loud, crackling interference.

I also tried a driver from early June with an AWE32, with similar
results.

Next, I tried adding the patch from the problem report "kern/1185:
audio driver prematurely considers buffers transferred"; it did not
help.

I also tried increasing the DMA block size to 1024 bytes (by changing
the last line of audio_calc_blocksize() to "return 1024;").  After
this change, the character of the noise changed into a series of
distinct clicks or pops spaced at about 1/8 of a second, suggesting
that the interference is due to some event occurring once per DMA
block.

My final test was to play a 1 kHz sine wave and digitize the resulting
audio output.  At the end of this message is a plot of the waveform
from about 1 ms before to 1 ms after one of the clicks (turn your
head 90 degrees to the right to fully enjoy the ASCII graphics).

Just to be complete, here are the boot-time probe messages:

Jul 10 07:14:54 araneus /netbsd: sb0 at isa0 port 0x220-0x237 irq 10 drq 1: dsp v4.13
Jul 10 07:14:54 araneus /netbsd: audio: unit 0 attached

Does anyone have any insight into the cause of this problem?
-- 
Andreas Gustafsson, gson@araneus.pp.fi

================================ Cut here ================================

                              $""$ooo
                              $     """"$ooo
                              $            """$ooo
                              $                  """$oo
                              $                       ""$o
                              $                          "$
                              $                           $
                              $                        oo$"
                              $                    oo$""
                              $              ooo$"""
                              $       ooo$""""
                              "ooo$""""
                         ooo$"$"
                  ooo$""""    $
            ooo$"""           $
       oo$"""                 $
    o$""                      $
   $"                         $
   $                          $
   ""$o                       $
      ""$ooo                  $
           ""$ooo             $
                """"$ooo      $
                       """$ooo$
                              $""$ooo
                              $     """"$ooo
                              $            """$ooo
                              $                  """$oo
                              $                       ""$o
                              $                        oo$$
                         ooooo$oooooooooooo$""""""""""""
     ooooo$"""""""""""""""    $
     """"""""$oooooooooooooooo$
                              $"""""""""""""""$oooooooooo
                              $        ooooooooooooo$""""
                          oooo$"""""""""
                   ooo$""""   $
             ooo$"""          $
        oo$"""                $
    oo$""                     $
   $"                         $
   $o                         $
    "$o                       $
      ""$ooo                  $
           ""$ooo             $
                """$ooo       $
                      """"$ooo$
                             """$oooo
                              $     """"$oooo
                              $             """$oo
                              $                  ""$o
                              $                     $
                              $                    $"
                              $                   $"
                              $                  $"
                              $                  $o
                              $                   $
                              $                   $
                              $                   $
                              "                   $
                              $                   $
                              $                   $
                              $                   $
                              $                   $
                              $                   $
                              $                  o$
                              $                  $
                              $                  $
                              $                  $
                              $                  $
                              $                  $
                              "                  $
                              $                  $
                              $                  $
                              $                  $
                              $                 $"
                              $                 $o
                              $                  $o
                              $                   $
                              $                  o$
                              $              ooo$"
                              $        ooo$"""
                              $oooo$""""
                        oooo$"""
                 ooo$""""     $
           ooo$"""            $
       oo$""                  $
    o$""                      $
  o$"                         $
  $                           $
  "$oo                        $
     ""$oo                    $
         """$ooo              $
               """$oooo       $
                      """$oooo$
                             ""$oooo
                              $    """$oooo
                              $           """$ooo
                              $                 ""$ooo
                              $                      ""$o
                              $                         "$
                              $                          $
                              $                       oo$"
                              $                   oo$""
                              $             ooo$"""
                              $       ooo$"""
                              $ooo$""""