CMPCI(4) NetBSD Kernel Interfaces Manual CMPCI(4)
NAME
cmpci -- C-Media CMI8x38 audio device driver
SYNOPSIS
cmpci* at pci? dev ? function ? audio* at audiobus? mpu* at cmpci? opl* at cmpci? flags 1
DESCRIPTION
The cmpci device driver supports C-Media CMI8x38 based sound cards. The device has SPDIF input/output interfaces, 16bit CODEC with analog mixer, OPL3 FM Synthesizer, and MPU401 compatible MIDI I/O port inter- face.
MIXER DEVICE
The mixer device of cmpci driver can be accessed via mixerctl(1) command. The complex structure is analyzed as follows. SPDIF in ---------------------- #1(coax)->|spdin1 | R ----------------------- #2(opt)-->|spdin2 spdif.input |--*->--|spdin spdif.output |--> SPDIF -->|spdout | | -->|playback | output | ---------------------- | | ----------------------- --------------------<------+-* ---------<-------------------+-+---------------------------------- | ------------------------ | | ----------------------- | -->|legacy spdif.output. |--+-*-->|spdout | | -->|wave playback | ----->|spdin spdif.monitor |---- | | ------------------------ NC-|off | | | ---------<-- spdif ----------------------- | | -------+------- dac ------------ ----------------- v | wave -->|playback.mode|---->|inputs.dac|-*->|inputs.dac.mute|->----- | playback --------------- ------------ R ----------------- | + | | ----------------- --------------------- |mix| | FM synthesizer -->|inputs.fmsynth |--*->|inputs.fmsynth.mute|-->----- | ----------------- R --------------------- *->-- CD ---------------------- --------------------------- v LINE-IN ->|inputs.{cd,line,aux}|-*>|inputs.{cd,line,aux}.mute|->----- AUX ---------------------- R --------------------------- | | ------------------ | | PC-SPK -->| inputs.speaker |----------------------------------->| + | ------------------ | | ------------------- ------------ ----------------- |mix| MIC --*-->|inputs.mic.preamp|->|inputs.mic|->|inputs.mic.mute|->| | | ------------------- ------------ ----------------- ----- | ------------ ----------------- | --->|record.mic|-->| | v ------------ | record.source |-->to ----------- *R-->| (select, mix) | recording |outputs.*|--> ----------------- ----------- SPK (front) Note the 2nd SPDIF input exists only on CMI8738/PCI-6ch versions.
MIXER EXAMPLES
Here are examples about wave playback and SPDIF input/output ports. Playback to speaker, SPDIF input to SPDIF output mixerctl -w playback.mode=dac spdif.output=spdin spdif.monitor=off Playback to SPDIF output, SPDIF input to speaker mixerctl -w playback.mode=spdif spdif.output=playback spdif.output.playback=wave spdif.monitor=spdin SPDIF input to both SPDIF output and speaker mixerctl -w spdif.output=spdin spdif.monitor=spdin Playback to both SPDIF output and speaker mixerctl -w playback.mode=spdif spdif.output=playback spdif.output.playback=wave spdif.monitor=spdout Mix playback and SPDIF input to speaker mixerctl -w playback.mode=dac spdif.monitor=spdin
SEE ALSO
mixerctl(1), audio(4), midi(4), mpu(4), opl(4), pci(4)
HISTORY
The cmpci device driver appeared in NetBSD 1.5.
BUGS
4ch/6ch playback is not yet available. Joystick port is not supported. spdif.output.playback=legacy does not seem to work properly. NetBSD 10.1 June 22, 2005 NetBSD 10.1
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.