Subject: kern/9028: 3Com 3c980 Server Adapter doesn't work
To: None <gnats-bugs@gnats.netbsd.org>
From: None <mhitch@montana.edu>
List: netbsd-bugs
Date: 12/19/1999 10:46:03
>Number:         9028
>Category:       kern
>Synopsis:       3Com 3c980 Server Adpater card fails to work after ifconfig is done
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 19 10:45:01 1999
>Last-Modified:
>Originator:     Michael L. Hitch
>Organization:
	Montana State University
>Release:        <NetBSD-current source date> December 4, 1999
>Environment:
	
System: NetBSD alpha.msu.montana.edu 1.4P NetBSD 1.4P (PC164) #991204-7: Sat Dec 18 10:47:03 MST 1999 mhitch@alpha.msu.montana.edu:/usr/cvsroot/src/sys/arch/alpha/compile/PC164 alpha


>Description:
	
	The 3Com 3c980 Server Adapter card will initialize with with the link status
	indicator and auto-detected speed indicator when the system boots.  As soon
	as an ifconfig is done to configure the IP address of the interface, the
	link status light goes out, and the interface doesn't work.
>How-To-Repeat:
	
	Install a 3Com 3c980 Server Adapter card, connect it to a good network, boot
	NetBSD, and try to configure the IP address on that adapter.
>Fix:
	
	I don't know enough about the PHY and MII stuff in the Ethernet drivers,
	and don't have any documentation on the 3c980 board, so I do not know
	the correct solution to this problem.

	The following patch will allow the card to be configured and be used, but
	I don't think it addresses any issues regarding the media selection options
	(i.e. the board is making a 100Mbit connection to my dual-speed hub, but
	the media information from ifconfig says 10Mbit).

*** sys/dev/pci/if_ex_pci.c.orig	Fri Sep  3 05:28:01 1999
--- sys/dev/pci/if_ex_pci.c	Thu Nov 18 21:19:09 1999
***************
*** 135,141 ****
--- 135,145 ----
  	  "3c905B-FX 10/100 Ethernet" },
  
  	/* XXX Internal PHY? */
+ #if 0
  	{ PCI_PRODUCT_3COM_3C980SRV,	EX_CONF_90XB|EX_CONF_MII,
+ #else
+ 	{ PCI_PRODUCT_3COM_3C980SRV,	EX_CONF_90XB,
+ #endif
  	  "3c980 Server Adapter 10/100 Ethernet" },
  	{ PCI_PRODUCT_3COM_3C905CTX,	EX_CONF_90XB|EX_CONF_MII,
  	  "3c905C-TX 10/100 Ethernet with mngmt" },

>Audit-Trail:
>Unformatted: