Subject: kern/22120: fxp driver problem with 82562EZ
To: None <gnats-bugs@gnats.netbsd.org>
From: None <heidieker@cubeportal.com>
List: netbsd-bugs
Date: 07/11/2003 18:57:19
>Number:         22120
>Category:       kern
>Synopsis:       fxp driver problem with 82562EZ
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 11 18:58:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Lars Heidieker
>Release:        current
>Organization:
>Environment:
Not available its an Intel D865PERLL Board with 10/100MBit LAN
>Description:
The fxp driver installes a workaround for some intel chips by setting
the second bit in the 10 word (in the eeprom) to zero 

happens in  src/sys/dev/ic/i82557.c : fxp_get_info()
if (sc->sc_flags & FXPF_HAS_RESUME_BUG) is true
this is OK for other phys (as far as I have checked intels papers)
But at least for the 82562EZ this hits the pci id of the lan chip.
The 82562EZ is using a different eeprom layout, so the patch will
change the intended id from 0x1050 (stored in the eeprom ) 
to 0x1051 (chips internal used if eeprom id 0x0000 or 0xffff or probably just invalid) 
causing the NetBSD driver to fail (device not configured message just wrong chip id I guess)
and Win2k driver to blue screen (could not load driver e100... blah blah)

>How-To-Repeat:
better not!
>Fix:
Setting the eeprom back to its original values should work,
I haven't tried as I considered the Interface broken before understanding
the situation fully and sent the board back to be replaced.

I think the patch should be removed from the driver and for those
who need it a little programm should do (like e100eeprom) to set things
right. It must be set only once anyway as it is stored in the eeprom.

Or probably better the patch should just patch those chips
positivly proven to need it and nothing else.
>Release-Note:
>Audit-Trail:
>Unformatted: