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.edu .
Alan, opinion?
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
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.
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?? Thanks
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.