Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 May 2000 13:29:07 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/18751: if_dc doesn't autosense 100Mb mode
Message-ID:  <200005221729.NAA18007@vivaldi.cs.duke.edu>

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

>Number:         18751
>Category:       kern
>Synopsis:       if_dc doesn't autosense 100Mb mode
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 22 10:30:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Gallatin
>Release:        FreeBSD 4.0-RELEASE alpha
>Organization:
Duke University, Dept of Comp Sci
>Environment:
	
FreeBSD/alpha on a Compaq XP1000 workstation with an on-board de500:

COMPAQ Professional Workstation XP1000, 500MHz
8192 byte page size, 1 processor.
CPU: EV6 (21264) major=8 minor=3 extensions=0x303<BWX,FIX,MVI,PRECISE>
OSF PAL rev: 0x100100002012c
real memory  = 669261824 (653576K bytes)
avail memory = 646766592 (631608K bytes)
Preloaded elf kernel "kernel" at 0xfffffc0000626000.
ccd0-3: Concatenated disk drivers
md0: Malloc disk
pcib0: <21271 PCI host bus adapter> on tsunami0
pci0: <PCI bus> on pcib0
isab0: <Cypress 82C693 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Cypress 82C693 ATA controller> port 0x10000-0x1000f,0x3f4-0x3f7,0x1f0-0x1f7 irq 238 at device 7.1
on pci0
ata0: at 0x1f0 irq 14 on atapci0
atapci1: <Cypress 82C693 ATA controller> port 0x374-0x377,0x170-0x177 irq 239 at device 7.2 on pci0
atapci1: Busmastering DMA not supported
pci0: <Cypress 82C693 ATA controller> at 7.3 irq 234
pci0: <unknown card> (vendor=0x10e8, dev=0x8043) at 11.0 irq 40
pci0: <unknown card> (vendor=0x12ae, dev=0x0001) at 13.0 irq 32
pcib1: <21271 PCI host bus adapter> on tsunami0
pci1: <PCI bus> on pcib1
dc0: <Intel 21143 10/100BaseTX> port 0x80010100-0x8001017f mem 0x81051000-0x810513ff irq 45 at device 3.0 on
pci1
dc0: interrupting at TSUNAMI irq 45
dc0: Ethernet address: 00:00:f8:71:74:b6
miibus0: <MII bus> on dc0
dcphy0: <Intel 21143 NWAY media interface> on miibus0
dcphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isp0: <Qlogic ISP 1020/1040 PCI SCSI Adapter> port 0x80010000-0x800100ff mem 0x81050000-0x81050fff irq 47 at
device 6.0 on pci1
isp0: interrupting at TSUNAMI irq 47
pcib2: <DEC 21152 PCI-PCI bridge> at device 8.0 on pci1
pci2: <PCI bus> on pcib2
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: interrupting at ISA irq 6
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd0: interrupting at ISA irq 1
mcclock0: <MC146818A real time clock> at port 0x70-0x71 on isa0
sio0 at port 0x3f8-0x3ff irq 4 on isa0
sio0: type 16550A, console
sio0: interrupting at ISA irq 4
sio1: reserved for low-level i/o
Timecounter "alpha"  frequency 500013060 Hz
acd0: CDROM <TOSHIBA CD-ROM XM-6302B> at ata0-master using PIO4
da0 at isp0 bus 0 target 0 lun 0
da0: <DEC RZ2CC-KB (C) DEC DC2B> Fixed Direct Access SCSI-2 device 
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 4091MB (8380080 512 byte sectors: 255H 63S/T 521C)
Mounting root from ufs:/dev/da0a


>Description:

	 If I have a non-autoneg. capable switch in 100Mb mode, the 
driver does not autosense 100Mb mode.  Rather, after giving it an address, 
it reports (even after waiting 10+seconds):

# ifconfig dc0
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 152.3.145.96 netmask 0xffffff00 broadcast 152.3.145.255
        ether 00:00:f8:71:74:b6 
        media: autoselect (none) status: no carrier
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
100 baseTX <hw-loopback> none

running ifconfig dc0 immediately after boot shows 10baseT/UTP

If I change the switch to 10Mb mode & ifconfig down/up, the driver
properly autosenses 10Mb/UTP.

# ifconfig dc0
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 152.3.145.96 netmask 0xffffff00 broadcast 152.3.145.255
        ether 00:00:f8:71:74:b6 
        media: autoselect (10baseT/UTP) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
100 baseTX <hw-loopback> none

At 100Mb/sec mode, the manually setting speed/duplex setting still
appears to work properly.

>How-To-Repeat:

	boot system connected to a switch which is hardcoded to 100Mb/fd and 
ifconfig dc0 up. observe that there is no link.
	

>Fix:

Always hardcode speed and duplex mode.  For netbooting, hardcode it at the SRM
console level using >>> set ewa0_mode FastFD.  It would be far better if the driver
at least found its way to 100Mb mode as it should (and as the if_de driver does).


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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