*BSD News Article 93518


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!newsfeed.direct.ca!su-news-hub1.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!news.maxwell.syr.edu!ott.istar!news.istar.net!van-bc!van-bc!not-for-mail
From: skl@news.ScalableNetwork.com (Samuel Lam)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Solution for 3COM 3C589D PCMCIA Ethernet card problem
Date: 14 Apr 1997 02:18:19 -0700
Organization: Scalable Network Systems Ltd.
Lines: 19
Sender: skl@wimsey.com
Message-ID: <5issor$gqk@vanbc.wimsey.com>
Reply-To: skl@reply.ScalableNetwork.com (Samuel Lam)
NNTP-Posting-Host: vanbc.wimsey.com
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:39050

For those with 3C589*D* cards and want to use the "ep" driver
instead of PAO, I have found the problem.  The EEPROM used inside
the 3C589D seems to be slower than those used in the 3C589C and
older cards, and the DELAY(1000) in read_eeprom_data() isn't long
enough any more.

Increasing the delay to 1000000 (brute force) works, and some lower
values would likely work as well, but I didn't have time to do a
binary search for the new boundary.

A better fix would be to make read_eeprom_data() call f_is_eeprom_busy()
after the DELAY(1000).

...Sam
-- 
<skl@ScalableNetwork.com> -- Scalable Network Systems Ltd.

Network Failure Analysis Lab, a division of Scalable Network Systems Ltd.