MINI-FAQ about the ESS modem driver.

Maintained by Andrew Wettstein
Updated 10/24/03 -- added more hints and new driver

For a more detailed discussion of linmodems see

Linmodems.org and
Linmodem HOWTO

Questions:

1. Who wrote this driver?
2. Can you recompile the driver on kernel x.y.z for distribution foo using gcc a.b.c
3. Does ess provide technical support on this driver?
4. Where can I download this driver?
5. What chipset/modems does this work for?
6. What kernel does this work on?
7. How do I know if the driver is installed or not?
8. Once I have the modem installed what device do I use for dialup configuration
9. Installation instructions
10. I have Microsoft Windows can you help with my ESS modem.

1. Who wrote this driver?

ESS wrote the 2.2.x driver. I am in no way involved in writing this driver. My only connection to this driver is that I found it on their ftp site and got it working.

The 2.4.18 driver was written by someone from HP for an ESS modem in their notebooks, and then emailed to me.

2. Can you recompile the driver on kernel x.y.z for distribution foo using gcc a.b.c

NO!!
I do not have sources for this driver. I did not write this driver. I have no contacts at ESS. ESS hasn't released any updates.
To repeat that answer: NO!!
But see below for someone that reverse engineered it.

3. Does ess provide technical support on this driver?

Not that I know of. You can try contacting. Their website is here: http://www.esstech.com/

4. Where can I download this driver?

It looks like ess has removed that driver from their ftp site
Download it here:
ES2898 2.2.x: 111.zip
ES2898 2.4.18: ES2839_4Linux2_4_18-2mdk.zip
Reverse engineered source for ES2898: ESS Source version (see below)
ES1989: ess-modem-1989.tar.gz

5. What chipset/modems does this work for?

It should work on any modems based on the es2898s chipset, this means that your modem is something like a ES56-PI, ES56V-PI, or ES56T-PI.

I specifically got the 2.2.x driver working with this modem:
SmartLink 5634PEW Win Modem.

The 2.4.18 driver was written for an HP XE3 notebook with an ESS modem in it, so it should work with those laptops. I don't know about other ESS modems.

There is an additional driver that I have received that supports the ES1989 that is found on HP laptops. I don't know if it supports any additional modems based on the ES1989 chipset.

6. What kernel does this work on?

I have reports of 2.2.x and 2.4.x working. I don't know which kernel version the ES1989 driver supports.

2.4.x kernel support for ES2898:

wael mostafa has sent me an email telling me that someone has reverse engineered the 2.2.12 es2898s driver and ported it to 2.4.x. Here is his email:

hi
Andrew Wettstein

i want to thank u for the ess faq
i m sending u this coz i wanted to help

i found that some one have developed a partial souce coded driver for 
ess 
modem to work on 2.4 kernels using reverse engineering
he said that it is buggy
yes it is so
BUT it is still WORKING
(it doesn`t work with Kppp or wvdial for me)  but worked well with 
chatscript

i have got it working on mandrake 9.1 (kernel2.4.21 and gcc3)
   i used forced insertion of the module and used a program called vppp 
   for 
   dialing(front end for chat script+pppd)
   it is available at:

   http://tx.technion.ac.il/~raindel/


   contact me for any further info
   thanx  again

Here is some more info from Yves Martin:

Hello,

I just send you a short mail about my "success story" - in fact a 
long sequence of errors and trials before succeeding.

Is it possible for you to update your pages with the following information ?

- The ES2898 binary module works (after applying fixscript)
with a 2.4.21 kernel build using gcc 2.95.3 (should work with 2.95.4)
       
Conditions:
- do not compile the kernel with gcc 2.96 or later (included 3.x)
Or else you will get a kernel panic with a 0x0000 argument in the 
tty interrupt handler [do not know why but gcc 2.95.x is the key ]

- do not compile with 'frame pointer' in 'Kernel Hacking' section

I have build my kernel from vanilly with many patches 
ACPI, swsusp, supermount, ntfs...) on a Mandrake 9.1 system for my
HP omnibook xt1000s.

Thank you for your pages - it was the first step of my success.
Best regards,
-- 
Yves Martin

2.4.x kernel support for ES2839:

I have received this file in an email that appears to support a 2.4 kernel. I have not tested this and do not know if it is reliable or not, but it is worth a shot. From the filename it appears as though this was compiled with a 2.4.18 mandrake kernel. Let me know if anyone has had any success with this kernel module:
ES2839_4Linux2_4_18-2mdk.zip

Take a look at this ESS modem thread here

It appears someones has this working with Redhat 7.3. Go to this site for additional files and information: http://sidlo.penguin.cz/ES2838/

This is a success story with some hints from nam:

hello,

   thanks a lot for your information page on the esscom driver for linux 
   at http://andrew.cait.org/ess/; it has proved extremely useful.

   with your help i managed to get an ess modem to work on a HP laptop of 
   the omnibook series running slackware 9.0. i've used the driver from

   ES2839_4Linux2_4_18-2mdk.zip

   i had to 'downgrade' the 2.4.20 kernel shipped with slackware 9.0 and 
   replace it with the kernel from slackware 8.1, which is indeed 2.4.18 
   compiled with gcc 2.9.95. no more changes were needed, however.

   i also had to force the driver to load, using insmod -f.

   the modem works ok, except that it connects at reduced speed and for 
   time being only root can activate it (but i'm working on it, i'll send 
         more news if i solve this problem). 

   again, thanks a lot for your page, hope this reports helps.

   best
   nam
2.2.x kernel information for ES2898:

Read the Ess section of the Linmodem Howto.

Here is some more info from Adam Purkrt:

Hi,
I've got the esscom driver (from http://www.wiu.edu/users/muslu/111.zip)
working with ess 2819 modem, even on 2.2.18 kernel. I needed to patch
<linux source root>/include/linux/tty.h as described on the
linmodems.org (move the line "struct wait_queue *poll_wait;" to the end
of the tty_struct structure definition (to the line 308)), and now it
works fine (with "insmod -f esscom.o").

Thanks for the driver & hints!
Some more info from Mark Parsons:
Hi,

I dont know if you are still interested in ESS modems and linux, but I have
an ess winmodem and was playing with the linux module, and I got my modem
working (which is cool, heh).

I have a ES56V-X ISAmodem, which uses a ESS0309 chipset.  Although this
chipset wasnt listed on your page, I tried the module anyways.

Took about 10 recompiles of a tty.h patched 2.2.19, but I got it working.

Some notes about it though: ppp HAD to be compiled as a module in the
kernel, if it was actually in the kernel, pppd would core.
2) the modem only works at 33.6 now (in windows it works at 56k), I guess
the driver might not support 56k for my chipset.
3) i had to use isapnp, and remove the CHECK part from the appropriate lines
in isapnp.conf.  If I didnt, the modem wasnt recognized by the module.
(isapnp wouldnt enable the modem if the CHECK stayed in isapnp.conf, I have
no idea why, as the ioports the modem was requesting wasnt in conflict,
although isapnp thought they were)

I think thats about it.. im just happy I can use my modem in linux now. :)

Mark
This driver was built on redhat 6.1, using their 2.2.12-20 kernel. This kernel is what I got it working on.

You can download this kernel here: kernel 2.2.12-20-586.tar.gz

7. How do I know if the driver is installed or not?

Run this command (as root): lsmod |grep esscom

If there is no output it has not been succesfully installed, if there is output you should try setting up your dial up now.

8. Once I have the modem installed what device do I use for dialup configuration

The installation creates /dev/esscom and symbolically links /dev/modem to it. So tell your dialup configuration program to use /dev/modem

9. Installation instructions

These installation instructions detail installing the esscom module and using the modem with kernel 2.2.12 provided from redhat, and known to work. It is also assumed that you are using LILO. Commands are bold. This kernel is from 1999, and may limit some of your current functionality.

Your modem should be working. If I have missed any steps let me know, and I will add additional information.

10. I have Microsoft Windows can you help with my ESS modem?

Sorry, I haven't used any Microsoft products in probably 5 years or so. I don't know how to get drivers for any Microsoft products or how to install them.

Any comments, additions, or feedback go to Andrew Wettstein