hm schrieb
Gibt es eine Möglichkeit, das network-System zu veranlassen, beim Start mit dhclient zu arbeiten solange bis dhcpcd wieder funktioniert?
Schwer, das /etc/rc.d/network Skript ist auf dhcpcd festgelegt. Bei Lust und Kenntnissen könntest du die dhcpcd-Aufrufe darin natürlich durch dhclient(plus geeignete Optionen) ersetzen.
Schneller (aber auch unsauberer) wäre, den network-DAEMON abzustellen (!network) und den dhclient Aufruf in der /etc/rc.local unterzubringen. Das würde dann erst nach den anderen DAEMONS abgearbeitet ,aber ich sehe nichts bei dir was in dieser Phase eine Netzwerkfunktionalität benötigt. Evtl. mußt du eth0 vorher noch UP setzen:
ip link set dev eth0 up
dhclient eth0
Das Verhalten trat erst mit dem letzten Update auf? Wurde da u.U. auch das dhcpcd-Paket aktualisiert (->pacman.log)?
GerBra schriebInteressant wäre ggf. die Ausgabe von: dhcpcd -dT eth0
Ich habe mal kurz in den dhcpcd-Code geschaut, mit meinen bescheidenen C/C++-Kenntnissen. Das reject passiert in einem Codeblock der übeschrieben ist mit:
"/* Ensure that all required options are present */"
Das/Die Antwortpakete vom DHCP-Server werden hier auf bestimmte Optionen geprüft, die seitens des Servers gesetzt/vorhanden sein müssen ("Fähigkeiten des Servers"). Bei einer/einigen steigt der dhcpcd-Client an dieser Stelle aber aus, und akzeptiert nicht die offerierte IP seitens des Servers. Dann wird das ganze noch ein paar Mal versucht, bis zum Timeout eben. Ende.
Ich lehne mich mal weit aus dem Fenster und sage: Du hast eine FritzBox als Router/DHCP-Server. Richtig? (Netgear wäre auch noch ein Kandidat)
Du könntest nochmal folgendes machen (wenn evtl. nicht eh schon geschehen): Alle Netzwerk(Transport)geräte wie Router, Switches und Rechner für mind. 20s ausschalten (//Edit: bzw. stromlos setzen). Dann in der Reihenfolge Router->Switches(wenn extra vorhanden)->PC wieder einschalten. Evtl. hat sich irgendwo eine Tabelle mit "Werten" vesrchluckt…