{"id":196,"date":"2017-05-28T22:00:30","date_gmt":"2017-05-28T20:00:30","guid":{"rendered":"https:\/\/www.pingu-mobil.de\/iot\/?p=196"},"modified":"2021-05-14T10:07:53","modified_gmt":"2021-05-14T08:07:53","slug":"hilfe-mein-netzwerk-funktioniert-nicht-mehr","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2017\/technik\/hilfe-mein-netzwerk-funktioniert-nicht-mehr\/","title":{"rendered":"Hilfe mein Netzwerk funktioniert nicht mehr!?"},"content":{"rendered":"<p>Wenn Sie wie in <a href=\"https:\/\/www.pingu-mobil.de\/iot\/2017\/05\/28\/anpassen-der-linux-bootparameter\/\">Anpassen der Linux-Bootparameter<\/a> beschrieben den Bootparameter <strong>quiet<\/strong> hinzugef\u00fcgt haben, werden Sie feststellen, dass Buildroot nun deutlich schneller startet. Und zwar so schnell, dass nun eine Race Condition zum Tragen kommt, durch die der Befehl <strong>ifup -a<\/strong> zum Aktivieren des Netzwerks schon ausgef\u00fchrt wird, bevor der Kernel das Netzwerkinterface kennt. Die Behebung des Problems ist nicht sonderlich kompliziert, erfordert jedoch ein paar Handgriffe.<\/p>\n<p>Wie immer denken Sie bitte daran, dass s\u00e4mtliche Textdateien gem\u00e4\u00df den UNIX-Konventionen gespeichert sein m\u00fcssen. Entweder bearbeiten Sie die Dateien also direkt unter Linux oder verwenden einen guten Texteditor, der damit umgehen kann. Also so ziemlich alles au\u00dfer Notepad. \ud83d\ude09<\/p>\n<p>Zun\u00e4chst bearbeiten Sie die Datei <strong>custom\/board\/rootfs_overlay_base\/etc\/inittab<\/strong> und entfernen darin folgende Zeile:<\/p>\n<pre>::sysinit:\/sbin\/ifup -a<\/pre>\n<p>Stattdessen nehmen Sie folgende neue Zeile hinzu (am Anfang des Blocks dar\u00fcber):<\/p>\n<pre>::once:\/sbin\/udevd<\/pre>\n<p>Das Endergebnis sollte dann so aussehen:<\/p>\n<pre>::once:\/sbin\/udevd\n::sysinit:\/bin\/hostname -F \/etc\/hostname\n::sysinit:\/sbin\/syslogd\n::sysinit:\/sbin\/klogd\n::sysinit:\/etc\/init.d\/S20urandom start\n::sysinit:\/usr\/bin\/loadkeys de-latin1\n\n::shutdown:\/sbin\/ifdown -a<\/pre>\n<p>Anschlie\u00dfend legen Sie den neuen Ordner <strong>custom\/board\/rootfs_overlay_base\/etc\/<span style=\"color: #800000\">udev\/rules.d<\/span><\/strong> an. Darin erstellen Sie eine Textdatei mit dem Namen <strong>10-local.rules<\/strong> und folgendem Inhalt:<\/p>\n<pre># Siehe: http:\/\/www.reactivated.net\/writing_udev_rules.html\n\n# Die folgenden udev-Regeln stellen sicher, dass das Netzwerk konfiguriert wird,\n# sobald das Netzwerk-Interface im Kernel verf\u00fcgbar ist. W\u00fcrden Sie stattdessen\n# den Befehl \"ifup -a\" in der Datei \/etc\/inittab beim Systenstart ausf\u00fchren,\n# k\u00f6nnte es passieren, dass der Befehl zu fr\u00fch ausgef\u00fchrt wird und dann keine\n# Wirkung hat.\n\nKERNEL==\"eth*\", SUBSYSTEM==\"net\", RUN+=\"\/sbin\/ifup -a\"\nKERNEL==\"wlan*\", SUBSYSTEM==\"net\", RUN+=\"\/sbin\/ifup -a\"<\/pre>\n<p>Jetzt haben Sie es fast geschafft. Sie m\u00fcssen nur noch im Buildroot-Men\u00fc folgende Einstellung \u00e4ndern und dann ein neues Firmware Image bauen:<\/p>\n<p><em>System configuration &#8211;&gt; \/dev management = <strong>&#8222;Dynamic using devtempfs + eudev&#8220;<\/strong><\/em><\/p>\n<p>Nun sollte das Netzwerk wieder funktionieren. Zum Test f\u00fchren Sie auf dem Raspberry Pi folgenden Befehl aus, um zu pr\u00fcfen, ob das eth0-Interface eine IP-Adresse besitzt:<\/p>\n<pre>$ ip addr show<\/pre>\n<p>Wenn Sie wollen k\u00f6nnen Sie nun auch wie im neuen Kapitel <em>4.4 Datum und Uhrzeit aus dem Internet beziehen<\/em> beschrieben vorgehen, um sicherzugehen, dass der Raspberry Pi beim Hochfahren nicht immer den 01.01.1970, 0:00 Uhr als Systemzeit verwendet. Allerdings erst, sobald ich das neue Skript auch hochgeladen habe. \ud83d\ude1b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie wie in Anpassen der Linux-Bootparameter beschrieben den Bootparameter quiet hinzugef\u00fcgt haben, werden Sie feststellen, dass Buildroot nun deutlich schneller startet. Und zwar so schnell, dass nun eine Race Condition zum Tragen kommt, durch die der Befehl ifup -a<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/196"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":586,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/196\/revisions\/586"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}