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>
