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>