dbri(7D)




NAME

     dbri - Dual Basic Rate ISDN and audio Interface


DESCRIPTION

     The dbri device uses the T5900FC Dual Basic Rate ISDN Inter-
     face  (DBRI)  and  Multimedia  Codec  chips to implement the
     audio device interface. This interface is described fully in
     the audio(7I) manual page.

     Applications that open /dev/audio may use  the  AUDIO_GETDEV
     ioctl  to  determine  which  audio device is being used. The
     dbri driver will return the string "SUNW,dbri" in  the  name
     field  of the audio_device structure. The version field will
     contain  "e" and the config field will contain  one  of  the
     following  values:  "isdn_b"  on  an  ISDN B channel stream,
     "speakerbox" on a /dev/audio stream associated with a Speak-
     erBox,  and lastly "onboard1" on a /dev/audio stream associ-
     ated with the onboard Multimedia Codec.

     The AUDIO_SETINFO ioctl controls device configuration param-
     eters.  When  an application modifies the record.buffer_size
     field using the AUDIO_SETINFO ioctl, the  driver  will  con-
     strain it to be non-zero and a multiple of 16 bytes, up to a
     maximum of 8176 bytes.

  Audio Interfaces
     The SpeakerBox audio peripheral is available for  connection
     to the SpeakerBox Interface (SBI) port of most dbri equipped
     systems and provides an integral monaural speaker as well as
     stereo  line  out,  stereo  line  in,  stereo headphone, and
     monaural microphone connections. The headset output level is
     adequate  to  power  most headphones, but may be too low for
     some external speakers.  Powered  speakers  or  an  external
     amplifier  may  be used with both the headphone and line out
     ports.

     SPARCstation LX systems have the Multimedia Codec integrated
     onto  the   CPU  board  of the machine thus giving users the
     option of using it  or using a SpeakerBox plugged  into  the
     AUI/Audio  port  on the back panel. When using the "onboard"
     Codec, the microphone and headphone ports are located on the
     system  back  panel - there are no Line In or Line Out ports
     available for this configuration. In addition, the headphone
     and microphone ports do not have the input detection circui-
     try to determine whether or not  there  is  currently  head-
     phones  or  a  microphone  plugged  in.  If  a SpeakerBox is
     plugged in when the machine is first rebooted and  reconfig-
     ured,  or upon the first access of the audio device, it will
     be used, otherwise the onboard Codec will be used.

     The Sun Microphone is recommended for normal  desktop  audio
     recording.  When  the  Sun Microphone is used in conjunction
     with the SpeakerBox, the  microphone  battery  is  bypassed.
     Other audio sources may be recorded by connecting their line
     output to the SpeakerBox line input (audio sources may  also
     be  connected  from  their headphone output if the volume is
     adjusted properly).

  ISDN Interfaces
     The DBRI controller offers two Basic Rate ISDN (BRI)  inter-
     faces.  One  is  a BRI Terminal Equipment (TE) interface and
     the other is a BRI Network Termination (NT) interface.

     The NT connector is switched by a relay so that when  system
     power is not available or when software is not accessing the
     NT port, the TE and NT connectors are electrically connected
     and devices plugged into the NT port will be on the same BRI
     passive bus.

  Audio Data Formats for the Multimedia Codec/SpeakerBox
     The dbri device supports the audio  formats  listed  in  the
     following  table.  When  the device is open for simultaneous
     play and record, the input  and  output  data  formats  must
     match.

                       Supported Audio Data Formats
       Sampe Rate        Encoding         Precision        Channels
        8000 Hz       mu-law or A-law         8               1
        9600 Hz       mu-law or A-law         8               1
        11025 Hz      mu-law or A-law         8               1
        16000 Hz      mu-law or A-law         8               1
        18900 Hz      mu-law or A-law         8               1
        22050 Hz      mu-law or A-law         8               1
        32000 Hz      mu-law or A-law         8               1
        37800 Hz      mu-law or A-law         8               1
        44100 Hz      mu-law or A-law         8               1
        48000 Hz      mu-law or A-law         8               1
        8000 Hz           linear             16             1 or 2
        9600 Hz           linear             16             1 or 2
        11025 Hz          linear             16             1 or 2
        16000 Hz          linear             16             1 or 2
        18900 Hz          linear             16             1 or 2
        22050 Hz          linear             16             1 or 2
        32000 Hz          linear             16             1 or 2
        37800 Hz          linear             16             1 or 2
        44100 Hz          linear             16             1 or 2
        48000 Hz          linear             16             1 or 2

  Audio Data Formats for BRI Interfeces
     ISDN channels implement a subset  of  audio  semantics.  The
     preferred ioctls for querying or setting the format of a BRI
     channel   are    ISDN_GET_FORMAT,    ISDN_SET_FORMAT,    and
     ISDN_SET_CHANNEL.  In  particular,  there is no audio format
     described in audio(7I) that covers HDLC or transparent data.
     The   dbri   driver   maps  HDLC  and  transparent  data  to
     AUDIO_ENCODING_NONE. ISDN D-channels are  always  configured
     for  HDLC  encoding of data. The programmer should interpret
     an encoding value of AUDIO_ENCODING_NONE  as  an  indication
     that the fd is not being used to transfer audio data.

     B-channels can be configured for mu-law  (as  in  the  Greek
     letter  mu), A-law, or HDLC encoding of data. The mu-law and
     A-law formats are always at 8000 Hz, 8-bit, mono. Although a
     BRI H-channel is actually 16 bits wide at the physical layer
     and the 16-bit sample occurs at 8  kHz,  the  HDLC  encoding
     always  presents the data in 8-bit quantities. Therefore, 56
     bit-per-second (bps), 64 bps, and 128 bps  formats  are  all
     presented   to   the   programmer   as   8-bit  wide,  mono,
     AUDIO_ENCODING_NONE  format  streams  at  different   sample
     rates.  A line rate of 56kbps results in a 8-bit sample rate
     of 7000 Hz. If the bit stuffing and un-stuffing of HDLC were
     taken into account, the data rate would be slightly less.

     For the sake of compatibility, AUDIO_GETINFO will return one
     of the following on a ISDN channel:

                          BRI Audio Data Formats
      Sample Rate           Encoding         Precision     Channels
        8000 Hz         mu-law or A-law          8             1
           -          AUDIO_ENCODING_NONE        -             -

     ISDN_GET_FORMAT will return one of the following for an ISDN
     channel:

                               BRI Audio Data Formats
       Mode      Sample Rate   Encoding    Precision      # Ch      Available on
       HDLC        2000 Hz       NONE          8           1              D
       HDLC        7000 Hz       NONE          8           1           B1,B2
       HDLC        8000 Hz       NONE          8           1           B1,B2
       HDLC       16000 Hz       NONE          8           1           B1,B2
       TRANS       8000 Hz      mu-law         8           1           B1,B2
       TRANS       8000 Hz       A-law         8           1           B1,B2
       TRANS       8000 Hz       NONE          8           1           B1,B2
       TRANS      8000 Hz        NONE         16           1          B1 only

     In the previous table:

     HDLC = ISDN_MODE_HDLC TRANS = ISDN_MODE_TRANSPARENT

  Audio Ports
     Audio ports are not relevant to ISDN D or B channels.

     The record.avail_ports and play.avail_ports  fields  of  the
     audio_info  structure  report the available input and output
     ports. The dbri device supports two input ports, selected by
     setting  the record.port field to either AUDIO_MICROPHONE or
     AUDIO_LINE_IN. The play.port field may be set to any  combi-
     nation of AUDIO_SPEAKER, AUDIO_HEADPHONE, and AUDIO_LINE_OUT
     by OR'ing the desired port names together. As  noted  above,
     when  using the onboard Multimedia Codec on the SPARCstation
     LX, the Line In and Line Out ports are not available.

  Sample Granularity
     Since the dbri device manipulates buffers of audio data,  at
     any  given  time the reported input and output sample counts
     will vary from the actual sample count by no more  than  the
     size  of the buffers it is transferring. Programs should, in
     general, not rely on absolute accuracy of  the  play.samples
     and record.samples fields of the audio_info structure.

  Audio Status Change Notification
     As described in audio(7I), it is possible to  request  asyn-
     chronous  notification  of  changes in the state of an audio
     device.  The  DBRI driver extends this to the  ISDN B  chan-
     nels  by  sending  the signal up the data channel instead of
     the control channel.  Asynchronous notification of events on
     a B-channel only occurs when the channel is in a transparent
     data mode.  When the channel  is  in   HDLC  mode,  no  such
     notification will take place.


ERRORS

     In addition to the errors described in audio(7I), an  open()
     will fail if:

     ENODEV
           The driver is unable to communicate with the  Speaker-
           Box, possibly because it is currently not plugged in.


FILES

     The physical device names are very system dependent and  are
     rarely used by programmers.  For example:

     /devices/sbus@1,f8000000/SUNW,DBRIe@1,10000:te,b2.

     The programmer should instead use the generic  device  names
     listed below:

     /dev/audio
            symlink to the system's  primary  audio  device,  not
           necessarily a dbri based audio device

     /dev/audioctl
            control device for the above audio device

     /dev/sound/0*
            represents the first audio device on the  system  and
           is not necessarily based on dbri or SpeakerBox

     /dev/sound/0
            first audio device in the system

     /dev/sound/0ctl
            audio control for above device

     /dev/isdn/0/*
            represents the first ISDN device on  the  system  and
           any  associated  interfaces. This device is not neces-
           sarily based on dbri.

     /dev/isdn/0/te/mgt
            TE management device

     /dev/isdn/0/te/d
            TE D channel

     /dev/isdn/0/te/b1
            TE B1 channel

     /dev/isdn/0/te/b2
            TE B2 channel

     /dev/isdn/0/nt/mgt
            NT management device

     /dev/isdn/0/nt/d
            NT D channel

     /dev/isdn/0/nt/b1
            NT B1 channel

     /dev/isdn/0/nt/b2
            NT B2 channel

     /dev/isdn/0/aux/0
            SpeakerBox or onboard Multimedia Codec

     /dev/isdn/0/aux/0ctl
            Control device for SpeakerBox or  onboard  Multimedia
           Codec

     /usr/share/audio
            Audio files


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Architecture                | SPARC                       |
    |_____________________________|_____________________________|

     The DBRI Multimedia Codec, and SpeakerBox are  available  on
     SPARCstation 10 and LX systems.

     SPARCstation 10SX and SPARCstation 20 systems have the  Mul-
     timedia Codec integrated onto the CPU board of the machine.

     This hardware may or may not be available on future  systems
     from Sun Microsystems Computer Corporation.

     There are  new  configurations  for  the  SX10SX  and  Gypsy
     machines.  The  SS10BSX looks like a speakerbox but does not
     have auto-detection of the Headphone and  Microphone  ports.
     The  Gypsy  claims to be "onboard" but does have line in and
     line out ports.


SEE ALSO

     ioctl(2), attributes(5), audio(7I), isdnio(7I), streamio(7I)

     AT&T Microelectronics data sheet for the  T5900FC  Sun  Dual
     Basic Rate ISDN Interface.

     Crystal Semiconductor, Inc., data sheet for the  CS4215  16-
     Bit,  48  kHz,  Multimedia  Audio  Codec  Publication number
     DS76PP5.


NOTES

     Due to hardware restrictions, it is impossible to reduce the
     record  gain  to  0.  A valid input signal is still received
     at the lowest gain setting the Multimedia Codec allows.  For
     security  reasons,  the  dbri driver disallows a record gain
     value of 0.  This is to provide feedback to  the  user  that
     such  a setting is not possible and that a  valid input sig-
     nal is still being received.  An attempt to set  the  record
     gain  to 0 will result in the lowest possible non-zero gain.
     The  audio_info structure will be updated  with  this  value
     when the AUDIO_SETINFO ioctl returns.


BUGS

     When a DBRI channel associated with the SpeakerBox Interface
     underruns,  DBRI  may  not always repeat the last sample but
     instead could repeat more than one  sample.   This  behavior
     can result in a tone being generated by an audio device con-
     nected to the SBI port.

     Monitor STREAMs connected to a B1 channel on either  the  TE
     or NT interface do not work because of a DBRI hardware prob-
     lem.  The device driver disallows the creation of such moni-
     tors.


Man(1) output converted with man2html