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

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


ESS1868 Plug And Play Sound Card for Linux

Note: This page covers the 2.0.x and 2.2.x kernels. I have created a new page for the 2.4.x kernel here and one for 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.

Recently I have received a few requests asking how my efforts to get the tertiary IDE port running have been going. To tell you the truth I haven't even started. But I do know that it is possible. Take a look at Apendix D to see how it's all done.

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 in both Win95 & 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.

How to handle the Plug and Play

The first thing I did was to download the isapnptools utility from sunsite. This package allowed me to set the various interupts, adddresses and DMA channels on the card to something known. It comes with enough documentation to get you going and setting up your plug and play cards.

Do a pnpdump > /etc/isapnp.conf and edit it to suit your needs. I have included my /etc/isapnp.conf below in Apendix A. This has set the sound portion of the card up to spare interupts, IO addresses and DMA channels for my PC. Things may have to vary depending on what you already have in your PC. With the isapnp utility comes a small script that is suitable to be run when your system starts. I run a Slackware distribution, and this script is called /etc/rc.d/rc.pnp, which is called from /etc/rc.d/rc.M. These file names and locations will vary depending upon which distribution you are using.

Configuring the kernel drivers

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.2.9 and things seem to work without any problems. As the Plug and Play on the card is set after the kernel has done all its auto detecting, the sound portion of the kernel has to be installed as a module after the isapnp utility has done its magic. 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. See Apendix B.1 for kernel 2.0 or Apendix B.2 for kernel 2.2 screen capture of the Sound card support menu. Just make sure that you use M in selecting Sound, so that it is compiled as a module. I then compile my kernel, including modules, as follows:
make dep
make clean
make zImage  (or make bzImage for 2.2 kernels)
make modules
make modules_install
And install the new kernel (zImage) 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.

Loading the Sound Module - Kernel 2.0

I have kerneld automatically load the sound.o module when needed. This works fine except that the volume always returned to the default of 100% when ever the module was reloaded. Reading through the Kerneld mini-HOWTO I found a section that mentioned this. There is a post-install option in the /etc/conf.modules file that will run a program automatically whenever a particular module is loaded. Also, from sunsite, I found a volume utility. So part of my /etc/conf.modules looks like:
alias char-major-14 sound
post-install sound /usr/local/bin/volume 40
This then sets the volume to 40% whenever the module is loaded.

If you don't run kerneld, then just putting the following in your rc.local will do:

# load sound module
/sbin/insmod sound
# Set volume
/usr/local/bin/volume 40

Loading the Sound Module - Kernel 2.2

In the 2.2 kernel I just manually load the necessary modules. This works fine except that the volume always starts at the default of 100%. From sunsite, I found a volume utility. So of my /etc/rd.c/rc.sound looks like:
/sbin/modprobe sound
if [ -f /proc/sound ] ; then
        /sbin/insmod uart401
        /sbin/insmod sb io=0x220 irq=5 dma=1 dma16=-1 esstype=1868
        /sbin/insmod mpu401 io=0x330
        /sbin/insmod opl3 io=0x388
        /sbin/insmod v_midi

        # set the volume
        if [ -f /usr/local/bin/volume ] ; then
                /usr/local/bin/volume 70
        fi
fi

Testing to see if it worked

For kernel 2.0 do a cat /dev/sdnstat and see what you get. The output I get is in Apendix C.1. For kernel 2.2 do a cat /proc/sound and see what you get. The output I get is in Apendix C.2. 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.


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

Apendix A - /etc/isapnp.conf

# $Id: pnpdump.c,v 1.8 1997/01/14 21:05:35 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
# 
# For details of this file format, see isapnp.conf(5)
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER -DNEEDNANOSLEEP
#
# Trying port address 0203
# Board 1 has serial identifier 27 ff ff ff ff 68 18 73 16

# (DEBUG)
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)

# Card 1: (serial identifier 27 ff ff ff ff 68 18 73 16)
# ESS1868 Serial No -1 [checksum 27]
# Version 1.0, Vendor version 1.0
# ANSI string -->ESS ES1868 Plug and Play AudioDrive<--
#
# Logical device id ESS0000
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

# (CONFIGURE ESS1868/-1 (LD 0
#     Logical device decodes 16 bit IO address lines
#         Minimum IO base address 0x0800
#         Maximum IO base address 0x0ff8
#         IO base alignment 8 bytes
#         Number of IO addresses required: 8
# (IO 0 (BASE 0x0800))
# (ACT Y)
# ))
#
# Logical device id ESS1868
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

(CONFIGURE ESS1868/-1 (LD 1

# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       First DMA channel 1.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
(DMA 0 (CHANNEL 1))
#       Next DMA channel 0 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
(DMA 1 (CHANNEL 0))
#       IRQ 5.
#             High true, edge sensitive interrupt (by default)
(INT 0 (IRQ 5 (MODE +E)))
#       Fixed IO base address 0x0220
#             Number of IO addresses required: 16
(IO 0 (BASE 0x0220))
#       Fixed IO base address 0x0388
#             Number of IO addresses required: 4
(IO 1 (BASE 0x0388))
#       Fixed IO base address 0x0330
#             Number of IO addresses required: 2
(IO 2 (BASE 0x0330))

#       Start dependent functions: priority acceptable
#       First DMA channel 1.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 1))
#       Next DMA channel 0 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 0))
#       IRQ 5, 7, 9 or 10.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0240
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
# (IO 0 (BASE 0x0220))
#       Fixed IO base address 0x0388
#             Number of IO addresses required: 4
# (IO 1 (BASE 0x0388))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0300
#             Maximum IO base address 0x0330
#             IO base alignment 48 bytes
#             Number of IO addresses required: 2
# (IO 2 (BASE 0x0300))

#       Start dependent functions: priority acceptable
#       First DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 0))
#       Next DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 0))
#       IRQ 5, 7, 9, 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0280
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
# (IO 0 (BASE 0x0220))
#       Fixed IO base address 0x0388
#             Number of IO addresses required: 4
# (IO 1 (BASE 0x0388))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0300
#             Maximum IO base address 0x0330
#             IO base alignment 48 bytes
#             Number of IO addresses required: 2
# (IO 2 (BASE 0x0300))

#       Start dependent functions: priority acceptable
#       First DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 0))
#       Next DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 0))
#       IRQ 5, 7, 9, 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0280
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
# (IO 0 (BASE 0x0220))
#       Fixed IO base address 0x0388
#             Number of IO addresses required: 4
# (IO 1 (BASE 0x0388))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0800
#             Maximum IO base address 0x0ffe
#             IO base alignment 2 bytes
#             Number of IO addresses required: 2
# (IO 2 (BASE 0x0800))

#       Start dependent functions: priority functional
#       First DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 0))
#       Next DMA channel 0, 1 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 0))
#       IRQ 5, 7, 9, 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0280
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
# (IO 0 (BASE 0x0220))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0800
#             Maximum IO base address 0x0ffc
#             IO base alignment 4 bytes
#             Number of IO addresses required: 4
# (IO 1 (BASE 0x0800))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0800
#             Maximum IO base address 0x0ffe
#             IO base alignment 2 bytes
#             Number of IO addresses required: 2
# (IO 2 (BASE 0x0800))

#     End dependent functions
(ACT Y)
))
#
# Logical device id ESS0001
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

# (CONFIGURE ESS1868/-1 (LD 2

# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       Fixed IO base address 0x0201
#             Number of IO addresses required: 1
# (IO 0 (BASE 0x0201))

#       Start dependent functions: priority acceptable
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0200
#             Maximum IO base address 0x020f
#             IO base alignment 1 bytes
#             Number of IO addresses required: 1
# (IO 0 (BASE 0x0200))

#     End dependent functions
#     Compatible device id PNPb02f
# (ACT Y)
# ))
#
# Logical device id ESS0002
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

# (CONFIGURE ESS1868/-1 (LD 3

# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       IRQ 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 12 (MODE +E)))
#       Fixed IO base address 0x0168
#             Number of IO addresses required: 8
# (IO 0 (BASE 0x0168))
#       Fixed IO base address 0x036e
#             Number of IO addresses required: 2
# (IO 1 (BASE 0x036e))

#       Start dependent functions: priority acceptable
#       IRQ 10 or 11.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 10 (MODE +E)))
#       Fixed IO base address 0x0168
#             Number of IO addresses required: 8
# (IO 0 (BASE 0x0168))
#       Fixed IO base address 0x036e
#             Number of IO addresses required: 2
# (IO 1 (BASE 0x036e))

#       Start dependent functions: priority acceptable
#       IRQ 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 10 (MODE +E)))
#       Fixed IO base address 0x01e8
#             Number of IO addresses required: 8
# (IO 0 (BASE 0x01e8))
#       Fixed IO base address 0x03ee
#             Number of IO addresses required: 2
# (IO 1 (BASE 0x03ee))

#       Start dependent functions: priority functional
#       IRQ 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 10 (MODE +E)))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0100
#             Maximum IO base address 0x01f8
#             IO base alignment 8 bytes
#             Number of IO addresses required: 8
# (IO 0 (BASE 0x0100))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0300
#             Maximum IO base address 0x03fe
#             IO base alignment 2 bytes
#             Number of IO addresses required: 2
# (IO 1 (BASE 0x0300))

#     End dependent functions
#     Compatible device id PNP0600
# (ACT Y)
# ))
# End tag... Checksum 0x00 (OK)
(WAITFORKEY)

Apendix B.1 - "make menuconfig" Sound Section for 2.0 Kernels

NOTE: Sound for the kernel is a module...
<M> Sound card support
Old configuration script  (For: SM Wave, PSS & AudioTrix Pro) -->     
[ ] ProAudioSpectrum 16 support                                       
[*] Sound Blaster (SB, SBPro, SB16, clones) support                   
[ ] Generic OPL2/OPL3 FM synthesizer support                          
[ ] Gravis Ultrasound support                                         
[ ] MPU-401 support (NOT for SB16)                                    
[ ] 6850 UART Midi support                                            
[ ] PSS (ECHO-ADI2111) support                                        
[ ] 16 bit sampling option of GUS (_NOT_ GUS MAX)                     
[ ] GUS MAX support                                                   
[ ] Microsoft Sound System support                                    
[ ] Ensoniq SoundScape support                                        
[ ] MediaTrix AudioTrix Pro support                                   
[ ] Support for MAD16 and/or Mozart based cards                       
[ ] Support for Crystal CS4232 based (PnP) cards                      
[ ] Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers   
[*] /dev/dsp and /dev/audio support                                   
[*] MIDI interface support                                            
[ ] FM synthesizer (YM3812/OPL-3) support                             
(220) I/O base for SB Check from manual of the card                   
(5) Sound Blaster IRQ Check from manual of the card                   
(1) Sound Blaster DMA 0, 1 or 3                                       
(0) Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 ox x   
(0) MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of tx x   
(-1) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16      
(65536) Audio DMA buffer size 4096, 16384, 32768 or 65536             
[ ] Additional low level drivers                                      
                                                                      

Apendix B.2 - "make menuconfig" Sound Section for 2.2 Kernels

NOTE: Sound for the kernel is a module...
<M> Sound card support                                                                                                    x x
< > Ensoniq AudioPCI (ES1370)                                                                                             x x
< > Creative Ensoniq AudioPCI 97 (ES1371)                                                                                 x x
< > S3 SonicVibes                                                                                                         x x
< > Support for Turtle Beach MultiSound Classic, Tahiti, Monterey                                                         x x
< > Support for Turtle Beach MultiSound Pinnacle, Fiji                                                                    x x
<M> OSS sound modules                                                                                                     x x
< > ProAudioSpectrum 16 support                                                                                           x x
<M> 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support                                                      x x
<M> Generic OPL2/OPL3 FM synthesizer support                                                                              x x
< > Gravis Ultrasound support                                                                                             x x
<M> MPU-401 support (NOT for SB16)                                                                                        x x
< > PSS (AD1848, ADSP-2115, ESC614) support                                                                               x x
< > Microsoft Sound System support                                                                                        x x
< > Ensoniq SoundScape support                                                                                            x x
< > MediaTrix AudioTrix Pro support                                                                                       x x
< > Support for OPTi MAD16 and/or Mozart based cards                                                                      x x
< > Full support for Turtle Beach WaveFront (Tropez Plus, Tropez, Maui) synth/soundcards                                  x x
< > Support for Crystal CS4232 based (PnP) cards                                                                          x x
< > Support for Yamaha OPL3-SA2, SA3, and SAx based PnP cards                                                             x x
< > Limited support for Turtle Beach Wave Front (Maui, Tropez) synthesizers                                               x x
< > Support for Aztech Sound Galaxy (non-PnP) cards                                                                       x x
< > Support for AD1816(A) based cards (EXPERIMENTAL)                                                                      x x
< > Yamaha OPL3-SA1 audio controller                                                                                      x x
<M> SoftOSS software wave table engine                                                                                    x x
<M> FM synthesizer (YM3812/OPL-3) support                                                                                 x x
<M> Loopback MIDI device support                                                                                          x x
< > 6850 UART support                                                                                                     x x
Additional low level sound drivers  --->                                                                                  x x


Apendix C.1 - "cat /dev/sndstat"

Sound Driver:3.5.4-960630 (Wed Apr 29 17:44:40 EST 1998 root,
Linux toyota 2.0.33 #2 Tue Jan 13 20:43:01 EST 1998 i586)
Kernel: Linux toyota 2.0.33 #2 Tue Jan 13 20:43:01 EST 1998 i586
Config options: 0

Installed drivers: 
Type 2: Sound Blaster
Type 7: SB MPU-401

Card config: 
Sound Blaster at 0x220 irq 5 drq 1,0
(SB MPU-401 irq 1 drq 0)

Audio devices:
0: ESS ES1688 AudioDrive (rev 11) 

Synth devices:

Midi devices:

Timers:
0: System clock

Mixers:
0: Sound Blaster

Apendix C.2 - "cat /proc/sound"

OSS/Free:3.8s2++-971130
Load type: Driver loaded as a module
Kernel: Linux toyota 2.2.2 #9 Tue Mar 2 21:28:38 EST 1999 i586
Config options: 0

Installed drivers: 

Card config: 

Audio devices:
0: ESS ES1868 AudioDrive (rev 11) (3.1)

Synth devices:
0: Yamaha OPL3

Midi devices:
0: Loopback MIDI Port 1
1: Loopback MIDI Port 2

Timers:
0: System clock

Mixers:
0: Sound Blaster

Apendix D - IDE port on a Soundcard

I can't take any credit for this. It was pointed out at one time on the comp.os.linux.hardware news group where the necessary information hides. With the
isapnptools package there is a README.ide file that contains the following:
README.ide ========== This is a copy of a posting Jeff Epler made to the pnp-list, describing how he succeeded in getting his IDE port on a soundcard to work. I think it's fairly clear... The basic concept is to make an empty module with the sole purpose of talking to the IDE driver to register a new set of addresses. There is no driver code in the module, it is like a simple setserial for the IDE driver. --------------------------------------------------------------------------- Date: Mon, 6 Jan 1997 09:12:29 -0600 From: jepler@inetnebr.com (Jeff Epler) To: pnp-list@redhat.com Subject: SB16 PnP success with IDE interface X-Mailing-List: archive/latest/596 Hi. I've just succeeded in using the IDE interface on a SB16 PnP card, without resorting to initrd, rebooting after running isapnp, or other silly things. I'm using kernel 2.0.27, isapnp-1.8, and modutils 2.0. I enabled CONFIG_BLK_DEV_IDE_PCMCIA (and compiled ide in-kernel, which is the only choice in 2.0), which is half the magic. On the SB card I have a single cdrom drive, configured as the master. CONFIG_BLK_DEV_IDE_PCMCIA is misnamed, it allows for you to register and unregister ide interfaces after boot-time. While it may have been useful only to the PCMCIA crowd at some time in the past, it's useful to us now, while we're waiting for complete pnp support in the kernel. In my case, the proper time to register the third ide interface (ide2) is right after I run isapnp. As nearly as I can figure, the way to call the routines ide_register and ide_unregister are by a module. I enclose below the source for 'ide2mod.c'. Edit the definition of port, port1, and irq according to the resources you can allocate to your sb16's ide interface. Then, compile it gcc -DMODULE -c ide2mod.c -o ide2mod.o and put it somewhere that's available when you run isapnp. Then, (re-running isapnp to enable the ide interface if necessary), test it by running as root insmod ide2mod.o you should see output like this: hde: NEC CD-ROM DRIVE:251, ATAPI CDROM drive ide2 at 0x1e8-0x1ef,0x3ee on irq 11 ide_register(1e8, 3ee, 11)->2 Initialization of ide2mod failed Don't be alarmed at the last line -- this merely means that the module is not staying resident in kernel space. The three earlier lines are the important ones. It shows that my cdrom drive has been recognized as /dev/hde and that the address for ide2 is correct. You can also unregister the interface with insmod ide2mod.o do_register=0 which may be useful if you're fiddling around. In /etc/rc, it's run like this: /sbin/isapnp /etc/isapnp.conf /sbin/insmod /boot/ide2mod.o I hope this is of some use to someone out there. If you have any questions or suggestions, please mail them to jepler@inetnebr.com, or just reply on the list. Jeff ----------------------------------- ide2mod.c ----------------------------- #define MODULE #include #include #include int port=0x1e8; int port1=0x3ee; /* usually port + 0x206 for some reason */ int irq=11; int index=2; int do_register=1; int res; init_module() { if (do_register) { printk("ide_register(%x, %x, %d)->%d\n", port, port1, irq, res=ide_register(port, port1, irq)); } else { printk("ide_unregister(%d)->%d\n", res=index, ide_unregister(index)); } return res; } cleanup_module() { } ---------------------------- end -- ide2mod.c ----------------------------- ----------------------------------- part of /etc/isapnp ------------------- # # Logical device id CTL2011 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE CTL002b/1079828 (LD 1 # Compatible device id PNP0600 # ANSI string -->IDE<-- (INT 0 (IRQ 11 (MODE +E))) (IO 0 (BASE 0x01e8)) (IO 1 (BASE 0x03ee)) (ACT Y) )) ---------------------------- end -- part of /etc/isapnp -------------------
The CONFIG_BLK_DEV_IDE_PCMCIA option that Jeff Epler talks about above is the Support removable IDE interfaces (PCMCIA) option in the Floppy, IDE, and other block devices ---> section of a make menuconfig kernel configuration.
Please sign my Guest Book
Return to my Linux Page
Goto my Home Page
Email me