[alsa-devel] Turtle Beach Tahiti (snd-msnd-classic)

Brand, Mark (Mr) (Summerstrand Campus South) Mark.Brand at nmmu.ac.za
Thu Sep 2 11:52:53 CEST 2010


Dear Takashi and all,

Thank you.  After patching, snd-msnd-classic still complained about the unknown parameter 'cfg', and still assumed PnP mode without it.  I found the following at line 810:
        module_param_array(cfg, long, NULL, S_IRUGO);
I moved it outside of the #ifndef MSND_CLASSIC block (2 lines up) and bingo!  I now have audio, thanks again!

Now: output has a fairly regular, clearly audible click.  This is not really a problem for system sounds, but it makes listening to music impossible.  I know nothing about driver development, but would I be correct in suspecting that this is as a result of some kind of buffer size mismatch?  I can't investigate as extensively as I'd like right now, but I'll definitely take a closer look this weekend.  In the meantime, I'd greatly appreciate your comments.

Kind regards
Mark Brand.

-----Original Message-----
From: Takashi Iwai [mailto:tiwai at suse.de]
Sent: 30 August 2010 05:59 PM
To: Brand, Mark (Mr) (Summerstrand Campus South)
Cc: alsa-devel at alsa-project.org; krzysztof.h1 at wp.pl
Subject: Re: Turtle Beach Tahiti (snd-msnd-classic)

At Mon, 30 Aug 2010 16:59:46 +0200,
Brand, Mark (Mr) (Summerstrand Campus South) wrote:
>
> Thank you very much for responding.
>
> >> Loading the ALSA driver for a Turtle Beach Tahiti fails quietly, with the following anomalies:
> >> 1. dmesg says "Assuming PnP mode", despite isapnp=0 option
> >The message is confusing.  The isapnp is assumed silently also when no
> >cfg option is given.
>
> >> 3. Type: sudo modprobe snd-msnd-classic isapnp=0 io=0x3e0 irq=10 mem=0xd0000
> >Try to add cfg option value.  It's either 0x250, 0x260 or 0x270.
>
> modprobe snd-msnd-classic isapnp=0 cfg=0x250 io=0x3e0 irq=10 mem=0xd0000
>
> responds with:
> FATAL: Error inserting snd_msnd_classic (/lib/modules/2.6.32-24-generic/kernel/sound/isa/msnd/snd-msnd-classic.ko): Unknown symbol in module, or unknown parameter (see dmesg)
>
> dmesg says:
> snd_msnd_classic: Unknown parameter 'cfg'

Ah, right, it's only for pinnacle.

Try the patch below instead.


Takashi

---
diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c
index 5f3e684..f80c37f 100644
--- a/sound/isa/msnd/msnd_pinnacle.c
+++ b/sound/isa/msnd/msnd_pinnacle.c
@@ -894,7 +894,11 @@ static int __devinit snd_msnd_isa_probe(struct device *pdev, unsigned int idx)
        struct snd_card *card;
        struct snd_msnd *chip;

-       if (has_isapnp(idx) || cfg[idx] == SNDRV_AUTO_PORT) {
+       if (has_isapnp(idx)
+#ifndef MSND_CLASSIC
+           || cfg[idx] == SNDRV_AUTO_PORT
+#endif
+           ) {
                printk(KERN_INFO LOGNAME ": Assuming PnP mode\n");
                return -ENODEV;
        }

NOTICE: Please note that this eMail, and the contents thereof, is subject to the standard NMMU eMail disclaimer which may be found at:
http://www.nmmu.ac.za/disclaimer/email.htm




More information about the Alsa-devel mailing list