
3COM 3C589 PCMCIA NIC Driver Patches
29 Oct 2000
Steven H. Levine
steve53@earthlink.net


These patches address two problems with the 3COM 3C589 drivers.

1.  The 3COM 3C589 driver, elpc3.os2, traps on systems with clock rates over     
    500 mHz.

2.  The log extract tool, 3net_log.exe, will not work with the v1.8         
    drivers.


THE ELPC3.OS PATCH

Elpc3.os2 traps because it calculates a buffer size based on the number of 
bytes that can be processed in a fixed time period.  On a faster CPU, more 
bytes can be processed.  This byte count is the dividend of a divide 
operation.  When this dividend becomes large enough, the divide instruction 
fails with a divide overflow because the quotient no longer fits in a 16-bit 
register.  The patch doubles the divisor and should avoid the trap for 
systems with clock rates  up to 1 GHz.  Beyond this, the divisor will need to 
be doubled again.

The patch is designed for the v1.8 driver:

 ELPC3.OS2 30,237 10-27-96

It has been reported that other 3COM drivers suffer the same failures on fast 
systems.  I have not investiagated this, but it is likely that these failures 
occur for the same reason and a similar patch will avoid the failure.


THE 3NET_LOG.EXE PATCH

The 3c589 driver saves log messages internally.  The 3net_log utility 
extracts the messages and writes them to the screen or to a file.  The 
version of the utility delivered with the v1.8 drivers no long works because 
the programmer(s) did not update the version number check to match the 
driver version.  The patch modifies 3net_log.exe to check for a v1.8 driver.
 
The patch is built for:

 3NET_LOG.EXE  13,065 8-11-95


The patches are supplied as .PAT files.  Apply the patches to a copy of the 
programs using the OS/2 PATCH utility.


*** USE AT YOUR OWN RISK ***

This program is provided AS IS without any warranty, expressed or implied, 
including but not limited to fitness for a particular use. The user is 
responsible for the results of correct or incorrect usage of this software.

