[alsa-devel] Turtle Beach Tahiti (snd-msnd-classic)
Dear Takashi Iwai, Krzysztof Helt, Karsten Wiese and all,
Following advice given on the bugtracker, and noting the call "testers wanted" in the Turtle Beach section of the ALSA soundcard matrix: I have been unable to get my Tahiti soundcard working under ALSA (see issue # 5118).
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 2. dmesg makes no further mention of the driver (resource assignment, firmware upload, DSP reset, attach?). 3. /proc/interrupts, /proc/ioports and /proc/iomem show no resource assignments 4. aplay -l lists no soundcards 5. YET: lsmod shows driver has been loaded.
Most importantly, no sound.
To reproduce:
At Sun, 29 Aug 2010 16:23:00 +0200, Brand, Mark (Mr) (Summerstrand Campus South) wrote:
[1 <text/plain; us-ascii (quoted-printable)>] Dear Takashi Iwai, Krzysztof Helt, Karsten Wiese and all,
Following advice given on the bugtracker, and noting the call "testers wanted" in the Turtle Beach section of the ALSA soundcard matrix: I have been unable to get my Tahiti soundcard working under ALSA (see issue # 5118).
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.
- dmesg makes no further mention of the driver (resource assignment, firmware upload, DSP reset, attach?).
- /proc/interrupts, /proc/ioports and /proc/iomem show no resource assignments
- aplay -l lists no soundcards
- YET: lsmod shows driver has been loaded.
Most importantly, no sound.
To reproduce:
From Win98SE, soundcard working 100%, having noted resource allocation:
- Reboot (dual boot) via Grub into Ubuntu 10.4 (Lucid).
- Invoke a terminal.
- Type: sudo modprobe snd-msnd-classic isapnp=0 io=0x3e0 irq=10 mem=0xd0000
Also tried:
- Add to end of /etc/modules: snd-msnd-classic
- Create /etc/modprobe.d/alsa_local.conf, containing: options snd slots=snd-msnd-classic alias snd-card-0 snd-msnd-classic options snd-msnd-classic isapnp=0 io=0x3e0 irq=10 mem=0xd0000
- Ensure availability of msndinit.bin and msndperm.bin in /lib/firmware/turtlebeach
- Reboot.
I have had this particular card working under SuSe (a number of years ago, and using the OSS driver), but I have had little success with the OSS driver this time around - dmesg shows successful resource allocation, firmware upload and reset, but no sound. The card remains functional under Windows, though.
Please find output of alsa-info.sh script attached. I'm happy to assist in any way I can to see this device supported.
Try to add cfg option value. It's either 0x250, 0x260 or 0x270.
thanks,
Takashi
Kind regards, Mark Brand.
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
[2 alsa-info.txt.ncYz0X7avn <application/octet-stream (base64)>]
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'
Thank you again for taking the time to advise me. Kind regards, Mark Brand.
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
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; }
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
At Thu, 2 Sep 2010 11:52:53 +0200, Brand, Mark (Mr) (Summerstrand Campus South) wrote:
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!
Ah, no, you simply don't need cfg parameter for snd-msnd-classic. Doesn't it work by my patch but without passing cfg?
Takashi
No, without passing cfg it assumed PnP mode (according to dmesg). I'll try again with just your patch on the weekend - right now I just don't have enough time to do anything properly! I'm just happy it appears we're making progress.
Mark -----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: 02 September 2010 11:54 AM 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 Thu, 2 Sep 2010 11:52:53 +0200, Brand, Mark (Mr) (Summerstrand Campus South) wrote:
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!
Ah, no, you simply don't need cfg parameter for snd-msnd-classic. Doesn't it work by my patch but without passing cfg?
Takashi
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
Dear Mark,
I was on a business trip for one month so please forgive the delay in answering your request.
I will dig into the issue this weekend.
Thank you for testing, Krzysztof
Dear Krzysztof,
No problem, Takashi sent me in the right direction (see his patch and my reply). I did not find the time to spend on this over the weekend as I'd hoped, but I can report that: * I now have audio playback * There is a regular click, at about 200ms intervals (while playing, of course, not otherwise) * Audio does vanish occasionally - I reload alsa and it returns * I suspect the isapnp and cfg parameters shouldn't be necessary, but as it stands the driver defaults to PnP mode without them
Just as soon as I can squeeze off a bit more time to spend on this, I'll try to provide better feedback.
Kind regards, and thank you for responding. Mark Brand.
-----Original Message----- From: Krzysztof Helt [mailto:krzysztof.h1@wp.pl] Sent: 04 September 2010 11:16 AM To: Brand, Mark (Mr) (Summerstrand Campus South) Cc: alsa-devel@alsa-project.org; tiwai@suse.de; anabellesgarden@yahoo.de Subject: Re: Turtle Beach Tahiti (snd-msnd-classic)
Dear Mark,
I was on a business trip for one month so please forgive the delay in answering your request.
I will dig into the issue this weekend.
Thank you for testing, Krzysztof
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
participants (3)
-
Brand, Mark (Mr) (Summerstrand Campus South)
-
Krzysztof Helt
-
Takashi Iwai