JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 7: Device and Network Interfaces     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

Preface

Introduction

Device and Network Interfaces

6to4(7M)

6to4tun(7M)

aac(7D)

adp(7D)

adpu320(7D)

afb(7d)

agpgart_io(7I)

AH(7P)

ahci(7D)

allkmem(7D)

amd8111s(7D)

amr(7D)

ARP(7P)

arp(7P)

ast(7D)

asy(7D)

ata(7D)

atun(7M)

audio1575(7D)

audio(7I)

audio810(7D)

audiocs(7D)

audioens(7D)

audiohd(7D)

audioixp(7D)

audio_support(7I)

audiots(7D)

audiovia823x(7D)

av1394(7D)

bbc_beep(7D)

bcm_sata(7D)

bd(7M)

bge(7D)

bmc(7D)

bnx(7D)

bnxe(7D)

bpp(7D)

bscbus(7D)

bscv(7D)

bufmod(7M)

cadp160(7D)

cadp(7D)

cdio(7I)

ce(7D)

cgsix(7D)

chxge(7D)

cmdk(7D)

connld(7M)

console(7D)

cpqary3(7D)

cpr(7)

cpuid(7D)

ctfs(7FS)

ctsmc(7D)

cvc(7D)

cvcredir(7D)

dad(7D)

daplt(7D)

dbri(7D)

dca(7D)

dcam1394(7D)

dcfs(7FS)

devfs(7FS)

devinfo(7D)

dkio(7I)

dlcosmk(7ipp)

dlpi(7P)

dm2s(7D)

dmfe(7D)

dnet(7D)

dr(7d)

drmach(7d)

dscpmk(7ipp)

dtrace(7D)

e1000(7D)

e1000g(7D)

ecpp(7D)

efb(7D)

ehci(7D)

elxl(7D)

emlxs(7D)

eri(7D)

esp(7D)

ESP(7P)

fas(7D)

fasttrap(7D)

fbio(7I)

fbt(7D)

fcip(7D)

fcp(7D)

fctl(7D)

fd(7D)

fdc(7D)

fdio(7I)

ffb(7D)

firewire(7D)

flowacct(7ipp)

fp(7d)

FSS(7)

ge(7D)

gld(7D)

glm(7D)

gpio_87317(7D)

grbeep(7d)

hci1394(7D)

hdio(7I)

hermon(7D)

hid(7D)

hme(7D)

hpfc(7D)

hsfs(7FS)

hubd(7D)

hxge(7D)

i2bsc(7D)

i2o_bs(7D)

i2o_scsi(7D)

ib(7D)

ibcm(7D)

ibd(7D)

ibdm(7D)

ibmf(7)

ibtl(7D)

icmp6(7P)

ICMP(7P)

icmp(7P)

idn(7d)

ieee1394(7D)

if(7P)

ifb(7d)

ifp(7D)

if_tcp(7P)

igb(7D)

igbvf(7D)

imraid_sas(7D)

inet6(7P)

inet(7P)

ip6(7P)

IP(7P)

ip(7P)

ipge(7D)

ipgpc(7ipp)

ipmi(7D)

ipnat(7I)

ipqos(7ipp)

iprb(7D)

ipsec(7P)

ipsecah(7P)

ipsecesp(7P)

iscsi(7D)

isdnio(7I)

iser(7D)

isp(7D)

ixgb(7d)

ixgbe(7D)

ixgbevf(7D)

jfb(7D)

jfca(7D)

kb(7M)

kdmouse(7D)

kfb(7D)

kmdb(7d)

kmem(7D)

kstat(7D)

ksyms(7D)

ldterm(7M)

llc1(7D)

llc2(7D)

lockstat(7D)

lofi(7D)

lofs(7FS)

log(7D)

logi(7D)

lsimega(7D)

lx_systrace(7D)

m64(7D)

marvell88sx(7D)

mc-opl(7D)

mcxe(7D)

md(7D)

mediator(7D)

mega_sas(7D)

mem(7D)

mga(7D)

mhd(7i)

mixer(7I)

mpt(7D)

mpt_sas(7D)

mr_sas(7D)

msglog(7D)

msm(7D)

mt(7D)

mtio(7I)

n2cp(7d)

n2rng(7d)

ncp(7D)

ncrs(7D)

nfb(7D)

ngdr(7d)

ngdrmach(7d)

nge(7D)

npe(7D)

ntwdt(7D)

ntxn(7D)

null(7D)

nulldriver(7D)

nv_sata(7D)

nxge(7D)

objfs(7FS)

oce(7D)

ocf_ibutton(7D)

ohci(7D)

openprom(7D)

oplkmdrv(7D)

oplmsu(7D)

oplpanel(7D)

pcata(7D)

pcelx(7D)

pcfs(7FS)

pcic(7D)

pcicmu(7D)

pcie_pci(7D)

pckt(7M)

pcmcia(7D)

pcmem(7D)

pcn(7D)

pcram(7D)

pcscsi(7D)

pcser(7D)

pfb(7D)

pf_key(7P)

pfmod(7M)

physmem(7D)

pipemod(7M)

pm(7D)

poll(7d)

prnio(7I)

profile(7D)

ptem(7M)

ptm(7D)

pts(7D)

pty(7D)

qfe(7d)

qlc(7D)

qlcnic(7D)

qlge(7D)

quotactl(7I)

qus(7D)

ramdisk(7D)

random(7D)

RARP(7P)

rarp(7P)

rge(7D)

route(7P)

routing(7P)

rtls(7D)

sad(7D)

sata(7D)

sbpro(7D)

scfd(7D)

scmi2c(7d)

scsa1394(7D)

scsa2usb(7D)

scsi_vhci(7D)

SCTP(7P)

sctp(7P)

scu(7D)

sd(7D)

SDC(7)

sdp(7D)

sdt(7D)

se(7D)

se_hdlc(7D)

ses(7D)

sesio(7I)

sf(7D)

sgen(7D)

sharefs(7FS)

si3124(7D)

sip(7P)

sk98sol(7D)

skfp(7D)

slp(7P)

smbios(7D)

smbus(7D)

socal(7D)

sockio(7I)

sol_ofs(7D)

sol_ucma(7D)

sol_uverbs(7D)

sppptun(7M)

spwr(7D)

ssd(7D)

st(7D)

stp4020(7D)

streamio(7I)

su(7D)

sxge(7D)

sxp(7D)

symhisl(7D)

sysmsg(7D)

systrace(7D)

tavor(7D)

TCP(7P)

tcp(7P)

termio(7I)

termiox(7I)

ticlts(7D)

ticots(7D)

ticotsord(7D)

timod(7M)

tirdwr(7M)

tmpfs(7FS)

todopl(7D)

tokenmt(7ipp)

tpf(7D)

tsalarm(7D)

tswtclmt(7ipp)

ttcompat(7M)

tty(7D)

ttymux(7D)

tun(7M)

tzmon(7d)

uata(7D)

udfs(7FS)

UDP(7P)

udp(7P)

ufs(7FS)

ugen(7D)

uhci(7D)

urandom(7D)

usb(7D)

usba(7D)

usb_ac(7D)

usb_ah(7M)

usb_as(7D)

usbecm(7D)

usbkbm(7M)

usb_mid(7D)

usbms(7M)

usbprn(7D)

usbsacm(7D)

usbser_edge(7D)

usbsksp(7D)

usbsprl(7D)

uscsi(7I)

usoc(7D)

virtualkm(7D)

visual_io(7I)

vni(7d)

volfs(7FS)

vuid2ps2(7M)

vuid3ps2(7M)

vuidm3p(7M)

vuidm4p(7M)

vuidm5p(7M)

vuidmice(7M)

wrsm(7D)

wrsmd(7D)

wscons(7D)

xge(7D)

xhci(7D)

xmemfs(7FS)

zcons(7D)

zero(7D)

zs(7D)

zsh(7D)

zulu(7d)

audiovia823x

- VIA VT823x (VT8233, VT8235, VT8237) south bridge audio digital controller interface

Description

The VT823x device uses the VT823x south bridge audio digital controller and an AC-97 Codec to implement the audio device interface.

API

This interface is described in the mixer(7I) and audio(7I) manual pages.

Driver Versions

Applications that open /dev/audio can use the AUDIO_GETDEV ioctl(2) to determine which audio device is being used. The audiovia823x driver returns the string SUNW,audiovia823x in the name field of the audio_device structure. The version field contains the letter “a” and the config field contains the string onboard1.

Platform
Ver.
Out
H. P.
Spkr
In
Mic
CD
x86 w/ VT823x s. bridge
a
Y
Y
Y
Y
Y
Y

Key to the above table: Ver = Version. Out = Line Out. H. P. = Head Phone. Spkr = Internal Speaker. In = Line In. Mic. = Microphone. CD = CD-ROM.

The VT823x device provides support for the internal speaker, headphone, line out, line in and microphone. The play.mod_ports and record.mod_ports fields of the audio_info structure (see audio(7I)) indicate which ports may be manipulated.

Audio Mixer Mode

The configuration file /kernel/drv/audiovia823x.conf is used to configure the audiovia823x driver so that the audio mixer is enabled or disabled. See the mixer(7I) manual page for details. The audio mixer mode may be changed at any time using mixerctl(1). Note that some systems may not support sample rates other than 48K and the compatible mode may not work as expected. On such systems, the mixer mode is preferred.

Audio Data Formats

The VT823x device supports 8-bit linear and 16-bit linear encodings in mono and stereo. With the mixer enabled, a continuous range of sample rates from 5510 to 48000 Hz is supported. With the mixer disabled, the following sample rates are supported: 5510, 6620, 8000, 9600, 11025, 16000, 18900, 22050, 27420, 32000, 33075, 37800, 4410, and 48000 Hz. The device can be opened for simultaneous playing and recording whether the mixer is enabled or not.

Sample Granularity

Because the VT823x 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 audiovia823x 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.

Interrupt Rate

The driver determines the frequency of play and record interrupts. For playing audio, this 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 interrupt rate should be increased to prevent the buffer from overflowing. The play and record interrupt rates are tunable in the /kernel/drv/audiovia823x.conf file.

Audio Status Change Notification

As described in the audio(7I) and mixer(7I) man pages, it is possible to request asynchronous notification of changes in the state of an audio device.

Errors

audiovia823x errors are described in the audio(7I) man pages.

Files

/dev/audio

Symbolic link to the system's primary audio device. (Not necessarily a VT823x audio device).

/dev/audioctl

Control device for the primary audio device.

/dev/sound/0

Represents the first audio device on the system. (Not necessarily a audVT823x audio device).

/dev/sound/0ctl

Audio control for /dev/sound/0.

/usr/share/audio/samples

Audio sample files.

/kernel/drv/audiovia823x.conf

Audiovia823x driver configuration file.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
PC-based system
Availability
SUNWaudd, SUNWauda
Interface Stability
Evolving

See Also

mixerctl(1), ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)

VIA VT823x (VT8233, VT8235, VT8237) South Bridge Data Sheet

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 audiovia823x.conf is set too low. It is being reset to the rate specified in the message. Update audiovia823x.conf to a higher play interrupt rate.

init_state() play interrupt rate set too high.

The play interrupt rate specified in audiovia823x.conf is set too high. It is being reset to the rate specified in the message. Update audiovia823x.conf to a lower play interrupt rate.

init_state() record interrupt rate set too low.

The record interrupt rate specified in audiovia823xs.conf is set too low. It is being reset to the rate specified in the message. Update audiovia823x.conf to a higher record interrupt rate.

init_state() record interrupt rate set too high.

The record interrupt rate specified in audiovia823x.conf is set too high. It is being reset to the rate specified in the message. Update audiovia823x.conf to a lower record interrupt rate.