dbri(7D) Devices dbri(7D)NAMEdbri - 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 pro‐
vides 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.
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 ta‐
ble. 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 combination of AUDIO_SPEAKER, AUDIO_HEADPHONE, and
AUDIO_LINE_OUT by OR'ing the desired port names together.
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 accu‐
racy 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 noti‐
fication 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 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 sys‐
tem 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 Mul‐
timedia Codec
/usr/share/audio Audio files
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │SPARC │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOioctl(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 gener‐
ated by an audio device connected to the SBI port.
Monitor STREAMs connected to a B1 channel on either the TE or NT inter‐
face do not work because of a DBRI hardware problem. The device driver
disallows the creation of such monitors.
SunOS 5.10 21 Oct 2002 dbri(7D)