audioens(7D)
NAME
audioens - Ensoniq 1371/1373 and Creative Labs 5880 driver
support
DESCRIPTION
The audioens driver provides support for the Ensoniq
1371/1373 and Creative Labs 5880 audio controllers. Ensoniq
1371/1373 and Creative Labs 5880 chips are found on add-in
PCI cards commonly identified as Audio PCI, CT4740, CT4810,
CT5803, CT5808, and ES1371, and on some IA motherboards.
APPLICATION PROGRAM INTERFACE
This interface is described in the mixer(7I) and audio(7I)
man pages.
Driver Versions
Applications that open /dev/audio may use the AUDIO_GETDEV
ioctl(2) to determine which audio device is being used. The
audioens driver returns the string SUNW,audioens in the name
field of the audio_device structure. The version field con-
tains a letter (defined in the table below) and the config
field contains the string onboard1.
The driver works on Sun architectures that support PCI
slots, including Sparc 32 bit, Sparc 64 bit, and IA 32 bit.
Different cards provide different input and output connec-
tors and may internally hardwire these connectors. Speak-
erOut implies an internal audio amplifier and LineOut
implies the output is to go to an amplified speaker. The
audioens driver routes output data to both SpeakerOut and
LineOut. The audioens driver supports input selection from
LineIn or Microphone.
Platform Type: Sun4u/IA
Version: a
Line Out: Yes
Headphone: No
Int. Speaker: Yes
Line In: Yes
Microphone: Yes
CD-ROM: No
Audio Mixer Mode
The configuration file /kernel/drv/audioens.conf is used to
configure the audioens driver and determines whether the
audio mixer is enabled or disabled. See the mixer(7I) manual
page for details. You can change the audio mixer mode at any
time using the sdtaudiocontrol(1) or mixerctl(1) applica-
tions.
Audio Data Formats
The audioens audio device supports the audio data formats
shown below. When the audio mixer is disabled and the device
is opened for simultaneous play and record, the input and
output data formats may differ. Some sample rates are sup-
ported when the mixer is disabled (D) that are not sup-
ported when the mixer is enabled (E), due to the overly high
computational overhead for sample rate conversion.
Supported data formats.
Sample Rate Encoding Precision Channels Mode
5510 Hz u-Law or A-Law 8 1 or 2 D only
6620 Hz u-Law or A-Law 8 1 or 2 D only
8000 Hz u-law or A-law 8 1 or 2 E and D
9600 Hz u-law or A-law 8 1 or 2 E and D
11025 Hz u-law or A-law 8 1 or 2 E and D
16000 Hz u-law or A-law 8 1 or 2 E and D
18900 Hz u-law or A-law 8 1 or 2 E and D
22050 Hz u-law or A-law 8 1 or 2 E and D
27420 Hz u-law or A-law 8 1 or 2 D only
32000 Hz u-law or A-law 8 1 or 2 E and D
33075 Hz u-law or A-law 8 1 or 2 E and D
37800 Hz u-law or A-law 8 1 or 2 E and D
44100 Hz u-law or A-law 8 1 or 2 E and D
48000 Hz u-law or A-law 8 1 or 2 E and D
5510 Hz linear 16 1 or 2 D only
6620 Hz linear 16 1 or 2 D only
8000 Hz linear 16 1 or 2 E and D
9600 Hz linear 16 1 or 2 E and D
11025 Hz linear 16 1 or 2 E and D
16000 Hz linear 16 1 or 2 E and D
18900 Hz linear 16 1 or 2 E and D
22050 Hz linear 16 1 or 2 E and D
27420 Hz linear 16 1 or 2 D only
32000 Hz linear 16 1 or 2 E and D
33075 Hz linear 16 1 or 2 E and D
37800 Hz linear 16 1 or 2 E and D
44100 Hz linear 16 1 or 2 E and D
48000 Hz linear 16 1 or 2 E and D
Sample Granularity
Because the audioens device manipulates buffers of audio
data, the reported input and output sample counts will vary
at any given time from the actual sample count by no more
than the size of the buffers the audioens driver is
transferring. In general, programs should not rely on the
absolute accuracy of the play.samples and record.samples
fields of the audio_info structure. (See audio(7I)).
Interrupt Rate
The driver determines how often play and record interrupts
take place. For playing audio, the driver determines how
often and how much audio is requested from the audio mixer.
The impact of interrupts on recording is minimal. However,
if a very small read buffer size is set, the record inter-
rupt rate should be increased to prevent the buffer from
overflowing. You tune the play and record interrupt rates
using the /kernel/drv/audioens.conf file.
Audio Status Change Notification
As described in the mixer(7I) and audio(7I) man pages, you
can request asynchronous notification of changes in the
state of an audio device.
ERRORS
Errors are defined in the audio(7I) man page.
FILES
/dev/audio
Symbolic link to the system's primary audio device.
(Not necessarily an audioens audio device).
/dev/audioctl
Control device for the primary audio device.
/dev/sound/0
Represents the first audio device on the system. (Not
necessarily an audioens audio device).
/dev/sound/0ctl
Audio control for /dev/sound/0.
/usr/share/audio/samples
Audio sample files.
/kernel/drv/audioens
32-bit audioens driver
/kernel/drv/sparcv9/audioens
64-bit audioens driver
/kernel/drv/audioens.conf
Audioens driver configuration file
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|____________________________|______________________________|
| Architecture | PCI-based systems |
|____________________________|______________________________|
| Availability | SUNWaudd, SUNWauddx, SUNWauda|
|____________________________|______________________________|
SEE ALSO
mixerctl(1), sdtaudiocontrol(1), ioctl(2), attributes(5),
audio(7I), mixer(7I), streamio(7I)
Creative Technology Ltd ES1371 Specification
Creative Technology Ltd ES1373 Specification
Creative Technology Ltd CT5880 Specification
http://www.sun.com/io
DIAGNOSTICS
In addition to being logged, the following messages may
appear on the system console.
init_state() play interrupt rate set too low
The play interrupt rate specified in audioens.conf is
set too low. It has been reset to the rate specified
in the message. Update audioens.conf to a higher play
interrupt rate.
init_state() play interrupt rate set too high
The play interrupt rate set in audioens.conf is set
too high. It has been reset to the rate specified in
the message. Update audioens.conf to a lower play
interrupt rate.
init_state() record interrupt rate set too low
The record interrupt rate specified in audioens.conf
is set too low. It has been reset to the rate speci-
fied in the message. Update audioens.conf to a higher
record interrupt rate.
init_state() record interrupt rate set too high
The record interrupt rate specified in audioens.conf
is set too high. It is being reset to the rate speci-
fied in the message. Update audioens.conf to a lower
record interrupt rate.
Man(1) output converted with
man2html