All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug <nostar@comcast.net>
To: alsa-devel <alsa-devel@lists.sourceforge.net>
Subject: EZ8 ADAT I/O card (ICE1712 chipset)
Date: Fri, 30 Jan 2004 04:05:13 -0500	[thread overview]
Message-ID: <401A1E49.6030309@comcast.net> (raw)

I finally decided to start working on ALSA support for my EZ8 card 
(www.event1.com) and man, did I get lucky.  I am brand new to device 
driver development altogether, so my main concern here is learning how 
everything works in addition to just getting the EZ8 card to work.

Out of the box, the snd-ice1712 driver recognized it as a Hoontech DSP24 
card (I also have a Delta 1010LT installed):

cat /proc/asound/cards
0 [M1010LT        ]: ICE1712 - M Audio Delta 1010LT
                      M Audio Delta 1010LT at 0x9000, irq 11
1 [DSP24          ]: ICE1712 - Hoontech SoundTrack Audio DSP24
                      Hoontech SoundTrack Audio DSP24 at 0xa000, irq 11

With this configuration I am able to send PCM out to all 8 channels but 
no input.  I refer to my ldd2 book, "Writing an ALSA Driver" document, 
and ice1712 src to learn how the cards are identified.  I found that the 
  subvendor/subdevice ID @ 0x2c-0x2f are the same between the EZ8 and 
the Hoontech DSP24 (0x12141217).  As an experiment I made the following 
change to line 32 of hoontech.h:

#define ICE1712_SUBDEVICE_STDSP24		0x12141216

Basically just changing the ID to a bogus number.  As I expected it now 
was identified as a generic device:

cat /proc/asound/cards
0 [M1010LT        ]: ICE1712 - M Audio Delta 1010LT
                      M Audio Delta 1010LT at 0x9000, irq 11
1 [ICE1712        ]: ICE1712 - ICEnsemble ICE1712
                      ICEnsemble ICE1712 at 0xa000, irq 11

And bonus!  Everything now works, all 8 channels work in and out and in 
full duplex.  So far I have tested 48Khs and 44.1Khz sending 8 channels 
up and down at the same time w/ ardour, and envy24control displays all 
of the levels accurately.  It appears to be fully functional.  I of 
course will be testing it out much more.

Questions:

Is this common for PCI device subid's to overlap?  If so, is there a 
preferred method of further identification?  I was looking at the 
configuration space for something else that could be used to identify a 
device, like maybe the class code area at 0x09-0x0b?

I see some MODULE_PARAM macros in ice1712.c, but I am still unclear on 
their exact usage.  Is there already provisions in the driver to force 
generic via a module parameter?

I would like to continue further with this to add the EZ8 card to the 
list of 'supported' devices for this driver, again mainly for my 
interest in learning about device driver development and linux audio.  I 
contacted Event about releasing documentation some time ago before I 
realized how easy this was going to be, to no avail.  I guess my 
question to the ice1712 author is, how is this done?  May I add code 
that finds a way to uniquely identifies the EZ8 card and registers it 
appropriately?  If I succeed and it meets your aproval, would it be 
added to your driver source?

-- 
http://nostar.isa-geek.com/



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

             reply	other threads:[~2004-01-30  9:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-30  9:05 Doug [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-01-30 13:57 EZ8 ADAT I/O card (ICE1712 chipset) Doug
2004-02-05  8:50 ` Doug
2004-02-05 11:41   ` Takashi Iwai
2004-02-05 20:41     ` Doug
2004-04-01  4:05     ` Doug McLain
2004-04-09 17:59       ` Doug McLain
2004-04-13 10:01         ` Takashi Iwai
2004-04-13 15:54           ` Takashi Iwai
2004-04-14  2:21             ` Doug McLain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=401A1E49.6030309@comcast.net \
    --to=nostar@comcast.net \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.