Date: Sun, 19 Dec 2004 10:19:03 +0200 (EET) From: "Oleg V. Nauman" <oleg@reis.zp.ua> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/75253: [patch] xl(4): add support for 3C920B-EMB-WNM Integrated Fast Ethernet Controller Message-ID: <200412190819.iBJ8J3Pd022027@core.zp.ua> Resent-Message-ID: <200412190820.iBJ8KNrV028635@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 75253
>Category: kern
>Synopsis: [patch] xl(4): add support for 3C920B-EMB-WNM Integrated Fast Ethernet Controller
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Dec 19 08:20:23 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Oleg V. Nauman
>Release: FreeBSD 5.3-STABLE i386
>Organization:
ReIS LLC
>Environment:
System: FreeBSD daisy.reis.zp.ua 5.3-STABLE FreeBSD 5.3-STABLE #5: Fri Dec 17 17:29:02 EET 2004 root@daisy.reis.zp.ua:/usr/src/sys/i386/compile/DAISY i386
>Description:
I have motherboard with integrated 3Com ethernet controller, listed
from pciconf output as:
xl0@pci2:8:0: class=0x020000 card=0xffffffff chip=0x920210b7 rev=0x40 hdr=0x00
vendor = '3COM Corp, Networking Division'
device = '3C920B-EMB-WNM Integrated Fast Ethernet Controller'
class = network
subclass = ethernet
but current xl(4) driver does not have support for this controller.
Very trivial patch adds support for him, and this controller seems working OK
(tested with heavy NFS traffic):
xl0: <3Com 3c920B-EMB-WNM Integrated Fast Etherlink XL> port 0xec00-0xec7f mem 0xfe100000-0xfe10007f irq 3 at device 8.0 on pci2
miibus1: <MII bus> on xl0
xl0: Ethernet address: 00:11:2f:44:6f:87
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=9<RXCSUM,VLAN_MTU>
inet 10.20.30.211 netmask 0xffffff00 broadcast 10.20.30.255
ether 00:11:2f:44:6f:87
media: Ethernet autoselect (100baseTX)
status: active
And supports at least autonegotiation without any problems.
>How-To-Repeat:
>Fix:
--- /usr/src/sys/pci/if_xl.c.orig Fri Nov 12 10:53:08 2004
+++ /usr/src/sys/pci/if_xl.c Fri Dec 17 16:31:46 2004
@@ -188,6 +188,8 @@
"3Com 3c905C-TX Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_TORNADO_10_100BT_920B,
"3Com 3c920B-EMB Integrated Fast Etherlink XL" },
+ { TC_VENDORID, TC_DEVICEID_TORNADO_10_100BT_920B_WNM,
+ "3Com 3c920B-EMB-WNM Integrated Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_HURRICANE_10_100BT_SERV,
"3Com 3c980 Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_TORNADO_10_100BT_SERV,
@@ -1172,6 +1174,7 @@
case TC_DEVICEID_HURRICANE_656B: /* 3c656B */
case TC_DEVICEID_TORNADO_656C: /* 3c656C */
case TC_DEVICEID_TORNADO_10_100BT_920B: /* 3c920B-EMB */
+ case TC_DEVICEID_TORNADO_10_100BT_920B_WNM: /* 3c920B-EMB-WNM */
sc->xl_media = XL_MEDIAOPT_MII;
sc->xl_xcvr = XL_XCVR_MII;
if (verbose)
@@ -1269,7 +1272,8 @@
did == TC_DEVICEID_HURRICANE_656B)
sc->xl_flags |= XL_FLAG_INVERT_MII_PWR |
XL_FLAG_INVERT_LED_PWR;
- if (did == TC_DEVICEID_TORNADO_10_100BT_920B)
+ if (did == TC_DEVICEID_TORNADO_10_100BT_920B ||
+ did == TC_DEVICEID_TORNADO_10_100BT_920B_WNM)
sc->xl_flags |= XL_FLAG_PHYOK;
switch (did) {
--- /usr/src/sys/pci/if_xlreg.h.orig Sun Aug 22 14:42:15 2004
+++ /usr/src/sys/pci/if_xlreg.h Fri Dec 17 16:26:33 2004
@@ -680,6 +680,7 @@
#define TC_DEVICEID_CYCLONE_10_100FX 0x905A
#define TC_DEVICEID_TORNADO_10_100BT 0x9200
#define TC_DEVICEID_TORNADO_10_100BT_920B 0x9201
+#define TC_DEVICEID_TORNADO_10_100BT_920B_WNM 0x9202
#define TC_DEVICEID_HURRICANE_10_100BT_SERV 0x9800
#define TC_DEVICEID_TORNADO_10_100BT_SERV 0x9805
#define TC_DEVICEID_HURRICANE_SOHO100TX 0x7646
>Release-Note:
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412190819.iBJ8J3Pd022027>
