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.6.html

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


ESS1868 Plug And Play Sound Card for Linux 2.6

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. 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

The ESS1868 sound chip works using the standard kernel sound drivers. I am currently running kernel 2.6.0 and things seem to work without any problems.

Compiling the kernel is no different to usual. Personally I use make menuconfig to configure my kernel before compiling it. Here are a few screen dumps of what I configured:

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->

   [*] PCI support
       PCI access mode (Any)  --->
   [*]   Legacy /proc/pci interface
   [*]   PCI device name database
   [*] ISA support
   [ ]   EISA support
   [ ] MCA support
   < > NatSemi SCx200 support
   [*] Support for hot-pluggable devices
         PCMCIA/CardBus support  --->
         PCI Hotplug Support  --->

Device Drivers  ---> Plug and Play support  --->

   [*] Plug and Play support
   [*]   PnP Debug Messages
   ---   Protocols
   [*]   ISA Plug and Play support (EXPERIMENTAL)
   [*]   Plug and Play BIOS support (EXPERIMENTAL)

Device Drivers  ---> Sound  --->

   <*> Sound card support
       Advanced Linux Sound Architecture  --->
       Open Sound System  --->

Device Drivers  ---> Sound  ---> Advanced Linux Sound Architecture  --->

    <*> Advanced Linux Sound Architecture
    <*>   Sequencer support
    < >     Sequencer dummy client
    [*]   OSS API emulation
    <*>     OSS Mixer API
    <*>     OSS PCM (digital audio) API
    [*]     OSS Sequencer API
    [*]   Verbose printk
    [*]   Debug
    [ ]     Debug memory
    [*]     Debug detection
          Generic devices  --->
          ISA devices  --->
          PCI devices  --->
          ALSA USB devices  --->
NOTE: Most likely your current Linux system uses the older OSS (Open Sound System) sound driver interface to the kernel. The new ALSA one is different, but they have assed in backwards compatability so your current sound applications will continue to work.
 
Device Drivers  ---> Sound  ---> Advanced Linux Sound Architecture  ---> ISA devices  --->

   < > Analog Devices SoundPort AD1816A
   < > Generic AD1848/CS4248 driver
   < > Generic Cirrus Logic CS4231 driver
   < > Generic Cirrus Logic CS4232 driver
   < > Generic Cirrus Logic CS4236+ driver
   < > Generic ESS ES968 driver
   < > Generic ESS ES688/ES1688 driver
   <*> Generic ESS ES18xx driver
   < > Gravis UltraSound Classic
   < > Gravis UltraSound Extreme
   < > Gravis UltraSound MAX
         ...etc...

Device Drivers  ---> Sound  ---> Advanced Linux Sound Architecture  --->
         Generic devices  --->
      &  PCI devices  --->
      &  ALSA USB devices  --->

      <nothning selected in any of these>

 
Device Drivers  ---> Sound  ---> Open Sound System  --->


    < > Open Sound System (DEPRECATED)

Compile New Kernel

Compile 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.

Make ALSA /dev devices

There are new ALSA devices that need to be created in the /dev/directory. The easiest way to do this is to just run the supplied script that comes with the kernel source: /usr/src/linux/scripts/MAKEDEV.snd

Reboot...and Test

Now reboot and things should work... Do a dmesg | more and look for messages like:
Advanced Linux Sound Architecture Driver Version 0.9.7 (Thu Sep 25 19:16:36 2003 UTC).
request_module: failed /sbin/modprobe -- snd-card-0. error = -16
pnp: the driver 'es18xx' has been registered
pnp: match found with the PnP device '01:01.01' and the driver 'es18xx'
pnp: match found with the PnP device '01:01.00' and the driver 'es18xx'
pnp: Device 01:01.00 activated.
ALSA sound/isa/es18xx.c:1990: pnp: port=0x800
pnp: Device 01:01.01 activated.
ALSA sound/isa/es18xx.c:2033: PnP ES18xx: port=0x220, fm port=0x388, mpu port=0xffffffff
ALSA sound/isa/es18xx.c:2034: PnP ES18xx: dma1=1, dma2=3, irq=5
ALSA sound/isa/es18xx.c:1531: [0x220] ESS1868 chip found
ALSA device list:
  #0: ESS AudioDrive ES1868 at 0x220, irq 5, dma1 1, dma2 3
Which means that you card has been found by the kernel.

Other things you can look at are:

root@labrat:/# cd /proc/asound
root@labrat:/proc/asound# ls -al
total 0
dr-xr-xr-x    5 root     root            0 Dec 26 21:51 ./
dr-xr-xr-x   42 root     root            0 Dec 27  2003 ../
lrwxrwxrwx    1 root     root            5 Dec 26 21:51 ES1868 -> card0/
dr-xr-xr-x    4 root     root            0 Dec 26 21:51 card0/
-r--r--r--    1 root     root            0 Dec 26 21:51 cards
-r--r--r--    1 root     root            0 Dec 26 21:51 devices
-r--r--r--    1 root     root            0 Dec 26 21:51 hwdep
dr-xr-xr-x    2 root     root            0 Dec 26 21:51 oss/
-r--r--r--    1 root     root            0 Dec 26 21:51 pcm
dr-xr-xr-x    2 root     root            0 Dec 26 21:51 seq/
-r--r--r--    1 root     root            0 Dec 26 21:51 timers
-r--r--r--    1 root     root            0 Dec 26 21:51 version
root@labrat:/proc/asound#

Installing ALSA Library and Utilities

If you have a system that has all of the current sound applications compiled to use the older OSS sound, then it's not really necessary to install the ALSA libraries & utilities. But you might as well do it for anything new that comes along.

Go to the ALSA web site, and download then install the Library and the Utilities (at a minimum). You can either compile them your self, or download binaries. It's your choice.

Don't forget that you may have to run /sbin/ldconfig to get the libraries loaded.

Testing the ALSA driver

The command to play sound files from the Utilities is aplay. If you need a sound to play with it, here is my ess1868.wav file. To play this, download and save it, then do the following command: aplay ess1868.wav

You can also use alsamixer to set the volume and several other settings relating to the sound card.

Setting the volume

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


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

Number of times page accessed since January 3, 2004:
free hit counter