Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jun 2013 14:48:29 +0200
From:      Alban Hertroys <haramrae@gmail.com>
To:        Jeremy Chadwick <jdc@koitsu.org>
Cc:        "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>
Subject:   Re: fxp0 interface going up/down/up/down (dhclient related?)
Message-ID:  <4459171F-E382-488D-81B1-978118665A86@gmail.com>
In-Reply-To: <20130609104401.GA33827@icarus.home.lan>
References:  <EBA9A2E3-3323-4069-9E58-ED4C431FDE4E@gmail.com> <20130609104401.GA33827@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 9, 2013, at 12:44, Jeremy Chadwick <jdc@koitsu.org> wrote:

> On Sun, Jun 09, 2013 at 12:21:37PM +0200, Alban Hertroys wrote:
>> I'm having an issue where my fxp0 interface keeps looping between =
DOWN/UP, with dhclient requesting a lease each time in between. I think =
it's caused by dhclient:
>>=20
>> solfertje # dhclient -d fxp0
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> send_packet: Network is down
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> ^C
>>=20
>> In above test I turned off devd (/etc/rc.d/devd stop) and background =
dhclient (/etc/rc.d/dhclient stop fxp0), and I still go the above =
result. There's practically no time spent between up/down cycles, this =
just keeps going on and on.
>> fxp0 is the only interface that runs on DHCP. The others have static =
IP's.
>>=20
>> Initially I thought the issue might be caused by devd, because I have =
both ethernet and 822.11 type NICs (2x ethernet, 1x wifi) in that =
system.
>>=20
>> This is 9-STABLE from yesterday.
>>=20
>> Before, I had 9-RELEASE running on this system with the same config, =
and that worked well.
>=20
> And so what I predicted begins...
>=20
> The issue is described in the 8.4-RELEASE Errata Notes; the driver is
> using the same driver version as in stable/9, hence you're =
experiencing
> the same problem.  See Open Issues:
>=20
> http://www.freebsd.org/releases/8.4R/errata.html
>=20
> No fix for this has been committed.  It is still under discussions by
> multiple kernel folks as to where the fix should be applied (dhclient =
or
> the fxp(4) driver), because the changes made to dhclient (that tickle
> this bug) may actually affect more drivers than just fxp(4).
>=20
> You can start by reading the (extremely long but very informative)
> thread here.  I do urge you to read all the posts, not skim them:
>=20
> http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/073440.html
> =
http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/thread.html#734=
40

Goodness, and here I was hoping it was just a silly mistake I made=85

IIUC, the issue is a combination of:
- dhclient now being aware of link state changes and
- the fxp driver reinitializes for certain mode changes, such as =
assigning an IP address

Which causes dhclient to think that the link state changed, fetch a =
"new" IP address and assigns it to the fxp adapter again, causing the =
same link state change over and over again.

Is that about correct?

> The only known workarounds at this time are:
>=20
> a) Cease use of DHCP; set a static IP in rc.conf,
>=20
> b) Try some of the patches mentioned within the above thread,
> specifically this one:
> http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/073581.html

Or c) Use DHCP with a static media setting:
ifconfig_fxp0=3D"DHCP media 100baseTX mediaopt full-duplex"

That worked for two out of three people apparently.
I'm not done reading this thread yet though and I noticed a patch by =
YongHyeon that I'll test first.

> The patch is for head (CURRENT) so it may not patch cleanly.  If not,
> you can try to work the patch in yourself/by hand, or you can ask
> Yong-Hyeon or others for help.
>=20
>> I'm not sure it's related, but on the wireless interface I get  alot =
of:
>> Jun  9 12:08:11 solfertje kernel: ath0: stuck beacon; resetting =
(bmiss count 4)
>=20
> Absolutely 100% unrelated.  That issue has been around for years, and
> the root cause varies tremendously.  I discussed it back in February
> 2011:
>=20
> =
http://lists.freebsd.org/pipermail/freebsd-stable/2011-February/061700.htm=
l
>=20
> If you want to know how I solved that problem, I can tell you, but I'm
> certain you won't be happy to hear what I have to say.
>=20
> If you're concerned about this problem, please start another thread
> discussing it.  I'm sure Adrian Chadd can provide you lots of =
insights,
> but most of them are already in his response to my above thread/post.


Right, then I won't polute this thread with wifi-related issues any =
further.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4459171F-E382-488D-81B1-978118665A86>