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>
