From owner-freebsd-bugs Mon May 22 10:30:11 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 001C837BA3B for ; Mon, 22 May 2000 10:30:05 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id KAA69806; Mon, 22 May 2000 10:30:05 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id A53A337BB16 for ; Mon, 22 May 2000 10:29:41 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from vivaldi.cs.duke.edu (vivaldi.cs.duke.edu [152.3.144.50]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id NAA07087 for ; Mon, 22 May 2000 13:29:37 -0400 (EDT) Received: (from gallatin@localhost) by vivaldi.cs.duke.edu (8.9.3/8.9.1) id NAA18007; Mon, 22 May 2000 13:29:07 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) Message-Id: <200005221729.NAA18007@vivaldi.cs.duke.edu> Date: Mon, 22 May 2000 13:29:07 -0400 (EDT) From: Andrew Gallatin Reply-To: gallatin@cs.duke.edu To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/18751: if_dc doesn't autosense 100Mb mode Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >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 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: on pcib0 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0x10000-0x1000f,0x3f4-0x3f7,0x1f0-0x1f7 irq 238 at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 atapci1: port 0x374-0x377,0x170-0x177 irq 239 at device 7.2 on pci0 atapci1: Busmastering DMA not supported pci0: at 7.3 irq 234 pci0: (vendor=0x10e8, dev=0x8043) at 11.0 irq 40 pci0: (vendor=0x12ae, dev=0x0001) at 13.0 irq 32 pcib1: <21271 PCI host bus adapter> on tsunami0 pci1: on pcib1 dc0: 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: on dc0 dcphy0: on miibus0 dcphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto isp0: port 0x80010000-0x800100ff mem 0x81050000-0x81050fff irq 47 at device 6.0 on pci1 isp0: interrupting at TSUNAMI irq 47 pcib2: at device 8.0 on pci1 pci2: on pcib2 fdc0: 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: at port 0x60-0x6f on isa0 atkbd0: irq 1 on atkbdc0 atkbd0: interrupting at ISA irq 1 mcclock0: 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 at ata0-master using PIO4 da0 at isp0 bus 0 target 0 lun 0 da0: 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 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 100baseTX 10baseT/UTP 10baseT/UTP 100 baseTX 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 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 100baseTX 10baseT/UTP 10baseT/UTP 100 baseTX 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