Bug 16311 - bug in sound driver for ES1888 chip (sb_ess.c)
Summary: bug in sound driver for ES1888 chip (sb_ess.c)
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 6.2
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Michael K. Johnson
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2000-08-16 05:01 UTC by Need Real Name
Modified: 2008-05-01 15:37 UTC (History)
1 user (show)

Clone Of:
Last Closed: 2000-08-16 16:57:59 UTC

Attachments (Terms of Use)

Description Need Real Name 2000-08-16 05:01:09 UTC
The sound driver for cards using the ES1888 chip (sb_ess.c) has a bug in
the replay speed for the dsp.  CDs will play correctly.  Sound that
requires the dsp (e.g., mp3s) plays back at a overly slow rate.

I have found a fix that works with my card.  The solution is to comment out
some lines affecting the clock speed that have already been commented out
for the ES1869 and ES1887.  

Comment out lines 1207,1208, and 1209:
//		case SUBMDL_ES1888:
//			devc->caps |= SB_CAP_ES18XX_RATE;
//			break;

Since this would comment out what remains of that switch statement, lines
1201 - 1210 can be removed.

I have noticed this problem in kernels 2.2.12, 2.2.14, 2.2.14-5, 2.2.16-3,
and 2.4.0-test4.  I assume it is present in all the other kernels as well.

I don't know how to create a patch, but this is a rather simple solution so
it shouldn't be too much trouble for the maintainer of the code.
If there are any questions, feel free to email me at
jackson4@andrew.cmu.edu .

Comment 1 Michael K. Johnson 2000-08-16 16:55:32 UTC
Alan, opinion?

Comment 2 Alan Cox 2000-08-16 16:57:57 UTC
The fix is not generic. The problem is the chip can be strapped multiple ways
with multiple crystals. There isnt any published detection method and ESS never
seemed interested in replying. The recommended solution is to add esstype=1688
to the module load line

Comment 3 Michael K. Johnson 2000-08-21 15:45:52 UTC
OK, something that we clearly can't fix for this release,
but there's a workaround.  I'm going to close this and say
to re-open it (or open a new bug) when there's a generic fix
or ESS publishes the needed information.

Comment 4 Oliver Jones 2000-10-25 02:41:46 UTC
Here is a suggestion for Redhat.  Modify sndconfig so that when a user chooses
an ESS1888 as their sound card they should be instructed that if sound plays
slowly to add the "esstype=1688" to their module options.  Or alternatively
extend sndconfig to use /dev/dsp rather than playing the silly "Linus sound" via
/dev/audio and check with the user if sound was at the right speed.  How do you
check?  Well you could play a female voice and ask a question "Was the previous
sound Male or Female?,  Female, Male"

..or something...  

Also, is there a way in which ESS1888 owners can get vocal and complain to ESS
so they give the right info to the Linux dev team??


Comment 5 Alan Cox 2000-10-26 21:03:43 UTC
ESS are working a bit with Linux dev folks but only on their new chips not
ancient stuff. Its not clear the strapping is software detectable either.

I agree about the sndconfig suggestion.

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