This page has moved...

You will be redirected automatically there in 5 seconds.

If not, then please click on the following link: http://users.bigpond.net.au/blmiller/linux/ess1868-2.4.html

Please update any links to this page you may have had.


ESS1868 Plug And Play Sound Card for Linux 2.4.x

Note: This page covers the 2.4.x kernel. I have created a new page for the the 2.6.x kernel here.

Background

The ESS1868 plug and play sound card I have works under Linux. On the card there are basically four components: Of these I only use the basic sound facility. The rest aren't even configured.

Also, I just want to say that I am no expert on sound cards; have no ties with ESS Technologies; and make no claims that what I have done to get my ESS 1868 sound card running on my Linux system will work for you. This is just a helpfull hint for those who are experiencing a challenge getting more that that anoying BEEP out of the internal speaker.

Other Operating Systems

At times I have received questions about drivers for other operating systems. I will admit that I may have used my ESS 1868 on Windows 95 and NT in the past using drivers I obtained from the ESS Technologies home page. You may want to head straight to their drivers page to get what you need. Win98 has the drivers included on the CD and should auto-detect it. Please don't contact me asking for any drivers, they come with any 2.0 or later Linux kernel, and are downloadable from the ESS web site for those Windows operating systems as well as OS/2.

Configuring the kernel

In the past I used to compile all the sound drivers as modules because it was necessary as they were loaded after the ISA PnP was initialised by an external user based program. As the kernel now supports ISA PnP natively I compile the sound directly into the kernel.

The ESS1868 sound chip is pretty much SoundBlaster Pro compatable; so it works using the standard kernel sound drivers. I am currently running kernel 2.4.5 and things seem to work without any problems.

Compiling the kernel is no different to usual, except that you enable the sound. Personally I use make menuconfig to configure my kernel before compiling it.

The first thing to do is enable ISA PnP. This is done under the

Plug and Play configuration  --->
option under the main menu. This is configured like:
[*] Plug and Play support 
[*]   ISA Plug and Play support
The other main menu option to select is
Sound  --->
where the actual sound card is configured. This is configured like:
[*] Sound card support
[ ]   C-Media PCI (CMI8338/8378)
[ ]   Creative SBLive! (EMU10K1)
[ ]   Crystal SoundFusion (CS4280/461x)
[ ]   Crystal Sound CS4281
[ ]   Ensoniq AudioPCI (ES1370)
[ ]   Creative Ensoniq AudioPCI 97 (ES1371)
[ ]   ESS Technology Solo1
[ ]   ESS Maestro, Maestro2, Maestro2E driver
[ ]   ESS Maestro3/Allegro driver (EXPERIMENTAL)
[ ]   Intel ICH (i8xx) audio support
[ ]   S3 SonicVibes
[ ]   Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core
[ ]   Support for Turtle Beach MultiSound Classic, Tahiti, Monterey
[ ]   Support for Turtle Beach MultiSound Pinnacle, Fiji
[ ]   VIA 82C686 Audio Codec
[*]   OSS sound modules
[*]       Verbose initialisation
[*]       Persistent DMA buffers
[ ]     AD1816(A) based cards (EXPERIMENTAL)
[ ]     Aztech Sound Galaxy (non-PnP) cards
[ ]     Adlib Cards
[ ]     ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20)
[ ]     Crystal CS4232 based (PnP) cards
[ ]     Ensoniq SoundScape support
[ ]     Gravis Ultrasound support
[*]     Loopback MIDI device support
[ ]     MediaTrix AudioTrix Pro support
[ ]     Microsoft Sound System support
[*]     MPU-401 support (NOT for SB16)
[ ]     NM256AV/NM256ZX audio support
[ ]     OPTi MAD16 and/or Mozart based cards
[ ]     ProAudioSpectrum 16 support
[ ]     PSS (AD1848, ADSP-2115, ESC614) support
[*]     100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
[ ]     AWE32 synth
[ ]     Limited support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
[*]     Yamaha FM synthesizer (YM3812/OPL-3) support
[ ]     Yamaha OPL3-SA1 audio controller
[ ]     Yamaha OPL3-SA2 and SA3 based PnP cards
[ ]     Yamaha YMF7xx PCI audio (native mode)
[ ]     6850 UART support
[ ]     Gallant Audio Cards (SC-6000 and SC-6600 based)  
I then compile my kernel as follows:
make dep
make clean
make bzImage
You will also have to modify yout /etc/lilo.conf file so that a new kernel parameter is passed in. The following line will have to be added up near the top before the first kernel images are listed as the Yamaha FM synthesizer MIDI driver isn't PnP aware:
append="opl3=0x388"

And install the new kernel (bzImage) where is is surposed to go, and run lilo so it boots from the new kernel. If this doesn't make a lot of sense to you, then you will have to read the Kernel-HOWTO.

Testing to see if it worked

With kernel 2.0 there was a /dev/sdnstat and kernel 2.2 a /proc/sound file that you could look at to see the status of your card. There is no feature like this for the 2.4 kernels. So all that's left to look at is the output from the dmesg command. Do a dmesg | more and look for messages like:
isapnp: Scanning for PnP cards...
isapnp: Card 'ESS ES1868 Plug and Play AudioDrive'
isapnp: 1 Plug & Play card detected total
Which means that you card has been froing by the kernel isapnp.
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
sb: ESS ES1868 Plug and Play AudioDrive detected
sb: ISAPnP reports 'ESS ES1868 Plug and Play AudioDrive' at i/o 0x220, irq 5, dma 1, 3
ESS chip ES1868 detected
<ESS ES1868 AudioDrive (rev 11) (3.01)> at 0x220 irq 5 dma 1,3
sb: ESS ES1868 Plug and Play AudioDrive detected
sb: Failed to initialize ESS ES1868 Plug and Play AudioDrive
sb: 1 Soundblaster PnP card(s) found.
YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
<Yamaha OPL3> at 0x388

Don't worry about the 7th line saying that the card failed to initialize. This is an error in the kernel and I found the following message on the kernel mail list that explains it:
Hi,
i have found a minor 'problem' in the 2.4.0-testX kernels, that occurs
when an ESS1868 soundcard is ISAPnP autodetected. (i.e. when the "sb"
driver is compiled directly into the kernel)
 
The "source" of the problem is in /drivers/sound/sb_card.c line. 399:
 
in the sb_isapnp_list[] are two "ESS 1868" entries (same Card identifers
but different logical devices. The Kernel detects both cards but can
only initialize one because only for one the logical device id matches
with the card. It gives an error message for the other one.
Apart from that, EVERYTHING is working correctly. The problem is only
that you get a error for a card that you dont have :-)
 
The easyest thing would be to remove one of the ESS1868 definitions but
i don't consider that as an option.
 
Here is my Patch suggestion. I have merged the sb_isapnp_init() into the
sb_init() function to prevent the error from being printed. I don't know
if this "merge"  is "allowed" but at least it now works correctly for
me.
 
CU
  Martin                                                                                                        

The final test I did was to send a raw .au file out to the sound device. All I did was a cat test.au > /dev/audio.

Setting the volume

I use a set of speakers without a power supply. The volume by default I feel is too loud so I set it by using the volume utility which I call from my rc.local file at boot time. Here is an example of how to do this:
# set the volume
if [ -f /usr/local/bin/volume ] ; then
        /usr/local/bin/volume 70
fi                                                                                                      
I hope this helped you to get that ESS1868 sound card or your working properley.


Please sign my Guest Book
Return to my Linux Page
Goto my Home Page
Email me

Number of times page accessed since April 1, 2003: