From owner-freebsd-net@FreeBSD.ORG Tue Dec 13 10:04:53 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57C7E1065670 for ; Tue, 13 Dec 2011 10:04:53 +0000 (UTC) (envelope-from stb@lassitu.de) Received: from gilb.zs64.net (gilb.zs64.net [IPv6:2001:470:1f0b:105e::1ea]) by mx1.freebsd.org (Postfix) with ESMTP id 205608FC0A for ; Tue, 13 Dec 2011 10:04:53 +0000 (UTC) Received: by gilb.zs64.net (Postfix, from stb@lassitu.de) id 54B38576B5; Tue, 13 Dec 2011 11:04:52 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Stefan Bethke In-Reply-To: <20111213025041.GF3705@michelle.cdnetworks.com> Date: Tue, 13 Dec 2011 11:04:51 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <45B0B859-207C-4F02-A28F-7E34B775A273@lassitu.de> References: <600A8C6C-DAB4-4E22-A034-38224017166B@lassitu.de> <20111213025041.GF3705@michelle.cdnetworks.com> To: pyunyh@gmail.com X-Mailer: Apple Mail (2.1084) Cc: FreeBSD Net Subject: Re: "ifconfig media off"? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Dec 2011 10:04:53 -0000 Am 13.12.2011 um 03:50 schrieb YongHyeon PYUN: > On Tue, Dec 13, 2011 at 12:56:22AM +0100, Stefan Bethke wrote: >> I'm currently writing a driver to configure an ethernet switch chip = (see TL-WR1043ND on -embedded). >>=20 >> I noticed that there doesn't seem to be a way to power down a phy = right now through the ifconfig media command. >>=20 >> Would there be objections to extend the media subtype definitions to = include an "off", "poweroff" or "down" media subtype, and add code to = the relevant phy drivers to power down the phy for this media subtype? >>=20 >> The difference between media subtype "none" and this new one would be = that there will be no link, even if there is a physical connection. = With media subtype "none", a 10 MBit/s half-duplex connection is = established, potentially confusing the remote end about the availability = of this link. On the local side, the link is down, so no packets are = exchanged. >>=20 >=20 > I think "none" means "isolated" so should have no established link > and probably you can also power down the PHY. > I vaguely guess the PHY of switch chip does not correctly support > isolated mode so you may have wanted to power down. After looking at the code a bit more, I think the common code just = doesn't set the BMCR_PDOWN (but clears it when bringing up the PHY). Index: sys/dev/mii/mii_physubr.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/dev/mii/mii_physubr.c (revision 228402) +++ sys/dev/mii/mii_physubr.c (working copy) @@ -58,7 +58,7 @@ */ static const struct mii_media mii_media_table[MII_NMEDIA] =3D { /* None */ - { BMCR_ISO, ANAR_CSMA, + { BMCR_ISO | BMCR_PDOWN, ANAR_CSMA, 0, }, =20 /* 10baseT */ I've opened kern/163240. http://www.freebsd.org/cgi/query-pr.cgi?pr=3D163240 Stefan --=20 Stefan Bethke Fon +49 151 14070811