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@suse.de] Sent: 30 August 2010 05:59 PM To: Brand, Mark (Mr) (Summerstrand Campus South) Cc: alsa-devel@alsa-project.org; krzysztof.h1@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:
- 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.
- 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