Bug 76171 - kernel-2.4.18-17.7.x update caused maestro3 to stop working
kernel-2.4.18-17.7.x update caused maestro3 to stop working
Status: CLOSED ERRATA
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.3
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
:
: 76148 76178 76400 76421 76495 76580 76786 77150 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-10-17 15:43 EDT by Isaiah Weiner
Modified: 2007-04-18 12:47 EDT (History)
15 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-11-16 06:06:58 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch against kernel-2.4.18-17.7.x; tested on Inspiron 3800 Laptop (446 bytes, patch)
2002-10-26 11:58 EDT, Peter Englmaier
no flags Details | Diff

  None (edit)
Description Isaiah Weiner 2002-10-17 15:43:31 EDT
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?
Comment 1 Need Real Name 2002-10-18 16:03:59 EDT
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@redhat.com has.
Comment 2 Need Real Name 2002-10-18 17:49:13 EDT
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.)
Comment 3 acount closed by user 2002-10-20 10:26:38 EDT
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@cs.odu.edu>
+ *   added a module option to allow selection of GPIO pin number
+ *   for external amp
  *  v1.22 - Feb 28 2001 - Zach Brown <zab@zabbo.net>
  *   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--
Comment 4 Andrew Gormanly 2002-10-22 07:04:46 EDT
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
Comment 5 Andrew Gormanly 2002-10-22 07:06:27 EDT
I forgot to add that sndconfig hangs trying to play the first sample.
Comment 6 Martin C. Messer 2002-10-22 07:54:41 EDT
*** Bug 76400 has been marked as a duplicate of this bug. ***
Comment 7 Mike Basinger 2002-10-22 10:49:30 EDT
The new kernel for RedHat 8.0 also has this same problem
Comment 8 Bill Nottingham 2002-10-23 23:24:22 EDT
*** Bug 76495 has been marked as a duplicate of this bug. ***
Comment 9 Bill Nottingham 2002-10-23 23:35:50 EDT
Just to confirm: running

modprobe -r maestro3
modprobe maestro3 gpio_port=1 

does *not* help? Similarly, gpio_port=8 does not help?
Comment 10 Peter Englmaier 2002-10-24 04:04:07 EDT
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.
Comment 11 Alan Cox 2002-10-24 05:50:38 EDT
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)

Comment 12 Derek Viljoen 2002-10-25 11:12:06 EDT
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.
Comment 13 Peter Englmaier 2002-10-25 13:05:09 EDT
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.
Comment 14 Peter Englmaier 2002-10-25 13:06:35 EDT
A sorry, the statement is correct of course,
but the kernel source still contains the wrong version...
:-( Peter.
Comment 15 Bill Nottingham 2002-10-26 00:42:13 EDT
*** Bug 76178 has been marked as a duplicate of this bug. ***
Comment 16 Bill Nottingham 2002-10-26 00:44:37 EDT
*** Bug 76580 has been marked as a duplicate of this bug. ***
Comment 17 Bill Nottingham 2002-10-26 00:45:38 EDT
*** Bug 76421 has been marked as a duplicate of this bug. ***
Comment 18 Bill Nottingham 2002-10-26 00:46:37 EDT
*** Bug 76148 has been marked as a duplicate of this bug. ***
Comment 19 Peter Englmaier 2002-10-26 11:58:16 EDT
Created attachment 82211 [details]
patch against kernel-2.4.18-17.7.x; tested on Inspiron 3800 Laptop
Comment 20 Nils Philippsen 2002-10-29 09:37:48 EST
*** Bug 76786 has been marked as a duplicate of this bug. ***
Comment 21 soren 2002-10-29 10:11:06 EST
This also affects 2.4.18-17.8.0 kernel
Comment 22 Arjan van de Ven 2002-11-05 04:37:01 EST
There is a preliminary kernel that fixes this available from
http://people.redhat.com/arjanv/testkernels/
Comment 23 Jason Merrill 2002-11-05 12:37:24 EST
Thanks, the test kernel WORKSFORME.
Comment 24 Isaiah Weiner 2002-11-05 13:21:46 EST
aolmetoo under 7.3 *and* 8.0.
Comment 25 Need Real Name 2002-11-10 22:06:42 EST
The test kernel works for me, too.  Thanks.
Comment 26 Nils Philippsen 2002-11-12 20:00:28 EST
works for me, too
Comment 27 Arjan van de Ven 2002-11-16 06:06:58 EST
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
Comment 28 Brent Fox 2002-11-18 11:44:42 EST
*** Bug 77150 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.