kern/75253: [patch] xl(4): add support for 3C920B-EMB-WNM
Integrated Fast Ethernet Controller
Oleg V. Nauman
oleg at reis.zp.ua
Sun Dec 19 00:20:24 PST 2004
>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 at 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 at 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:
More information about the freebsd-bugs
mailing list