Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Nov 1997 01:58:46 +0900 (JST)
From:      greg@greg.rim.or.jp
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Cc:        greg@greg.rim.or.jp
Subject:   kern/4909: de ethernet driver is crazy on 100base
Message-ID:  <199710311658.BAA01018@izanami.greg.rim.or.jp>
Resent-Message-ID: <199710311730.JAA21581@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         4909
>Category:       kern
>Synopsis:       de ethernet driver is crazy on 100base
>Confidential:   yes
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 31 09:30:01 PST 1997
>Last-Modified:
>Originator:     Kensaku Masuda
>Organization:
>Release:        FreeBSD 2.2.5-RELEASE i386
>Environment:

	I use DEC-21140 based ether net card for 100BASE-FX.
And kernel configuration file is so ...

	#
	# Generic machine information
	#

	machine		"i386"
	cpu		"I486_CPU"
	cpu		"I586_CPU"
	cpu		"I686_CPU"
	ident		APOLLON
	maxusers	20

	#
	# System configuration
	#
	options		SCSI_DELAY=15		#Be pessimistic about Joe SCSI device
	options		BOUNCE_BUFFERS		#include support for DMA bounce buffers
	options		UCONSOLE		#Allow users to grab the console
	options		"NCONS=6"		# 5 virtual consoles and 1 X console
	options		USER_LDT
	options		SYSVSHM
	options		SYSVSEM
	options		SYSVMSG
	options		PROBE_VERBOSE
	options		USERCONFIG		#boot -c editor
	options		VISUAL_USERCONFIG	#visual boot -c 
	options		INCLUDE_CONFIG_FILE

	#
	# Network configuration
	#
	options		INET			#InterNETworking
	options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]

	#
	# File system configuration
	#
	options		FFS			# Berkeley Fast File System
	options		MFS			# Memory        File System
	options		NFS			# Network       File System
	options		KERNFS
	options		PROCFS

	#
	# Kernel configuration
	#
	config		kernel	root on sd0

	#
	# Bus Contoroler configuration
	#
	controller	isa0
	controller	pci0

	#
	# On-board device configuration
	#
	device		sc0	at isa? port "IO_KBD" tty  irq 1        vector scintr
	device		npx0	at isa? port "IO_NPX"      irq 13       vector npxintr
	device		sio0	at isa? port "IO_COM1" tty irq 4        vector siointr
	device		sio1	at isa? port "IO_COM2" tty irq 3        vector siointr
	device		lpt0	at isa? port "IO_LPT1" tty irq 7        vector lptintr
	controller	fdc0	at isa? port "IO_FD1"  bio irq 6  drq 2 vector fdintr

	#
	# ISA Add on card configuration
	#
	controller	snd0
	options		"SBC_IRQ=5"
	options		"SBC_BASE=0x220"
	options		"SBC_DMA=1"
	options		"__SGNXPRO__"
	device		sb0	at isa? port "SBC_BASE" irq 5 drq 1 vector sbintr
	device		opl0	at isa? port 0x388

	#
	# PCI Add on card configuration
	#
	controller	bt0		# PCI SCSI host adapter
	controller	bt1		# PCI SCSI host adapter
	controller	ncr0		# PCI SCSI host adapter
	controller	ncr1		# PCI SCSI host adapter
	device		de0		# PCI Ethernet adapter
	device		de1		# PCI Ethernet adapter

	#
	# SCSI configuration
	#
	controller	scbus0	at	bt0
	controller	scbus1	at	ncr0

	# Fixed Disk drive
	device 		sd0
	device		sd1
	device		sd2
	device		sd3
	device		sd4
	device		sd5
	device		sd6
	device		sd7
	# Optical Disk drive
	#device		od0
	# Tape drive
	device		st0
	# CDROM drive
	device		cd0

	#
	# Other device configuration
	#
	disk		fd0	at fdc0 drive 0 

	#
	# Pseudo Device configuration
	#
	pseudo-device	loop    
	pseudo-device	ether
	pseudo-device	log 
	pseudo-device	pty		32
	pseudo-device	speaker
	pseudo-device	gzip			# Exec gzipped a.out's
	pseudo-device	bpfilter	4
	pseudo-device	vn
	pseudo-device	ccd		4	#Concatenated disk driver


>Description:

	The ethernet driver look like sending broken packet(So,
aliment error/CRC error).  Becouse, other machine look and report
to me.

>How-To-Repeat:

	Connect 100BASE-FX ethernet port and 100/10BASE switching hub,
Like this,
	Machine-A       Machine-B                Machine-C
	    |               |                        |
	+---+---------------+----+                 +----------------+
	|  100BASE-FX dam hub    |                 | 10BASE dam hub |
	+----------+-------------+                 +--------+-------+
	           |       +--------------------------+     |
	           +-------| 100/10BASE switching hub |-----+
	    Segment-A      +--------------------------+  Segment-B

1st, Machine-A send a large packet into machine-B.
Case of 50% ? packet is OK, But some packet look like broken
for Machine-B/Switching Hub.

>Fix:
	This patch is stoping these BUG.

--- if_de.c.orig	Fri Oct 31 20:52:47 1997
+++ if_de.c	Sat Nov  1 01:29:45 1997
@@ -946,6 +946,16 @@
 }
 
 static void
+tulip_21140_smc9332_media_select(
+    tulip_softc_t * const sc)
+{
+    sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE
+	|TULIP_CMD_BACKOFFCTR;
+    sc->tulip_flags |= TULIP_LINKUP;
+    tulip_media_select(sc);
+}
+
+static void
 tulip_21040_mediainfo_init(
     tulip_softc_t * const sc,
     tulip_media_t media)
@@ -1742,7 +1752,7 @@
 static const tulip_boardsw_t tulip_21140_smc9332_boardsw = {
     TULIP_21140_SMC_9332,
     tulip_21140_smc9332_media_probe,
-    tulip_media_select,
+    tulip_21140_smc9332_media_select,
     tulip_null_media_poll,
     tulip_2114x_media_preset,
 };

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710311658.BAA01018>