Systemd_218-6ubuntu1 and later cannot connect to network except via USB

Bug #1420601 reported by luke
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

systemd_218-6ubuntu1_amd64.deb and later work ONLY with USB networking devices when booted from Dracut. Dracut network module is NOT in use, and binaries needed to connect to the network do not appear in my initramfs, yet systemd version loaded from it determines whether or not network can be connected. With an AMD Athlon II x4 machined and a Gigabyte AMD motherboard (785 series I think), I get the systemd networking unit entering a failed state, and the wired network cannot be turned on. On an Intel Atom Pine Trail netbook the wireless attempt to connect to the network but hangs on requesting an IP address from the router, never completing. Rolling back systemd to systemd_218-5ubuntu2_amd64.deb always fixes this and brings back normal network connectivity. Finally, an AMD bulldozer machine connected by a USB wifi device has no trouble at all with the newer builds of systemd.

systemd_218-5ubuntu2_amd64.deb , which came out Jan 23, seems to be the last good version. Same upstream version of systemd, apparently just build-time changes caused this.

I'm not sure if this bug will appear with a normal Ubuntu initramfs-tools initramfs (I use Dracut with systemd in the initramfs), but I bring this up because my /boot partition is not normally mounted (so as not to corrupt a monitored hash value) and which version of systemd is in the initramfs, not the version on disk, determines whether or not networking functions on my machines. I do understand my setup has diverged a lot from normal Ubuntu, someone should see if this problem exists in a normal Ubuntu install. If not I will need to find out what changed(possibly a udev rule?) and revert it myself in all later versions.

I've been using systemd with dracut/systemd in the initramfs since last May, I now rely on it to run a parallelized version of my multi-encrypted disk unlocking program and am not about to revert it. Initramfs-tools seems to be unable to cope with multiple asynchrounous instances of cryptsetup, while dracut/systemd handles it just fine.

Tags: networking
Revision history for this message
luke (lukefromdc) wrote :

Ubuntu version is Vivid (alpha) on all machines, booting systemd by default with upstart removed

Revision history for this message
Martin Pitt (pitti) wrote :

It's relatively unlikely that the initrd is related to this. The most likely change from -6 was this:

  http://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?id=c90467c1b29

In a boot with the failed networking, can you please run

  sudo systemctl status -u network-pre.target networking.service network.target <email address hidden>
  sudo systemctl --all | grep ifup

and copy&paste the output here? (You might first need to copy it into a file, then reboot with networking (e. g. under upstart), and then attach the file here. Thanks!

Changed in systemd (Ubuntu):
status: New → Incomplete
Revision history for this message
luke (lukefromdc) wrote :
Download full text (5.2 KiB)

I got this result from your commands, more details in the next comment with journalctl lines relevant to this:

sudo systemctl status network-pre.target networking.service network.target <email address hidden>
● network-pre.target - Network (Pre)
   Loaded: loaded (/lib/systemd/system/network-pre.target; static; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd.special(7)
           http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

● networking.service - LSB: Raise network interfaces.
   Loaded: loaded (/etc/init.d/networking)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
        /lib/systemd/system/networking.service.d
           └─network-pre.conf
   Active: active (exited) since Wed 2015-02-11 13:26:25 EST; 55s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1214 ExecStart=/etc/init.d/networking start (code=exited, status=0/SUCCESS)

Feb 11 13:26:25 ubuntu networking[1214]: * Configuring network interfaces...
Feb 11 13:26:25 ubuntu networking[1214]: /etc/resolvconf/update.d/libc: Warn...f
Feb 11 13:26:25 ubuntu networking[1214]: ...done.

● network.target - Network
   Loaded: loaded (/lib/systemd/system/network.target; static; vendor preset: enabled)
   Active: active since Wed 2015-02-11 13:26:26 EST; 54s ago
     Docs: man:systemd.special(7)
           http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

● <email address hidden> - ifup for eth0
   Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
   Active: inactive (dead)

Feb 11 13:27:21 ubuntu systemd[1]: [/lib/systemd/system/ifup@.service:14] T...g.
Hint: Some lines were ellipsized, use -l to show in full.
luke@ubuntu:~$ sudo systemctl status -l network-pre.target networking.service network.target <email address hidden>
● network-pre.target - Network (Pre)
   Loaded: loaded (/lib/systemd/system/network-pre.target; static; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd.special(7)
           http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

● networking.service - LSB: Raise network interfaces.
   Loaded: loaded (/etc/init.d/networking)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
        /lib/systemd/system/networking.service.d
           └─network-pre.conf
   Active: active (exited) since Wed 2015-02-11 13:26:25 EST; 1min 35s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1214 ExecStart=/etc/init.d/networking start (code=exited, status=0/SUCCESS)

Feb 11 13:26:25 ubuntu networking[1214]: * Configuring network interfaces...
Feb 11 13:26:25 ubuntu networking[1214]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
Feb 11 13:26:25 ubuntu networking[1214]: ...done.

● network.target - Network
   Loaded: loaded (/lib/systemd/system/network.target; static; vendor preset: enabled)
   Active: active since Wed 2015-02-11 13:26:26 EST; 1min 35s ago
     Docs: man:systemd.special(7)
           http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

● <email address hidden> - ifup for eth0
   Loaded: loade...

Read more...

Revision history for this message
luke (lukefromdc) wrote :
Download full text (5.6 KiB)

Journalctl lines relevant to this bug, using a PCI connected wifi card that did NOT come up:

Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> (lo): new Generic device (driver: 'unknown'

ubuntu NetworkManager[1378]: <info> WiFi hardware radio set enabled
Feb 11 13:26:36 ubuntu NetworkManager[1378]: <info> WWAN hardware radio set disabled

Feb 11 13:28:13 ubuntu systemd[1]: [/lib/systemd/system/ifup@.service:14] Trailing garbage, ignoring.

6 ubuntu ModemManager[1373]: <info> ModemManager (version 1.4.0) starting in sys
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> NetworkManager (version 0.9.10.0) is starti
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> Read config: /etc/NetworkManager/NetworkMan
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> WEXT support is enabled

Feb 11 13:26:26 ubuntu kernel: cfg80211: World regulatory domain updated:
Feb 11 13:26:26 ubuntu kernel: cfg80211: DFS Master region: unset
Feb 11 13:26:26 ubuntu kernel: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_ga
Feb 11 13:26:26 ubuntu kernel: cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2
Feb 11 13:26:26 ubuntu kernel: cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2
Feb 11 13:26:26 ubuntu kernel: cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2
Feb 11 13:26:26 ubuntu kernel: cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2
Feb 11 13:26:26 ubuntu kernel: cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> init!
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> update_system_hostname
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> interface-parser: parsing file /etc/n
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> interface-parser: finished parsing fi
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> management mode: unmanaged
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> devices added (path: /sys/devices/pci0000:0
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> device added (path: /sys/devices/pci0000:00
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> devices added (path: /sys/devices/virtual/n
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> device added (path: /sys/devices/virtual/ne
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> end _init.
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> Loaded plugin ifupdown: (C) 2008 Canonical
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> Loaded plugin keyfile: (c) 2007 - 2013 Red
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> (31315200) ... get_connections.
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> (31315200) ... get_connections (managed=fal
Feb 11 13:26:26 ubuntu sshd[1453]: Server listening on 0.0.0.0 port 22.
Feb 11 13:26:26 ubuntu sshd[1453]: Server listening on :: port 22.
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> new connection /etc/NetworkManager/system-c
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <warn> error in connection /etc/NetworkManager
Feb 11 13:26:26 ubuntu NetworkManager[1378]: <info> new connection /etc/NetworkManager/system-c
Feb 11 13:26:26 ubuntu Network...

Read more...

Revision history for this message
Martin Pitt (pitti) wrote :

It's actually very likely that this is due to bug 1421556. I'm going to fix that soon; can you please test the next version as soon as I upload it, and complain here if it still doesn't work?

If you want, you can also test this right away already, by replacing /lib/systemd/system/ifup@.service with the attached file.

Thanks!

Revision history for this message
luke (lukefromdc) wrote :
Download full text (25.9 KiB)

I rtested the new ifup@.service file, it changed the reports in journald but did NOT permit the laptop to connect to any wifi connection. It would get as far as "associated" being indicated but not get an IP address-same behavior as before. I won't know until tomorrow night if this is the same with a wired connection, I don't have access to one here. Here is the relevant text from journald, with non-network stuff snipped out and all connection names redacted for security reasons. Lots of ugliness about failing to insert the module, etc:

Feb 13 22:38:20 ubuntu systemd-modules-load[771]: Failed to insert 'it87': No such device
Feb 13 22:38:20 ubuntu systemd-modules-load[771]: Failed to insert 'it87': No such device
Feb 13 22:38:20 ubuntu systemd-modules-load[771]: Failed to insert 'it87': No such device
Feb 13 22:38:20 ubuntu systemd-modules-load[771]: Failed to insert 'it87': No such device
Feb 13 22:38:20 ubuntu systemd-modules-load[771]: Failed to insert 'it87': No such device
Feb 13 22:38:20 ubuntu systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE
Feb 13 22:38:20 ubuntu systemd[1]: Failed to start Load Kernel Modules.
Feb 13 22:38:20 ubuntu systemd[1]: Unit systemd-modules-load.service entered failed state.
Feb 13 22:38:20 ubuntu systemd[1]: systemd-modules-load.service failed.

<SNIP>

Feb 13 22:38:24 ubuntu kernel: ath: phy0: Enable LNA combining
Feb 13 22:38:24 ubuntu kernel: ath: phy0: ASPM enabled: 0x42
Feb 13 22:38:24 ubuntu kernel: ath: EEPROM regdomain: 0x65
Feb 13 22:38:24 ubuntu kernel: ath: EEPROM indicates we should expect a direct regpair map
Feb 13 22:38:24 ubuntu kernel: ath: Country alpha2 being used: 00
Feb 13 22:38:24 ubuntu kernel: ath: Regpair used: 0x65
Feb 13 22:38:24 ubuntu kernel: uvcvideo: Found UVC 1.00 device WebCam (064e:a102)
Feb 13 22:38:24 ubuntu kernel: ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Feb 13 22:38:24 ubuntu kernel: ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xffffc90010320000, irq=17
Feb 13 22:38:24 ubuntu kernel: input: WebCam as /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/input/input10

<SNIP>

Feb 13 22:38:26 ubuntu kernel: cfg80211: World regulatory domain updated:
Feb 13 22:38:26 ubuntu kernel: cfg80211: DFS Master region: unset
Feb 13 22:38:26 ubuntu kernel: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
Feb 13 22:38:26 ubuntu kernel: cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
Feb 13 22:38:26 ubuntu kernel: cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
Feb 13 22:38:26 ubuntu kernel: cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
Feb 13 22:38:26 ubuntu kernel: cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
Feb 13 22:38:26 ubuntu kernel: cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)

<SNIP>

Feb 13 22:38:27 ubuntu sh[1044]: Unknown interface eth0
Feb 13 22:38:27 ubuntu sh[1043]: Unknown interface wlan0
Feb 13 22:38:28 ubuntu apparmor[1031]: * Starting AppArmor profiles
Feb 13 22:38:28 ubuntu networking[1035]: ...

Revision history for this message
luke (lukefromdc) wrote :

UPDATE Systemd 8ubuntu2 worked (without the new patch even) on desktop fitted with PCI wifi card, did NOT work on laptop. Laptop seemed to have another issue with the driver (as above). Today's updates to something else seemed to cause that, with current or rolled back systemd. On that laptop, however, manually stopping and restartng NetworkManager allowed a sucessful connection with the rolled back systemd, about to try it with today's patch.

Revision history for this message
luke (lukefromdc) wrote :

Laptop results with new file:

After several reboots, one time it connected to the wifi automatically, other time it hung on getting the IP address. When hung, running this script would get it connected:

sudo killall NetworkManager
sudo NetworkManager

After running this it connected without issues. No surprise that, as systemd is just an init system.

Revision history for this message
luke (lukefromdc) wrote :

The "trailing garbage-ignoring error is gone, still get these errors on the desktop running a PCI wifi card, even though it connected and is working to send this comment:

 nm_device_get_device_type: assertion 'NM_IS_DEVICE (self)' failed

also

ubuntu NetworkManager[1430]: <info> urfkill disappeared from the bus

and

Feb 13 23:56:36 ubuntu ModemManager[1419]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:14.4/0000:05:06.0': not supported by any plugin
Feb 13 23:56:36 ubuntu ModemManager[1419]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:15.0/0000:06:00.0': not supported by any plugin

Revision history for this message
luke (lukefromdc) wrote :

FIXED wth replacment ifup@.service file used in Systemd 8ubuntu2 in both desktop machines. One uses the onboard ethernet port, the other was tested with a pci wifi card not normally used for performance reasons. Both worked flawlessly with this fix.

The laptop may have a driver issue of some kind, wil try a newer kernel in it. It will sometimes connect, sometimes require manually restarting NetworkManager, so I left a script on its desktop for that purpose. Again, both the card in that laptop and the wifi connection I use the most have always been touchy,.

When I first used systemd last May I had to start that from rc.local so it occurred to me last night to try that.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.6 KiB)

This bug was fixed in the package systemd - 218-10ubuntu1

---------------
systemd (218-10ubuntu1) vivid; urgency=medium

  [ Martin Pitt ]
  * Merge with Debian unstable. Remaining Ubuntu changes:
    - Hack to support system-image read-only /etc, and modify files in
      /etc/writable/ instead.
    - Keep our much simpler udev maintainer scripts (all platforms must
      support udev, no debconf).
    - initramfs init-top: Drop $ROOTDELAY, we do that in a more sensible way
      with wait-for-root. Will get applicable to Debian once Debian gets
      wait-for-root in initramfs-tools.
    - initramfs init-bottom: If LVM is installed, settle udev,
      otherwise we get missing LV symlinks. Workaround for LP #1185394.
    - Add debian/udev.lvm2.init: Dummy SysV init script to satisfy insserv
      dependencies to "lvm2" which is handled with udev rules in Ubuntu.
    - Provide shutdown fallback for upstart. (LP: #1370329)
    - debian/extra/ifup@.service: Additionally run for "auto" class. We don't
      really support "allow-hotplug" in Ubuntu at the moment, so we need to
      deal with "auto" devices appearing after "/etc/init.d/networking start"
      already ran. (LP: #1374521) Also, check if devices are actually defined
      in /etc/network/interfaces as we don't use Debian's net.agent.
    - ifup@.service: Drop dependency on networking.service (i. e.
      /etc/init.d/networking), and merely ensure that /run/network exists.
      This avoids unnecessary dependencies/waiting during boot and dependency
      cycles if hooks wait for other interfaces to come up (like ifenslave
      with bonding interfaces). (LP: #1414544)
    - Add Get-RTC-is-in-local-time-setting-from-etc-default-rc.patch: In
      Ubuntu we currently keep the setting whether the RTC is in local or UTC
      time in /etc/default/rcS "UTC=yes|no", instead of /etc/adjtime.
      (LP: #1377258)
    - Put session scopes into all cgroup controllers. This makes unprivileged
      user LXC containers work under systemd. (LP: #1346734)
    - Lower Breaks: to plymouth version which has the udev inotify fix in
      Ubuntu.
    - Lower libappamor1 dep to the Ubuntu version where it moved to /lib.
    - Make failure of boot-and-services NSpawn.test_boot non-fatal for now.
      This currently fails when being triggered by Jenkins, but is totally
      unreproducible when running this manually on the exact same machine.

    Upgrade fixes, keep until 16.04 LTS release:
    - systemd Conflicts/Replaces/Provides systemd-services.
    - Remove obsolete systemd-logind upstart job.
    - Clean up obsolete /etc/udev/rules.d/README.

  * ifup@.service: Fix syntax error. (LP: #1421556, #1420601)

  [ Didier Roche ]
  * Add systemd-fsckd multiplexer and feed its output to plymouth. This
    provides an aggregate progress report of running file system checks and
    also allows cancelling them with ^C.
    (LP: #1316796; Closes: #775093, #758902)

systemd (218-10) experimental; urgency=medium

  * Pull latest keymaps from upstream git. (LP: #1334968, #1409721)
  * rules: Fix by-path of mmc RPMB partitions and don't blkid them. Avoids
    kernel buffer I/O errors and timeouts. (LP: #1333140...

Read more...

Changed in systemd (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.