Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Dec 2011 11:04:51 +0100
From:      Stefan Bethke <stb@lassitu.de>
To:        pyunyh@gmail.com
Cc:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: "ifconfig media off"?
Message-ID:  <45B0B859-207C-4F02-A28F-7E34B775A273@lassitu.de>
In-Reply-To: <20111213025041.GF3705@michelle.cdnetworks.com>
References:  <600A8C6C-DAB4-4E22-A034-38224017166B@lassitu.de> <20111213025041.GF3705@michelle.cdnetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <stb@lassitu.de>   Fon +49 151 14070811






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45B0B859-207C-4F02-A28F-7E34B775A273>