Du bist nicht angemeldet.

#1 28.07.2020 16:59:20

Shalrath
Mitglied

Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Hallo,

Seit einiger Zeit, vermutlich durch eine Systemaktualisierung verursacht, dauert das Herunterfahren von Arch Linux > 90s.
Ursache ist ifplugd, dessen Beenden auf den Timeout wartet.

Wenn ich es manuell versuche, sieht es so aus:

[root@ws2 rawjaw]# time systemctl stop netctl-ifplugd@eth0.service

real	1m30,038s
user	0m0,000s
sys	0m0,007s

in journalctl sieht es dann so aus:

Jul 28 16:52:39 ws2 su[21487]: pam_unix(su:session): session opened for user root by (uid=1337)
Jul 28 16:52:48 ws2 ifplugd[553]: Killing child.
Jul 28 16:52:48 ws2 ifplugd[553]: client: arp_free: Broken pipe
Jul 28 16:52:48 ws2 ifplugd[553]: client: script_runreason: Broken pipe
Jul 28 16:52:48 ws2 ifplugd[553]: client: main: control_stop: Broken pipe
Jul 28 16:52:48 ws2 ifplugd[553]: client: ps_dostop: Broken pipe
Jul 28 16:52:48 ws2 systemd[1]: Stopping Automatic wired network connection using netctl profiles...
Jul 28 16:52:48 ws2 dhcpcd[660]: received SIGTERM, stopping
Jul 28 16:52:48 ws2 ifplugd[553]: client: ps_dostop: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: eth0: removing interface
Jul 28 16:52:48 ws2 dhcpcd[660]: arp_free: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: script_runreason: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: main: control_stop: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: ps_dostop: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: ps_dostop: Broken pipe
Jul 28 16:52:48 ws2 dhcpcd[660]: dhcpcd exited
Jul 28 16:52:48 ws2 ifplugd[553]: Program executed successfully.
Jul 28 16:54:18 ws2 systemd[1]: netctl-ifplugd@eth0.service: State 'stop-sigterm' timed out. Killing.
Jul 28 16:54:18 ws2 systemd[1]: netctl-ifplugd@eth0.service: Killing process 553 (ifplugd) with signal SIGKILL.
Jul 28 16:54:18 ws2 systemd[1]: netctl-ifplugd@eth0.service: Main process exited, code=killed, status=9/KILL
Jul 28 16:54:18 ws2 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=netctl-ifplugd@eth0 com>
Jul 28 16:54:18 ws2 systemd[1]: netctl-ifplugd@eth0.service: Failed with result 'timeout'.
Jul 28 16:54:18 ws2 systemd[1]: Stopped Automatic wired network connection using netctl profiles.

Die Netzwerkverbindung ist immer noch aktiv.

Ich lasse eth0 nur von ifplugd verwalten und habe das netctl-profil (ethernet-dhcp) dafür deaktiviert.

Wie kann ich das Problem beheben?

Danke im Voraus!

Grüße
Stephan

Beitrag geändert von Shalrath (28.07.2020 17:01:47)

Offline

#2 28.07.2020 21:03:00

NielsO
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Moin Stefan,
ich muss mal wühlen gehen, da gibts eine conf, in der Du  ifplugd eintragen kannst als beim shutdown zu beenden.
Hatte ich auch mal.

Viele Grüße,
Niels

Offline

#3 28.07.2020 23:58:34

Shalrath
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Hi Niels,

Ifplugd wird ja beendet, nur eben ohne Erfolg.
Ein "killall -9 dhcpcd ifplugd" in ein script beim Shutdown hinzuzufügen wäre natürlich ein Workaround, wenn auch ein hässlicher.

Grüße
Stephan

Offline

#4 29.07.2020 21:32:21

Roojoh7o
Gast

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Was mich irritiert ist die Tatsache, dass dhcpcd läuft, obwohl du schriebst, dass nur ifplugd die Schnittstelle verwaltet. Hier

Jul 28 16:52:48 ws2 dhcpcd[660]: eth0: removing interface

entfernt dhcpcd das Interface, deswegen wird netctl-ifplugd@eth0.service das Interface nicht mehr finden, um es beenden zu können, und gibt nach 90 s auf.
Ich würde mal den dhcpcd de-installieren oder zumindest den Start verhindern, damit es nicht zum Konflikt mit dem netctl-ifplugd@eth0.service kommen kann.

Andererseits schreibt das Wiiki in https://wiki.archlinux.org/index.php/Ne … or_laptops, dass dhcpcd out-of-the-box über die Funktion von ifplugd verfügt, möglicherweise könntest du dann auch ganz auf ifplugd verzichten.

#5 31.07.2020 20:26:43

NielsO
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

oder du brennst dir dein eigenes installationsmedium?
Löscht dhcpdp aus den packager und nimmst stattdessen und guten alten networkmanager.

Offline

#6 31.07.2020 21:23:53

Roojoh7o
Gast

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

NielsO schrieb:

Löscht dhcpdp aus den packager und nimmst stattdessen und guten alten networkmanager.

Ich kann mich nicht mehr genau erinnern warum, aber der Networkmanager hatte hier nur Probleme gemacht, von dem hatte ich mich als erstes getrennt.
Der netctl läuft bei mir deutlich entspannter, und auf dem Notebook habe ich ihn heute noch im Einsatz, wegen der unkomplizierten Einrichtung der WLAN-Verbindung mit dem wifi-menu.
Auf dem Desktoprechner habe ich ihn mittlerweile durch systemd-networkd ersetzt, weil der eh schon mit systemd installiert wird und ich mir dadurch die zusätzlichen Pakete sparen kann.

#7 31.07.2020 23:24:15

Shalrath
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Roojoh7o: Wie ich das verstehe, erkennt ifplugd das Einstecken des Kabels und startet dann dhcpcd um das Netzwerk zu konfigurieren. Das netctl-profil "ethernet-dhcp" ist bei mir nicht aktiv. Auch in systemctl ist kein dhcpcd aktiv.

Trotzdem laufen bei mir einige dhcpcd-Prozesse mit Mutterprozess init. Ich frage mich, wo die herkommen, wenn sie weder von ifplugd noch von netctl oder systemctl gestartet werden...

Mein Grund, warum ich das überhaupt verwende, ist, dass mein Router langsamer hochfährt als der PC. Wenn ich also nur das ethernet-dhcp Profil verwende, wartet der PC beim booten 90s auf den DHCP-Server, der noch nicht gestartet ist. Erst nach dem Timeout startet der PC weiter, dann aber ohne Netzwerk, das dann auch inaktiv bleibt. Mit ifplugd habe ich es geschafft, dass der PC schnell startet und das Netzwerk im Hintergrund erkennt und konfiguriert, wann immer der Router hochgefahren ist.

Beitrag geändert von Shalrath (31.07.2020 23:27:30)

Offline

#8 31.07.2020 23:47:10

Shalrath
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Für den Fall, dass sich über die Jahre seit meiner Netzwerkkonfiguration etwas am Verhalten der Tools geändert hat, habe ich es nochmal getestet.

dhcpcd deinstallieren und nur ifplugd laufen lassen: Kein Netz.

ifplugd deinstallieren und nur netctl ethernet-dhcd verwenden: Nur Netz, wenn der Router vor dem Starten des PCs hochgefahren ist. Sonst auch kein Netz, es wird auch nicht nachträglich konfiguriert, wenn der Router gestartet ist. Ich kann selbst auf den Router warten und es dann mit 'netctl start ethernet-dhcp' konfigurieren.

Laut https://wiki.archlinux.org/index.php/Dh … eout_delay lässt sich mein Problem wohl auch ohne ifplugd lösen.
Das Verzeichnis mit den service-Dateien, die dazu editiert werden müssen, existiert bei mir aber gar nicht, obwohl dhcpcd@eth0.service gestartet und aktiviert ist.
/etc/systemd/system/dhcpcd@.service.d

Ist das Wiki falsch oder veraltet?

Beitrag geändert von Shalrath (01.08.2020 00:03:23)

Offline

#9 01.08.2020 09:02:12

Roojoh7o
Gast

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Shalrath schrieb:

Mein Grund, warum ich das überhaupt verwende, ist, dass mein Router langsamer hochfährt als der PC. Wenn ich also nur das ethernet-dhcp Profil verwende, wartet der PC beim booten 90s auf den DHCP-Server, der noch nicht gestartet ist. Erst nach dem Timeout startet der PC weiter, dann aber ohne Netzwerk, das dann auch inaktiv bleibt.

Und wenn du dem Rechner eine feste IP geben würdest? Bei meinem Desktop-Rechner ist das so und ich habe ihn vorhin mal gebootet, nachdem ich den Netzwerkstecker vom Switch gezogen hatte. Er bootete ohne Verzögerung bis zum Desktop, Status des Adapter war "NO-CARRIER" und "state DOWN".  Nachdem ich dann den Netzwerkstecker am Switch gesteckt hatte, wechselte der Adapter in "state UP" und bekam seine IP.

Wie weiter oben beschrieben benutze ich nur noch systemd-networkd für die Verwaltung des Netzwerkadapters. Auch wenn ich danach noch den Netzwerkstecker am Switch ziehe und wieder stecke, wechselt der Adapter von UP nach DOWN (und umgekehrt), verhält sich also diesbezüglich genau so wie ifplugd. Möglicherweise funktioniert das auch mit dynamischer Adressevergabe, das habe ich jetzt aber nicht mehr versucht.

#10 01.08.2020 09:23:05

Roojoh7o
Gast

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Shalrath schrieb:

Das Verzeichnis mit den service-Dateien, die dazu editiert werden müssen, existiert bei mir aber gar nicht, obwohl dhcpcd@eth0.service gestartet und aktiviert ist.
/etc/systemd/system/dhcpcd@.service.d

Das Verzeichnis muss man selber anlegen: https://wiki.archlinux.org/index.php/Sy … p-in_files

#11 02.08.2020 05:10:47

Shalrath
Mitglied

Re: Ifplugd (dhcpdcp) kann nicht beendet werden (broken pipe)

Oh. Statische IP. Also manchmal sieht man den Wald vor lauter Bäumen nicht, das umgeht meine Problematik ja viel einfacher... Danke dir!

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums