Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jun 2006 19:00:45 +0300
From:      "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
To:        "Stefan Ehmann" <shoesoft@gmx.net>
Cc:        freebsd-multimedia@freebsd.org, Alexander@leidinger.net
Subject:   Re: Status of VIA Envy24 audio controller
Message-ID:  <8103ad500606130900p35630878t3d6afb0e8695b94b@mail.gmail.com>
In-Reply-To: <200606131317.46432.shoesoft@gmx.net>
References:  <200606072039.13422.shoesoft@gmx.net> <8103ad500606130247w63cce8e7j9ab9cb4428228811@mail.gmail.com> <ef10de9a0606130323g15ddd152tbcd0201adb7da4d6@mail.gmail.com> <200606131317.46432.shoesoft@gmx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
i made patch that fixes all warnings during compillation and adding
"WERROR=" to Makefile is no more needed under FreeBSD 6.1, so to summarize
what we have till now:

1) http://xkodi.svobodno.com/envy24/new/envy24.c.new.diff
- fixes compatibility with newer versions of FreeBSD (5.4, 6.1), so the
module can be compiled
- fixes all warnings during compillation: unused variables and functions are
commented, definition of "sample32_t" is changed and all "emldma" functions
are rewritten to work with the new definition
- fixes two obvious bugs: "err = pcm_register(dev, sc, 5, 2 + sc->adc)"
should be "err = pcm_register(dev, sc, 5, 2 + sc->adcn)" and in
"envy24_p16sl" the following line "u_int32_t *data;" should be "u_int16_t
*data;"

2) http://xkodi.svobodno.com/envy24/new/ak452x.c.new.diff
- fixes compatibility with newer versions of FreeBSD(5.4, 6.1), so the
module can be compiled
- fixes obvious bug: the following line "codec->type = dvc;" should be
"codec->dvc= dvc;"

after applying 1) and 2) we have support for "M-Audio Delta Dio 2496" under
newer versions of FreeBSD as Katsurajima Naoto implemented it 5 years ago.

3) http://xkodi.svobodno.com/envy24/new/envy24.h.6fire.new.diff
hardware specific patch for "Terratec DMX 6fire", it defines the correct
wiring between Envy24 chip and AK4524 audio codecs

4) http://xkodi.svobodno.com/envy24/new/envy24.c.6fire.new.diff
hardware specific patch for "Terratec DMX 6fire", it adds correct card name,
fixes initialization of the second AK4524 audio codec (the third AK4524
codec is not initialized) and mutes Envy24 "Recording stream 7" and
"Recording stream 8", because noise entering the Envy24 hardware mixer from
there

after applying 1), 2), 3) and 4) we have basic support for "Terratec DMX
6fire" under FreeBSD

5) http://xkodi.svobodno.com/envy24/new/envy24.h.ap2496.new.diff
hardware specific patch for "M-Audio Audiophile 2496", it defines the
correct wiring between Envy24 chip and AK4528 audio codec

6) http://xkodi.svobodno.com/envy24/new/envy24.c.ap2496.new.diff
hardware specific patch for "M-Audio Audiophile 2496", it adds correct card
name, sets the correct audio codec type and fixes the AK4528 audio codec
initialization

after applying 1), 2), 5) and 6) we have basic support for "M-Audio
Audiophile 2496" under FreeBSD

we also have EEPROM dumps of "Terratec DMX 6fire" and "M-Audio Audiophile
2496" here:

http://xkodi.svobodno.com/envy24/new/6fire.e2prom.dump
http://xkodi.svobodno.com/envy24/new/ap2496.e2prom.dump

On 6/13/06, Stefan Ehmann <shoesoft@gmx.net> wrote:
>
> On Tuesday 13 June 2006 12:23, Nikolas Britton wrote:
> > On 6/13/06, Konstantin Dimitrov <kosio.dimitrov@gmail.com> wrote:
> > > i found obvious bug, that affects all cards: "codec->type = dvc;"
> > > (ak452x.c) obviously should be "codec->dvc = dvc;", this cause the
> > > previously mentioned volume problem with "M-Audio Audiophile 2496", so
> > > original "ak452x_set" routine is ok,  after fixing "codec->type =
> dvc;"
> > > to "codec->dvc = dvc;", we have working "mixer vol ..." with both
> > > "Terratec DMX 6fire" and "M-Audio Audiophile 2496", of cource correct
> > > codec type should be set in envy24.c : "ak452x_settype(ptr->info,
> > > AK452X_TYPE_4528);" for "M-Audio Audiophile 2496"
> > > "ak452x_settype(ptr->info, AK452X_TYPE_4524);" for "Terratec DMX
> 6fire"
> > >
> > > after fixing the bug described above, both cards working now only with
> > > touching hardware specific parts of the Katsurajima Naoto's code - to
> be
> > > more specific - 3 lines to set right wiring in envy24.h (codec CS,
> CDTI,
> > > CCLK) and 1 line to set right codec in envy24.c, so Katsurajima
> Naoto's
> > > code is pretty generic and so it can be used as a base for Envy24
> driver
> > > supporting many Envy24-based audio cards under FreeBSD.
> > >
> > > On 6/13/06, Konstantin Dimitrov < kosio.dimitrov@gmail.com> wrote:
> > > > thanks to cooperation with Stefan Ehmann (shoesoft at gmx.net),
> there
> > > > is a
> > >
> > > patch adding basic "M-Audio Audiophile 2496" support, he sent the
> initial
> > > patch to freebsd-multimedia@ titled "basic support for M-Audio
> Audiophile
> > > 2496 available", now the "volume" problem with "M-Audio Audiophile
> 2496"
> ...
> >
> > Cool!, I just order a Audiophile 2496, it should be in my hands by
> > then end of the week for testing. Is it possible to get a diff of all
> > the new code?:
> >
> > Patch set of the changes you made to get Katsurajima old code running
> > again on 6.1-STABLE. Plus a patch set of the changes you and Stefan
> > made to get audiophile 2496 running?
>
> I just made a patch against http://people.freebsd.org/~lofi/envy24.tar.gz.
>
> This is the code as I'm currently using it. I added the name of the card
> to
> cfg_table based on the EEPROM dump.
>
> http://stud4.tuwien.ac.at/~e0125637/fbsd/ap2496.diff
>
> In order to get it to compile, don't forget to add
> WERROR= to /sys/modules/sound/driver/envy24/Makefile.
>



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