From Bugzilla Helper: User-Agent: Mozilla/5.0 Galeon/1.2.0 (X11; Linux i686; U;) Gecko/20020408 Description of problem: I applied all errata updates to my 7.3 laptop, and was previously completely up to date. Upon reboot with the new kernel, sound does not appear to work. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. run sndconfig 2. run xmms 3. run play on sample.au Actual Results: When I ran sndconfig, the card is detected properly and a sound sample is attempted. The load climbed to 1.00x3 and never came back to sndconfig from the sample attempt. xmms hangs, esd hangs, everything trying to use sound hangs. The processes can be killed without difficulty. Expected Results: I expected to hear sound. Additional info: Here is the ps faxuwww output during sndconfig: root 2816 0.3 0.5 2404 1360 pts/1 S 12:14 0:02 | \_ sndconfig root 2827 0.0 0.3 2232 1004 pts/1 S 12:14 0:00 | \_ /bin/sh /usr/bin/play /usr/share/sndconfig/sample.au root 2830 89.2 0.3 2472 980 pts/1 R 12:14 7:23 | \_ sox /usr/share/sndconfig/sample.au -t ossdsp /dev/dsp Here is the syslog entry for a working boot (previous kernel, 2.4.18-10): kernel: maestro3: version 1.22 built at 11:59:04 Aug 7 2002 kernel: PCI: Found IRQ 5 for device 00:08.0 kernel: maestro3: Configuring ESS Maestro3(i) found at IO 0xD800 IRQ 5 kernel: maestro3: subvendor id: 0x00b11028 kernel: ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) Here is the syslog entry for the current (non-working) kernel (2.4.18-17.7.x): kernel: maestro3: version 1.23 built at 13:44:52 Oct 8 2002 kernel: PCI: Found IRQ 5 for device 00:08.0 kernel: maestro3: Configuring ESS Maestro3(i) found at IO 0xD800 IRQ 5 kernel: maestro3: subvendor id: 0x00b11028 kernel: ac97_codec: AC97 Audio codec, id: 0x1f1f:0x1f1f (Unknown) Here is lsmod output: Module Size Used by Tainted: P maestro3 27848 1 soundcore 6212 2 [maestro3] ac97_codec 12224 0 (autoclean) [maestro3] ipchains 40040 0 cisco_ipsec 390464 1 ds 8416 2 yenta_socket 12000 2 pcmcia_core 49888 0 [ds yenta_socket] 3c59x 28328 1 ide-scsi 9376 0 scsi_mod 104848 1 [ide-scsi] ide-cd 30144 0 cdrom 31936 0 [ide-cd] usb-uhci 24324 0 (unused) usbcore 71072 1 [usb-uhci] ext3 64800 3 jbd 47892 3 [ext3] I tried uninstalling the cisco vpnclient software and booting fresh, it made no difference. I don't know if other maestro3 users are experiencing the same problems. What other information can I give you that would be helpful?
I have exactly the same problem on my Dell Inspiron 8000 laptop. I applied the new updates (kernel-2.4.18-17.7.x, modutils-2.4.18-3.7x, etc.) and my maestro3 sound card stopped working. My machine had all previous errata installed before applying the new updates. The maestro3 module gets installed properly, but any attempt to play a sound sample hangs forever. Even "echo "blah" > /dev/dsp" hangs forever. Note that there are no errors reported in /var/log/messages. Originally I thought the problem was a new incompatibility between the maestro3 and ircomm modules (which is well known to I8K owners) so I rebooted with the IrDA service turned off but the problem still remains. Here is a snippet from /var/log/messages for the current, non-working kernel (2.4.18-17.7.x): Oct 18 15:19:35 localhost kernel: maestro3: version 1.23 built at 13:44:52 Oct 8 2002 Oct 18 15:19:35 localhost kernel: PCI: Found IRQ 5 for device 02:03.0 Oct 18 15:19:35 localhost kernel: maestro3: Configuring ESS Maestro3(i) found at IO 0xEC00 IRQ 5 Oct 18 15:19:35 localhost kernel: maestro3: subvendor id: 0x00a41028 Oct 18 15:19:35 localhost kernel: ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) And here is a snippet from when it was working (2.4.18-10): Oct 17 19:11:13 localhost kernel: maestro3: version 1.22 built at 11:59:04 Aug 7 2002 Oct 17 19:11:13 localhost kernel: PCI: Found IRQ 5 for device 02:03.0 Oct 17 19:11:13 localhost kernel: maestro3: Configuring ESS Maestro3(i) found at IO 0xEC00 IRQ 5 Oct 17 19:11:13 localhost kernel: maestro3: subvendor id: 0x00a41028 Oct 17 19:11:14 localhost kernel: ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) The only difference seems to be the version of the maestro3 driver. Here is my lsmod output (with IrDA turned back on and the relevant modules loaded because it doesn't make a difference either way): Module Size Used by Not tainted maestro3 27848 0 (autoclean) ircomm-tty 23136 0 (unused) ircomm 10176 0 [ircomm-tty] ac97_codec 12224 0 (autoclean) [maestro3] soundcore 6212 2 (autoclean) [maestro3] i8k 6208 1 binfmt_misc 7236 1 irtty 7136 2 (autoclean) irda 112236 1 (autoclean) [ircomm-tty ircomm irtty] autofs 11172 0 (autoclean) (unused) serial_cs 5248 0 (unused) xircom_cb 7840 1 ds 8416 2 [serial_cs] yenta_socket 12000 2 pcmcia_core 49888 0 [serial_cs ds yenta_socket] ipchains 40040 17 ide-cd 30144 0 (autoclean) cdrom 31936 0 (autoclean) [ide-cd] usb-uhci 24324 0 (unused) usbcore 71072 1 [usb-uhci] ext3 64800 2 jbd47892 2 [ext3] Note that my kernel is not tainted and I still have the same problem that iweiner has.
It looks like bug #76174 is a duplicate of this bug: maestro3 driver from new kernel -> esd hangs at 100% CPU. (Bug #76174 also describes some other problems, so it's not exactly a duplicate, though.)
My system is a Dell 4000 laptop ( pIII, maestro3, r128) and I have the same problem . Look like the new driver version has some incompatibility: --cortamorena-- --- linux-2.4.18-10/drivers/sound/maestro3.c Wed Aug 7 15:31:32 2002 +++ linux-2.4.18-17.7.x/drivers/sound/maestro3.c Tue Oct 8 16:53:30 2002 @@ -28,6 +28,9 @@ * Shouts go out to Mike "DJ XPCom" Ang. * * History + * v1.23 - Jun 5 2002 - Michael Olson <olson.edu> + * added a module option to allow selection of GPIO pin number + * for external amp * v1.22 - Feb 28 2001 - Zach Brown <zab> * allocate mem at insmod/setup, rather than open * limit pci dma addresses to 28bit, thanks guys. @@ -153,7 +156,7 @@ #define M_DEBUG 1 -#define DRIVER_VERSION "1.22" +#define DRIVER_VERSION "1.23" #define M3_MODULE_NAME "maestro3" #define PFX M3_MODULE_NAME ": " @@ -190,6 +193,7 @@ }; int external_amp = 1; +int gpio_pin = -1; struct m3_state { unsigned int magic; @@ -2469,14 +2473,20 @@ if(!external_amp) return; - switch (card->card_type) { - case ESS_ALLEGRO: - polarity_port = 0x1800; - break; - default: - /* presumably this is for all 'maestro3's.. */ - polarity_port = 0x1100; - break; + if (0 <= gpio_pin <= 15) { + polarity_port = 0x1000 + (0x100 * gpio_pin); + } else { + switch (card->card_type) { + case ESS_ALLEGRO: + polarity_port = 0x1800; + break; + default: + polarity_port = 0x1100; + /* Panasonic toughbook CF72 has to be different... */ + if(card->pcidev->subsystem_vendor == 0x10F7 && card->pcidev->subsystem_device == 0x833D) + polarity_port = 0x1D00; + break; + } } gpo = (polarity_port >> 8) & 0x0F; @@ -2911,6 +2921,7 @@ MODULE_PARM(debug,"i"); #endif MODULE_PARM(external_amp,"i"); +MODULE_PARM(gpio_pin, "i"); static struct pci_driver m3_pci_driver = { name: "ess_m3_audio", --end--
This also affects our Dell Lititude C800's and C600's From a C800: # dmesg ... maestro3: version 1.23 built at 18:03:36 Oct 18 2002 PCI: Found IRQ 5 for device 02:03.0 maestro3: Configuring ESS Maestro3(i) found at IO 0xEC00 IRQ 5 maestro3: subvendor id: 0x00a31028 ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) ... sndconfig leaves the following in /var/log/messages: Oct 22 11:58:53 pluto kernel: maestro3: version 1.23 built at 18:03:36 Oct 18 20 02 Oct 22 11:58:53 pluto kernel: PCI: Found IRQ 5 for device 02:03.0 Oct 22 11:58:53 pluto kernel: maestro3: Configuring ESS Maestro3(i) found at IO 0xEC00 IRQ 5 Oct 22 11:58:53 pluto kernel: maestro3: subvendor id: 0x00a31028 Oct 22 11:58:54 pluto kernel: ac97_codec: AC97 Audio codec, id: 0x1f1f:0x1f1f (U nknown) # lspci 00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02) 00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 03) 00:1f.0 ISA bridge: Intel Corp. 82801BAM ISA Bridge (LPC) (rev 03) 00:1f.1 IDE interface: Intel Corp. 82801BAM IDE U100 (rev 03) 00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub (rev 03) 01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility M4 AGP 02:03.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10) 02:06.0 Ethernet controller: 3Com Corporation 3c556 Hurricane CardBus (rev 10) 02:06.1 Communication controller: 3Com Corporation Mini PCI 56k Winmodem (rev 10) 02:0f.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:0f.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:0f.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller
I forgot to add that sndconfig hangs trying to play the first sample.
*** Bug 76400 has been marked as a duplicate of this bug. ***
The new kernel for RedHat 8.0 also has this same problem
*** Bug 76495 has been marked as a duplicate of this bug. ***
Just to confirm: running modprobe -r maestro3 modprobe maestro3 gpio_port=1 does *not* help? Similarly, gpio_port=8 does not help?
Do you mean parameter gpio_pin ? I tried this in single user mode: modprobe maestro3 play some.wav (did hang) modprobe -r maestro3 modprobe maestro3 gpio_pin=1 play some.wav (did hang too) modprobe -r maestro3 modprobe maestro3 gpio_pin=8 play some.wav (did hang too) My system is a Dell Inspiron 3800/redhat 7.3/kernel 2.4.18-17.7.x. It works fine with kernel-2.4.18-10. Let me know if you need more tests. Cheers,Peter.
If the diff in the bug is the one actually in our errata then yes the maestro3 won't work. Its not the final change but a buggy half way one that shouldn't have made any shipping kernel. It should be (as per base tree) if ( 0 <= gpio_pin && gpio_pin <= 15)
Installed RH8.0, sound worked. Upgraded to latest kernel from RH Updates site (2.4.18-17.8.0) and got this same problem. It's definitely a kernel version issue.
Alan, What do you mean by the statement: if ( 0 <= gpio_pin && gpio_pin <= 15) It doesn't make sense to me. So I checked out the source rpm for the 2.4.18-17.7.x kernel. It contains in maestro3.c the line (#2476): if (0 <= gpio_pin <= 15) { Which compiles but would give the wrong result. I wrote a little test program to test if perhaps gcc supports this syntax as an extension to ansi C, but it doesn't. I think this line should be changed to read: if (0 <= gpio_pin && gpio_pin <= 15) { Best, Peter.
A sorry, the statement is correct of course, but the kernel source still contains the wrong version... :-( Peter.
*** Bug 76178 has been marked as a duplicate of this bug. ***
*** Bug 76580 has been marked as a duplicate of this bug. ***
*** Bug 76421 has been marked as a duplicate of this bug. ***
*** Bug 76148 has been marked as a duplicate of this bug. ***
Created attachment 82211 [details] patch against kernel-2.4.18-17.7.x; tested on Inspiron 3800 Laptop
*** Bug 76786 has been marked as a duplicate of this bug. ***
This also affects 2.4.18-17.8.0 kernel
There is a preliminary kernel that fixes this available from http://people.redhat.com/arjanv/testkernels/
Thanks, the test kernel WORKSFORME.
aolmetoo under 7.3 *and* 8.0.
The test kernel works for me, too. Thanks.
works for me, too
An errata has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2002-262.html
*** Bug 77150 has been marked as a duplicate of this bug. ***