From owner-freebsd-bugs Thu Jan 8 14:30:32 1998 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id OAA09224 for bugs-outgoing; Thu, 8 Jan 1998 14:30:32 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id OAA09188; Thu, 8 Jan 1998 14:30:24 -0800 (PST) (envelope-from gnats) Resent-Date: Thu, 8 Jan 1998 14:30:24 -0800 (PST) Resent-Message-Id: <199801082230.OAA09188@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, chi@bd.mbn.or.jp, turutani@scphys.kyoto-u.ac.jp Received: from bd.mbn.or.jp (bd.mbn.or.jp [202.217.0.43]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id BAA18642 for ; Mon, 5 Jan 1998 01:36:07 -0800 (PST) (envelope-from chi@bd.mbn.or.jp) Received: from chino.localhost by bd.mbn.or.jp (8.8.8+2.7Wbeta7/bd.mbn.or.jp-1.1u) with ESMTP id SAA20614 for ; Mon, 5 Jan 1998 18:36:02 +0900 (JST) Received: (from chi@localhost) by chino.localhost (8.8.5/3.5Wpl7) id LAA00356; Sat, 3 Jan 1998 11:49:50 +0900 (JST) Message-Id: <199801050936.SAA20614@bd.mbn.or.jp> Date: Sat, 3 Jan 1998 11:49:50 +0900 (JST) From: chi@bd.mbn.or.jp Reply-To: chi@bd.mbn.or.jp, turutani@scphys.kyoto-u.ac.jp To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: kern/5435: Old Gateway Communications LAN board is not probed Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 5435 >Category: kern >Synopsis: not probed old Gateway Communications LAN board >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jan 8 14:30:20 PST 1998 >Last-Modified: >Originator: Chiharu Shibata >Organization: Japan FreeBSD Users Group >Release: FreeBSD 2.2.1-RELEASE i386 or later >Environment: G/Ethernet 16 Combo(ISA-LAN) by Gateway Communications,Inc. >Description: fe driver does not probe G/Ethernet 16 Combo, which has FUJITSU MB86960A chip on the board. Hardware specification is as follows. IRQ : 3,4,5,6,7,10,11,12,15,2/9 I/O Address : 220-23F, 260-27F, 280-29F, 2A0-2BF, 2C0-2DF, 2E0-2FF, 300-31F, 320-33F, 340-35F, 360-37F, 380-39F, 3A0-3BF, 3C0-3DF, 3E0-3FF >How-To-Repeat: Just set the G/Ethernet 16 Combo, and boot. >Fix: The SRAM size is obscure. But 16KB specified by original source causes errors "fe0:emptying receive buffer" and "fe0:received a big packet?(XXXXX bytes)". The following patch(based on 2.2.1-Release) specifies 8KB for the safety, it seems to work well. --- /sys/i386/isa/if_fe.c- Fri Oct 31 23:21:13 1997 +++ /sys/i386/isa/if_fe.c Sun Dec 14 21:36:18 1997 @@ -449,11 +449,15 @@ { 0x220, 0x240, 0x260, 0x280, 0x2A0, 0x2C0, 0x300, 0x340, 0 }; static u_short const fe_ati_addr [] = { 0x240, 0x260, 0x280, 0x2A0, 0x300, 0x320, 0x340, 0x380, 0 }; +static u_short const fe_gwy_addr [] = + { 0x220, 0x260, 0x280, 0x2A0, 0x2C0, 0x2E0, 0x300, 0x320, + 0x340, 0x360, 0x380, 0x3A0, 0x3C0, 0x3E0, 0 }; static struct fe_probe_list const fe_probe_list [] = { { fe_probe_fmv, fe_fmv_addr }, { fe_probe_ati, fe_ati_addr }, + { fe_probe_gwy, fe_gwy_addr }, #if NCRD > 0 { fe_probe_mbh, NULL }, /* PCMCIAs cannot be auto-detected. */ { fe_probe_tdk, NULL }, @@ -1168,11 +1172,10 @@ }; /* - * We need explicit IRQ and supported address. - * I'm not sure which address and IRQ is possible for Gateway - * Ethernet family. The following accepts everything. FIXME. + * Gateway Ethernet family accepts almost IRQs. + * So, only check whether irq is "NO_IRQ". */ - if ( dev->id_irq == NO_IRQ || ( sc->iobase & ~0x3E0 ) != 0 ) { + if ( dev->id_irq == NO_IRQ ) { return ( 0 ); } @@ -1198,15 +1201,18 @@ /* * Program the 86960 as follows: - * SRAM: 16KB, 100ns, byte-wide access. + * SRAM: 8KB, 100ns, byte-wide access. * Transmission buffer: 2KB x 2. * System bus interface: 16 bits. * Make sure to clear out ID bits in DLCR7 * (They actually are Encoder/Decoder control in NICE.) + * + * XXX: I don't know SRAM size, but only 8KB is worked. + * Could someone tell me "REAL" SRAM size? FIXME. */ sc->proto_dlcr4 = FE_D4_LBC_DISABLE | FE_D4_CNTRL; sc->proto_dlcr5 = 0; - sc->proto_dlcr6 = FE_D6_BUFSIZ_16KB | FE_D6_TXBSIZ_2x2KB + sc->proto_dlcr6 = FE_D6_BUFSIZ_8KB | FE_D6_TXBSIZ_2x2KB | FE_D6_BBW_BYTE | FE_D6_SBW_WORD | FE_D6_SRAM_100ns; sc->proto_dlcr7 = FE_D7_BYTSWP_LH; sc->proto_bmpr13 = 0; >Audit-Trail: >Unformatted: