Subject: port-i386/9476: Kernel doesn't recognize some of FMV-181 EthernetCard
To: None <gnats-bugs@gnats.netbsd.org>
From: None <ishizaka@sam.hi-ho.ne.jp>
List: netbsd-bugs
Date: 02/23/2000 19:48:38
>Number: 9476
>Category: port-i386
>Synopsis: Kernel doesn't recognize some of FMV-181 EthernetCard
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-i386-maintainer (NetBSD/i386 Portmaster)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 23 19:48:00 2000
>Last-Modified:
>Originator: Ken'ichi Ishizaka
>Organization:
>Release: current on Feb. 19, 2000
>Environment:
NetBSD 1.4T (ken-test6) #16: Tue Feb 22 22:44:30 JST 2000
>Description:
Kernel doesn't recognize a FMV181 NIC, because the kernel always
expects that fe_fmv1_cardid as 0 but my card returns 1.
This card may be FMV181A but FMV181 is silk-printed on it.
So I changed mask value, then it works.
Mask value 0xB0 may be better because this seems be 0xB0 on FreeBSD.
fe_simple_probe() checks the values like this after change
(I added some debug messaging.)
fe_simple_probe: 83 & 70 == 0
fe_simple_probe: 6 & 8 == 0
fe_simple_probe: d5 & 78 == 50
fe_simple_probe: 1 & f0 == 0
fe_simple_probe: 80 & 7f == 0
fe_simple_probe: 0 & ff == 0
fe_simple_probe: 0 & ff == 0
fe_simple_probe: e & ff == e
fmv0 at isa0 port 0x280-0x29f irq 10
fmv0: FMV-181 Ethernet
fmv0: supplying EUI64: 00:00:0e:ff:fe:48:76:3d
fmv0: Ethernet address 00:00:0e:48:76:3d
Thanks in advance.
>How-To-Repeat:
boot with some fmv181(a) ethernet card
>Fix:
--- src/sys/dev/isa/if_fereg.h.orig Tue Jan 13 23:20:21 1998
+++ src/sys/dev/isa/if_fereg.h Tue Feb 22 17:54:41 2000
@@ -60,9 +60,9 @@
#define FE_FMV0_MODEL 0x07
#define FE_FMV0_MODEL_FMV181 0x05
#define FE_FMV0_MODEL_FMV182 0x03
/* Card type ID? Always 0? */
-#define FE_FMV1_CARDID_MASK 0xFF
+#define FE_FMV1_CARDID_MASK 0xF0
#define FE_FMV1_CARDID_ID 0x00
/* I/O port address assignment. */
>Audit-Trail:
>Unformatted: