Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 May 1999 17:35:06 +0200
From:      "Jose M. Alcaide" <jose@we.lc.ehu.es>
To:        freebsd-hardware@FreeBSD.ORG
Subject:   CALL FOR TESTERS: improved (MODE 3) support for CS423x audio codecs
Message-ID:  <372DC22A.EE11064B@we.lc.ehu.es>

next in thread | raw e-mail | index | archive | help
The recent ISA PnP Crystal codecs (like the CS4235, CS4236 and CS4237) can
work in one of three modes, called MODE 1, MODE 2 and MODE 3. The Luigi's
sound driver puts these chips in MODE 2.

However, there are some limitations when using MODE 2. Notably, there is not a
linear gain control available for the microphone input. This represents a
problem with the CS4235 (which has no amplifier step after the input mixer)
when the microphone does not supply a high level signal (a common case). This
mic gain control _is_ available when the codec works in MODE 3.

There are some useful additional functions available in MODE 3. For example,
the input mixer works as a full symmetrical mixer (and not as a simple
multiplexer).  There are also other advantages, like independent sample
frequency control for ADCs and DACs, etc.

I modified some parts of the Luigi's sound driver (thanks, Luigi, for your
help!) in order to gain access to some of the functions available in MODE 3.
These are the changes introduced:

  - The codec initialization routines (both non-PnP and PnP) now try to switch
    to MODE 3.

  - The mixer support has been greatly enhanced. Now, if MODE 3 is available,
    the input mixer is used as a a true mixer, permitting to select multiple
    recording sources. For doing this, a new method for muting/unmuting the
    paths from each sound source to both the input and output mixers has been
    implemented.

  - There is specific mixer support for the CS4235 and the CS4236/CS2437.  In
    particular, the owners of CS4235-based cards (such as the AcerOpen AW37 or
    the Genius SoundMaker 3DX2) will see a great improvement.

I only have access to CS4235-based cards, so I am willing to hear experiences
from people who own soundcards based on any of the CS423x codec family.
Particularly, I would like to know whether the codec is correctly detected and
switched to MODE 3, and whether the new mixer works with your card.

I created a set of patches for the files ad1848.c (v1.20), mss.h (v1.4) and
sound.h (v1.11) under the /usr/src/sys/i386/isa/snd directory. If your system
sources are more recent than Jan 4, 1999, it's OK.  The file containing these
patches can be fetched from this URL:

    http://garatu.we.lc.ehu.es/~jose/pcm-patch-1.0.tar.gz

NOTE: for the CS4235, the "igain" mixer device controls the 20dB microphone
boost (>50=on); for the CS4236/7, the "igain" device controls the gain applied
to the input of the ADC (not available in the CS4235). The "vol" mixer device
has been removed for the CS4236, because its master volume control cannot be
controlled by software; however, the CS4235 does support a software controlled
master volume.

If you try these modifications, please send me a report including the messages
from the sound driver displayed while booting verbosely. If your codec
supports MODE 3, please do a full test of the mixer (and try to select
multiple recording sources).

Thanks for your help!

-- JMA
-----------------------------------------------------------------------
José Mª Alcaide                         | mailto:jose@we.lc.ehu.es
Universidad del País Vasco              | mailto:jmas@es.FreeBSD.ORG
Dpto. de Electricidad y Electrónica     | http://www.we.lc.ehu.es/~jose
Facultad de Ciencias - Campus de Lejona | Tel.:  +34-946012479
48940 Lejona (Vizcaya) - SPAIN          | Fax:   +34-946013071
-----------------------------------------------------------------------
               "Go ahead... make my day." - H. Callahan


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?372DC22A.EE11064B>