Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 563938 - >=net-misc/networkmanager-1.0 keeps dropping and reconnecting (successfully) when using dhcpcd
Summary: >=net-misc/networkmanager-1.0 keeps dropping and reconnecting (successfully) ...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: NeedPatch
Depends on:
Blocks:
 
Reported: 2015-10-24 08:46 UTC by James Dominy
Modified: 2017-02-24 09:20 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/log/messages (partially stripped) (file_563938.txt,427.81 KB, text/plain)
2015-10-24 08:57 UTC, James Dominy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description James Dominy 2015-10-24 08:46:19 UTC
I have held back NetworkManager to the 0.9 series for ages because of this bug, which is possibly related to https://bugs.gentoo.org/show_bug.cgi?id=551358. I could swear I've reported it before, but I cannot find any mention of it, although it's also possible that the last time I experienced it I was more concerned with getting a working wifi connection again than reporting the bug. I recently tried upgrading again, but and it's still there. What happens, is that when I try to connect to a wireless network using nm-applet, it connects successfully for a couple of seconds, then disconnects and tries to reconnect. If I change the USE flags for NetworkManager from "dhcpcd -dhclient" to "dhclient -dhcpcd", then the connection becomes stable.

Reproducible: Always

Steps to Reproduce:
1. emerge net-misc/networkmanager and nm-applet with USE="dhcpcd -dhclient"
2. reboot
3. try to connect to a wireless network
Actual Results:  
Nework connects, spinner icon changes to wifi step bars icon with full signal, connection drops, spinner icon comes back, wash, rinse, repeat

Expected Results:  
A stable wifi connection
Comment 1 James Dominy 2015-10-24 08:47:33 UTC
Portage 2.2.23 (python 2.7.10-final-0, default/linux/amd64/13.0, gcc-4.9.3, glibc-2.22-r1, 4.2.3-gentoo x86_64)
=================================================================
System uname: Linux-4.2.3-gentoo-x86_64-Intel-R-_Core-TM-_i5-3210M_CPU_@_2.50GHz-with-gentoo-2.2
KiB Mem:     8068060 total,   5941912 free
KiB Swap:    8912892 total,   8912892 free
Timestamp of repository gentoo: Wed, 21 Oct 2015 12:45:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10::gentoo
dev-util/cmake:           3.3.2-r1::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.18.3::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

qt
    location: /var/lib/layman/qt
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core-avx-i -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core-avx-i -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build"
FCFLAGS="-march=core-avx-i -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-logs cgroup clean-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=core-avx-i -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_ZA.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi adns alsa amd64 ao apache2 avahi berkdb bidi bluetooth bzip2 cairo caps cdda cddb cdio cdparanoia cdr cjk cli consolekit cracklib crypt cscope css cups curl cvs cxx dbus dhcp directfb djvu dri drm dts dv dvd emotion encode ethumb exif fam fftw filecaps flac fortran ftp gd gdbm geoip ggi gif git gnome-keyring gnutls gpg gpm gtk3 gtkstyle gzip iconv icu idn inotify introspection ipv6 javascript jbig jit jpeg kerberos lame lapack latex ldap libass libnotify libsamplerate lzma mmap mms mmx mmxext modemmanager modules mp3 mp4 mpeg mysql ncurses network networkmanager nls nptl nsplugin ogg openal opengl openmp pam pcre pdf png policykit postgres postscript ppds python qt3support qt5 quicktime raw readline samba seccomp session slang smp sna sound spell sqlite sqlite3 sse sse2 ssh ssl startup-notification subversion svg syslog taglib tcpd theora threads tiff truetype udev unicode usb uxa v4l vaapi vcd vdpau vim-syntax vorbis vpx wifi wmf x264 xattr xcb xcomposite xetex xinerama xinetd xscreensaver xv xvid xvmc zeroconf zlib" ABI_X86="32 64" ALSA_CARDS="seq-dummy intel-hda-snd" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_ZA en_GB en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 James Dominy 2015-10-24 08:57:29 UTC
Created attachment 415338 [details]
/var/log/messages (partially stripped)
Comment 3 Pacho Ramos gentoo-dev 2015-10-26 21:02:30 UTC
What dhcpcd version are you running?
Comment 4 Priit Laes (IRC: plaes) 2015-10-27 07:00:01 UTC
I have seen similar issue. Workaround to this is to change IPv6 settings to "Ignore" for this wireless network helps.
Comment 5 James Dominy 2015-10-27 19:09:51 UTC
@Pacho Ramos: I'm running net-misc/dhcpcd-6.9.3
Comment 6 Pacho Ramos gentoo-dev 2015-10-27 19:24:37 UTC
You will need to report it to upstream, otherwise I doubt they will fix it ever :/ (well, in general I wonder how many people are wondering about dhcpcd... that is the reason we default to dhclient)
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-02-15 21:27:28 UTC
Upstream is aware of the problem and considering dropping dhcpcd entirely.
Comment 8 Pacho Ramos gentoo-dev 2016-07-07 18:58:06 UTC
dhcpcd support disabled in 1.2.x as nobody is taking care of it and it's simply starting to be more and more buggy
Comment 9 Joakim Tjernlund 2016-07-27 11:16:27 UTC
(In reply to Pacho Ramos from comment #8)
> dhcpcd support disabled in 1.2.x as nobody is taking care of it and it's
> simply starting to be more and more buggy

Please don't! We rely on dhcpcd, it simply has superior handling of
UUID than dhclient.
I added back dhcpcd for 1.2.2 and it still works fine for us.
Could have dhcpcd as a USE flag, defaulting to off?
Comment 10 Gordon Bos 2016-12-21 13:40:35 UTC
REOPEN

Incorrect action due to false understanding of the underlying issue


Just stumbled onto this thread after finding that the dhcpcd USE flag had disappeared from NetworkManager. Which is really bad because in my case it is in fact dhclient that causes the kind of behaviour mentioned at the top of this thread (intermittent access and the complete drop of networking).

The cause for this behaviour is something that I reported to the NetworkManager devs quite a while ago ( https://bugzilla.gnome.org/show_bug.cgi?id=768362 ), but they seem deaf to my request and I am since using a user patch to counter the issue ( https://github.com/gordonb3/bubbagen/blob/master/systemd/etc/portage/patches/net-misc/networkmanager/dhcpcd-static-profile.patch )

I would very much appreciate the dhcpcd USE flag to be reinstated because dhclient proves to be completely worthless for creating portable solutions.
Comment 11 Joakim Tjernlund 2016-12-21 13:58:17 UTC
(In reply to Gordon Bos from comment #10)
> REOPEN
> 
> Incorrect action due to false understanding of the underlying issue
> 
> 
> Just stumbled onto this thread after finding that the dhcpcd USE flag had
> disappeared from NetworkManager. Which is really bad because in my case it
> is in fact dhclient that causes the kind of behaviour mentioned at the top
> of this thread (intermittent access and the complete drop of networking).
> 
> The cause for this behaviour is something that I reported to the
> NetworkManager devs quite a while ago (
> https://bugzilla.gnome.org/show_bug.cgi?id=768362 ), but they seem deaf to
> my request and I am since using a user patch to counter the issue (
> https://github.com/gordonb3/bubbagen/blob/master/systemd/etc/portage/patches/
> net-misc/networkmanager/dhcpcd-static-profile.patch )
> 
> I would very much appreciate the dhcpcd USE flag to be reinstated because
> dhclient proves to be completely worthless for creating portable solutions.

Yes please.

Also, I am almost sure that this bug(dropping/reconnecting) has been resolved in
dhcpcd some time ago.
Comment 12 Gordon Bos 2016-12-21 14:09:32 UTC
(In reply to Joakim Tjernlund from comment #11)

> 
> Also, I am almost sure that this bug(dropping/reconnecting) has been
> resolved in
> dhcpcd some time ago.

If it is related to using profiles: yes that is correct. Older versions of dhcpcd used to drop the script parameter when accessing a profile. When I filed my bug report at the NetworkManager devs this was still the case for fallback profiles (the dhcp state of which AFIAK is still not supported by NM). The 45 second intermittent loop of resetting the network is the result of the NM script either not being called at all, or containing an unsupported dhcp state.

Please reference the bug report at gnome for full description.
Comment 13 Joakim Tjernlund 2016-12-21 14:17:54 UTC
(In reply to Gordon Bos from comment #12)
> (In reply to Joakim Tjernlund from comment #11)
> 
> > 
> > Also, I am almost sure that this bug(dropping/reconnecting) has been
> > resolved in
> > dhcpcd some time ago.
> 
> If it is related to using profiles: yes that is correct. Older versions of
> dhcpcd used to drop the script parameter when accessing a profile. When I
> filed my bug report at the NetworkManager devs this was still the case for
> fallback profiles (the dhcp state of which AFIAK is still not supported by
> NM). The 45 second intermittent loop of resetting the network is the result
> of the NM script either not being called at all, or containing an
> unsupported dhcp state.

It is not, its the origin of this bug, what the first reporter had
problems with: dropping and reconnecting (successfully) when using dhcpcd
Comment 14 Gordon Bos 2016-12-21 15:01:05 UTC
Sure?

This is how it works:

1) NM calls the dhcp client with a parameter that tells it to run an alternate hookscript - in the case of dhcpcd this is `-c <NM hook script>`

2) the dhcp client returns with some kind of status and runs the hook script


There are two possible faults here that will cause NM to go into the 45 second loop of connect and disconnect:

a) the dhcp client calls its regular hook script - this would happen if dhcpcd was configured to use a profile - and NM times out

b) the dhcp client returns a status that is not supported by NM and NM continues to wait for a response that is supported until timing out


a) is solved in dhcpcd. b) will likely still be a (easy solvable) issue for specific states such as a fallback profile.
Comment 15 Sven Eden 2017-02-24 09:20:30 UTC
Just a little update:

- If emerging networkmanager with USE="-dhclient", the configure script *will* use dhclient anyway, although it isn't there. It just kind of defaults to it.

- So it seems to be reasonable to enable dhclient by default, but to revert to dhcpcd if the user has -dhclient in their USE flags.

I have currently installed :
  net-misc/networkmanager-1.4.4-r13::seden (*) with
    USE="audit bluetooth -connection-sharing -consolekit -dhclient elogind gnutls
         introspection -json -modemmanager ncurses -nss -ofono -ppp resolvconf
         -systemd -teamd -vala -wext wifi"
  (*) : This ebuild patches in eogind support, see bug 607352, and uses dhcpcd if
        USE="-dhclient" was issued.
  net-misc/dhcpcd-6.11.5 with
    USE="embedded -ipv6 udev" and
  sys-auth/elogind-225.9999::seden

With this setting all networking, including wifi on a Broadcom BCM4352 (needs net-wireless/broadcom-sta driver), work just fine, configured from Plasma using networkmanager-qt.

There is no disconnecting. Once the wifi has connected, the connection is stable. Both at home and at work.

So, could it be considered to add dhcpcd support back into the ebuild (like done in bug 607352 maybe?) if USE="-dhclient" is set?