Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Devicesdbri(7D)


NAME

 dbri - Dual Basic Rate ISDN and audio Interface

DESCRIPTION

 

The dbri device uses the T5900FC Dual Basic Rate ISDN Interface (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 SpeakerBox, and lastly "onboard1" on a /dev/audio stream associated with the onboard Multimedia Codec.

The AUDIO_SETINFO ioctl controls device configuration parameters. When an application modifies the record.buffer_size field using the AUDIO_SETINFO ioctl, the driver will constrain 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 circuitry to determine whether or not there is currently headphones or a microphone plugged in. If a SpeakerBox is plugged in when the machine is first rebooted and reconfigured, 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) interfaces. 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 RateEncodingPrecisionChannels
8000 Hzmu-law or A-law81
9600 Hzmu-law or A-law81
11025 Hzmu-law or A-law81
16000 Hzmu-law or A-law81
18900 Hzmu-law or A-law81
22050 Hzmu-law or A-law81
32000 Hzmu-law or A-law81
37800 Hzmu-law or A-law81
44100 Hzmu-law or A-law81
48000 Hzmu-law or A-law81
8000 Hzlinear161 or 2
9600 Hzlinear161 or 2
11025 Hzlinear161 or 2
16000 Hzlinear161 or 2
18900 Hzlinear161 or 2
22050 Hzlinear161 or 2
32000 Hzlinear161 or 2
37800 Hzlinear161 or 2
44100 Hzlinear161 or 2
48000 Hzlinear161 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 RateEncodingPrecisionChannels
8000 Hzmu-law or A-law81
-AUDIO_ENCODING_NONE--

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

BRI Audio Data Formats
ModeSample RateEncodingPrecision# ChAvailable on
HDLC2000 HzNONE81 D
HDLC7000 HzNONE81B1,B2
HDLC8000 HzNONE81B1,B2
HDLC16000 HzNONE81B1,B2
TRANS8000 Hzmu-law81B1,B2
TRANS8000 HzA-law81B1,B2
TRANS8000 HzNONE81B1,B2
TRANS8000 Hz NONE161B1 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 combination 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 asynchronous notification of changes in the state of an audio device. The DBRI driver extends this to the ISDN B channels 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 SpeakerBox, 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 necessarily 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 attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
ArchitectureSPARC

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

SPARCstation 10SX and SPARCstation 20 systems have the Multimedia 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 signal 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 connected 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 problem. The device driver disallows the creation of such monitors.


SunOS 5.9Go To TopLast Changed 1 Jan 1997

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.