Date: Sat, 20 Jan 2007 14:42:51 +0200 From: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com> To: multimedia@freebsd.org Cc: ariff@freebsd.org, brueffer@freebsd.org Subject: Re: snd_envy24(4) and snd_envy24ht(4) MFC Message-ID: <8103ad500701200442s189a4cedra2b780c9282bbaa6@mail.gmail.com> In-Reply-To: <20070120020238.GB17584@cdnetworks.co.kr> References: <20070119180626.GB1837@haakonia.hitnet.RWTH-Aachen.DE> <20070120020238.GB17584@cdnetworks.co.kr>
next in thread | previous in thread | raw e-mail | index | archive | help
maybe i should comment on the current status of the snd_envy24(4), snd_envy24ht(4) and snd_spicds(4) too, but to be honest i don't know from where exactly to start and where exactly to finish, because there are so many aspects of that question, so the mail will probably be very long, but hope it will contains valuable information for the current status and the future of the envy24 drivers under FreeBSD. in short i agree with all previous opinions - from user point of view the behaviour of snd_envy24(4) and snd_envy24ht(4) (and snd_spicds(4)) is stable enough, however they are highly experimental drivers and need serious cleaning up, but at this stage, that should be the last concern. last, but not least, the lack of more people working on the envy24 drivers, i'm still the only one who is working on them, is very serious problem, that tremendously slows down the progress and i will try to explain below why. every Envy24-based card has unique hardware design, that is why adding support for an Envy24-based card requires as first step, reverse engineering the card hardware design and that step took huge part of the time, that i have spend working on the envy24 drivers till now. for example, for the last 3-4 months, i have spend the whole time, that i can afford to work on the envy24 drivers, reverse engineering ONKYO SE-90PCI board and before that reverse engineering of M-Audio Audiophile 192 took about 2 months. it's so hard for several reasons, but mainly because i haven't physical access to those boards, for comparison - reverse engineering of a card, that i have physical access to, usually takes only several days and in case the card use Envy24 chip, without datasheet in the public domain, like SE-90PCI, which is Envy24MT-based, and nothing is known about it, then the things are even more complex. however, the time, that i spend on reverse engineering boards with unknown hardware design and/or based on Envy24 chip, without datasheet in the public domain (in short Envy24-based cards, that are not supported by ALSA), is far from being wasted, because the results from that are very important - knowledge about how Envy24MT works, support for new, previously not supported in open-source Envy24-based cards: M-Audio Audiophile 192 and ONKYO SE-90PCI (SE-90PCI is still running only under FreeBSD, recently thanks to my documentation about Audiophile 192 support under ALSA was added for that card), but most significant result is that the Envy24HT (VT1724) code initially intended for use with my Envy24HT-based card - "Terratec Aureon 7.1 Space" actually prove itself to work with all other VT172x chips: Envy24PT (VT1720), Envy24MT (VT1720T), Envy24HT-S (VT1721), Envy24GT (VT1722), Envy24DT (VT1723 aka Tremor) with minor or no Envy24-related changes at all and that will affect the future of snd_envy24ht(4), because now looks like more correct name is "snd_vt172x(4)". although, maybe we will need new more flexible design for the driver to be able to add support for all VT172x-based card at the same code, because of their different designs, and maybe that will be "snd_vt172x(4)". i'm very glad that Pyun is planning to work on the snd_envy24ht(4), because he has more experience with and knowledge about driver development under FreeBSD than me and that will add "fresh blood" to the project. currently i've done some work and code, that will allow to add support for cards that use I2C-to-GPIO expanders wired between control line of the codec and Envy24 chip and that work will affect mainly snd_envy24(4). at the moment snd_envy24(4) supports only 3 cards and after i found time to finish the rest of that work, we will have support for all VT1712-based cards made by Terratec and M-Audio and probably then snd_envy24(4) will support maybe about 10 cards. snd_envy24ht(4) already has support for more than 10 cards, including all cards made by Terratec and M-Audio, that are based on VT172x. however, support for cards, that are made by the third major manufacturer of Envy24-based cards - ESI and their consumer division Audiotrak is fell behind, because their cards are hard to find outside Korea and Japan, which is sad, because IMHO they made the best Envy24-based cards out there. maybe if we ask Terratec, M-Audio and ESI/Audiotrak they will provide hardware to FreeBSD project, but anyway i don't how to do that. any ideas/experience in such direction? maybe the next update to snd_envy24ht(4) will support: "Philips PSC724 Ultimate Edge", "Hercules Fortissimo4" and the very new "Audiotrak Prodigy 7.1 HiFi", they all are VT172x-based cards, that use WM8766+WM8776 and share the same hardware design and now i know enough about it. also Pyun has access to ONKYO SE-150PCI, which has WM8716+WM8766+WM8776 and i believe it has hardware design, which is mixture between the designs used in ONKYO SE-90PCI and "Audiotrak Prodigy 7.1 HiFi" and if i'm right the code for ONKYO SE-90PCI: http://envy24.svobodno.com/driver/onkyo_se90/ will work with the WM8716 part of ONKYO SE-150PCI (RCA output of the SE-150PCI), maybe Pyun will try the code and report the result. if ONKYO SE-150PCI has the hardware design, that i'm expecting, it will be the best card for development, because it will has codecs, that use all possible control interfaces - SPI, I2C and "hardware". i'm trying to keep all information, that i know here: http://envy24.svobodno.com , including source code and documents, that i wrote about different hardware designs, but it is far from being full and up-to-date, because lack of spare time for that. and the whole different stories are things for which there is still nothing or almost nothing done like support for Digital Interface Transceivers (DITs) used on Envy24-based cards, recording, full support for VT1712 hardware mixer, sound routing, control utility for control of all those things and their parameters, etc ... in other words full support for only one Envy24-based audio card is really serious task, not to mention for all of them, but at least looks like soon we will have at least analog playback support for most of them.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8103ad500701200442s189a4cedra2b780c9282bbaa6>