Keine Netzwerkverbindung nach booten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Keine Netzwerkverbindung nach booten

Beitrag von tdc » 08.02.2012 08:40:38

Hallo zusammen

Ich habe ein Problem mit der Netzwerkschnittstelle eines Embedded Systems welches mit Debian läuft. Das System hat eine Ethernet-Schnittstelle welche ich für den SSH-Zugriff nutzen möchte. Leider funktioniert diese nach dem Booten jeweils nicht. Nach einem kurzen /etc/init.d/networking restart funktioniert die Schnittstelle aber einwandfrei. Da in /etc/rcS.d ein passender Symlink vorhanden ist, müsste die Schnittstelle aber doch schon beim Booten aktiviert werden. Oder habe ich da etwas übersehen? Während dem Booten wird auch "Configuring network interfaces...done." ausgegeben (siehe Boot-Log, Zeile 166), nur eben funktioniert es trotzdem nicht.

Boot-Log:
NoPaste-Eintrag36234

/etc/rcS.d:

Code: Alles auswählen

root@smartmeter:~# ls -al /etc/rcS.d/
total 12
drwxr-xr-x  2 root root   0 Jan  1  2000 .
drwxr-xr-x 40 root root   0 Jan  1 00:02 ..
-rw-r--r--  1 root root 447 Jan  1  2011 README
lrwxrwxrwx  1 root root  24 Jan  1  2000 S01mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx  1 root root  28 Jan  1  2000 S01smartmeter-init.sh -> ../init.d/smartmeter-init.sh
lrwxrwxrwx  1 root root  14 Jan  1  2000 S02udev -> ../init.d/udev
lrwxrwxrwx  1 root root  26 Jan  1  2000 S03mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx  1 root root  18 Jan  1  2000 S04bootlogd -> ../init.d/bootlogd
lrwxrwxrwx  1 root root  21 Jan  1  2000 S05hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx  1 root root  25 Jan  1  2000 S05hwclockfirst.sh -> ../init.d/hwclockfirst.sh
lrwxrwxrwx  1 root root  22 Jan  1  2000 S06checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx  1 root root  20 Jan  1  2000 S07hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx  1 root root  27 Jan  1  2000 S07module-init-tools -> ../init.d/module-init-tools
lrwxrwxrwx  1 root root  17 Jan  1  2000 S07mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx  1 root root  20 Jan  1  2000 S08checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx  1 root root  21 Jan  1  2000 S09mountall.sh -> ../init.d/mountall.sh
lrwxrwxrwx  1 root root  31 Jan  1  2000 S10mountall-bootclean.sh -> ../init.d/mountall-bootclean.sh
lrwxrwxrwx  1 root root  26 Jan  1  2000 S11mountoverflowtmp -> ../init.d/mountoverflowtmp
lrwxrwxrwx  1 root root  20 Jan  1  2000 S12networking -> ../init.d/networking
lrwxrwxrwx  1 root root  16 Jan  1  2000 S12procps -> ../init.d/procps
lrwxrwxrwx  1 root root  19 Jan  1  2000 S12udev-mtab -> ../init.d/udev-mtab
lrwxrwxrwx  1 root root  17 Jan  1  2000 S12urandom -> ../init.d/urandom
lrwxrwxrwx  1 root root  21 Jan  1  2000 S13mountnfs.sh -> ../init.d/mountnfs.sh
lrwxrwxrwx  1 root root  31 Jan  1  2000 S14mountnfs-bootclean.sh -> ../init.d/mountnfs-bootclean.sh
lrwxrwxrwx  1 root root  21 Jan  1  2000 S15bootmisc.sh -> ../init.d/bootmisc.sh
lrwxrwxrwx  1 root root  30 Jan  1  2000 S16stop-bootlogd-single -> ../init.d/stop-bootlogd-single
/etc/network/interfaces

Code: Alles auswählen

root@smartmeter:~# cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup/ifdown

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
Hat jemand eine Idee wo das Problem liegen könnte?

Danke und schöne Grüsse aus der Schweiz
Martin

Linuxer2011deb
Beiträge: 28
Registriert: 05.10.2011 09:16:55

Re: Keine Netzwerkverbindung nach booten

Beitrag von Linuxer2011deb » 08.02.2012 08:56:07

Hallo tdc ,

ich kenne mich mit ssh jetzt nur mäßig aus aber kannst du nicht ein automatischen
Aufruf durchführen lassen der dir die Netzwerkverbindung wieder startet.
Irgendwie so:

http://wiki.ubuntuusers.de/Skripte/Autostart-Patch

Da Ubuntu von Debian abstammt müsste das identisch sein und funktionieren.

Mfg

Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Re: Keine Netzwerkverbindung nach booten

Beitrag von tdc » 08.02.2012 09:13:24

Hallo Linuxer2011deb

Danke für die schnelle Antwort.
Linuxer2011deb hat geschrieben:kannst du nicht ein automatischen Aufruf durchführen lassen der dir die Netzwerkverbindung wieder startet.
Ich könnte natürlich einen neuen Init-Skript hinzufügen, der vor dem Start des sshd automatisch "/etc/init.d/networking restart" ausführt. Das ist meiner Meinung nach aber ein relativ hässlicher Hack, da der Init-Skript "networking" ja bereits ausgeführt wurde. Wenn irgendwie möglich würde ich gerne das Problem selbst lösen und nicht nur umgehen.

Interessant ist, dass beim Ausführen von "/etc/init.d/networking restart" ausgegeben wird, dass der Link Down ist ("PHY: 0:1f - Link is Down"):

Code: Alles auswählen

root@smartmeter:~# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:c6:76:99:5d
Sending on   LPF/eth0/00:0c:c6:76:99:5d
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 192.168.1.1 port 67
send_packet: Network is unreachable
send_packet: please consult README file regarding broadcast address.
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:c6:76:99:5d
Sending on   LPF/eth0/00:0c:c6:76:99:5d
Sending on   Socket/fallback
PHY: 0:1f - Link is Down
PHY: 0:1f - Link is Up - 100/Full
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 192.168.1.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.100 -- renewal in 84279 seconds.
done.
Irgendwie habe ich das Gefühl, dass beim ersten Aktivieren der Schnittstelle etwas schief läuft und deshalb abgebrochen wird. Nur leider kann ich keinen Hinweis darauf in einem Logfile finden...

Danke und Gruss
Martin

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: Keine Netzwerkverbindung nach booten

Beitrag von pferdefreund » 08.02.2012 11:07:22

Liegts eventuell am dhcp - dass der zu lange braucht ? Mal mit statischer IP probiert ?

Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Re: Keine Netzwerkverbindung nach booten

Beitrag von tdc » 08.02.2012 12:25:50

Hallo zusammen
pferdefreund hat geschrieben:Liegts eventuell am dhcp - dass der zu lange braucht ? Mal mit statischer IP probiert ?
Ich hab es auch mal mit statischer Konfiguration versucht, leider mit dem selben Resultat: nach dem Booten ist eth0 down, erst nach einem manuellen "/etc/init.d/networking restart" funktioniert die Schnittstelle.

Verwendete Konfiguration:

Code: Alles auswählen

root@smartmeter:~# cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup/ifdown

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.234
netmask 255.255.255.0
Neustart der Netzwerkverbindungen:

Code: Alles auswählen

root@smartmeter:~# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...PHY: 0:1f - Link is Down
PHY: 0:1f - Link is Up - 100/Full
done.
Auch mit statischer Konfiguration ist der Link nach dem booten down...

ifconfig direkt nach booten:

Code: Alles auswählen

root@smartmeter:~# ifconfig
root@smartmeter:~#
Nicht mal das loopback device ist vorhanden!?

ifconfig direkt nach Neustart der Netzwerkverbindungen:

Code: Alles auswählen

root@smartmeter:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:c6:76:99:5d
          inet addr:192.168.1.234  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:128 (128.0 B)  TX bytes:408 (408.0 B)
Das loopback device fehlt auch hier. Könnte das Problem evtl. daran liegen, dass das lo nicht richtig funktioniert und deshalb beim Booten das Init-Skript abbricht? Wie kann ich das überprüfen?

Danke und Gruss
Martin

Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Re: Keine Netzwerkverbindung nach booten

Beitrag von tdc » 08.02.2012 16:04:29

Hallo zusammen

Ich habe inzwischen herausgefunden, dass alles funktioniert, wenn ich vor dem Starten der Interfaces dafür sorge, dass alle Interfaces down sind. Dafür habe ich das Init-Skript /etc/init.d/networking folgendermassen manipuliert:

Code: Alles auswählen

...
case "$1" in
start)
        process_options

        log_action_begin_msg "Configuring network interfaces"
        ifdown -a --exclude=lo || true
        if ifup -a --exclude=lo; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;
...
Damit funktioniert die Ethernet-Schnittstelle nach dem Booten. Leider ist diese Manipulation keine dauerhafte Lösung. Hat jemand eine Idee wieso ich beim Booten ein ifdown -a brauche? Sollten zu diesem Zeitpunkt nicht sowieso alle Interfaces down sein? Gemäss Ausgabe beim Booten ist dies auch der Fall:

Code: Alles auswählen

...
Checking file systems...fsck from util-linux-ng 2.17.2
done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Cleaning up temporary files....
Configuring network interfaces...PHY: 0:1f - Link is Down
done.
PHY: 0:1f - Link is Up - 100/Full
Cleaning up temporary files....
Setting kernel variables ...done.
...
und trotzdem funktioniert es nur mit einem ifdown -a vor dem ifup -a.

Hat jemand eine Idee woran das liegen könnte?

Danke und Gruss
Martin

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: Keine Netzwerkverbindung nach booten

Beitrag von pferdefreund » 09.02.2012 07:47:19

Ich würd mal spaßeshalber, falls vorhanden, ne andere Netzwerkkarte einbauen. Ich hab z. B das Problem gehabt,
dass ein Reboot aus Windows immer dazu führte, das auch nix ging. Da hat sich die Hardware wohl irgendwas
irgendwo gemerkt was beim Restart vom Bios nicht neu initialisiert wurde. Nach Komplett-Runterfahren geht das
Netzt immer gleich. Lösung bei mir war mke2fs /dev/hda1 und Windows war weg.

Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Re: Keine Netzwerkverbindung nach booten

Beitrag von tdc » 09.02.2012 12:51:37

Hallo Pferdefreund
pferdefreund hat geschrieben:Ich würd mal spaßeshalber, falls vorhanden, ne andere Netzwerkkarte einbauen.
Das ist leider nicht möglich, da es sich um ein Embedded System auf ARM9 Basis handelt. Probleme bereitet der integrierte FEC des iMX251. Den kann ich unmöglich austauschen. ;-)

Als Bootmanager verwende ich RedBoot, welches die Ethernetschnittstelle ebenfalls initialisiert. Könnte das der Grund für das Problem sein?

Danke und Gruss
Martin

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: Keine Netzwerkverbindung nach booten

Beitrag von pferdefreund » 10.02.2012 12:57:13

Keine Ahnung - kenne mich mit arm-hardware usw nicht aus - aber möglich ist ja bekanntlich alles,
insbesondere wenn der bootmanager die Netzwerkschnittstelle eventuell anders initialisert, wie das bei
mir zwischen Windows und LInux der Fall war. Schon mal in den Netzwerk-Startscript nen wait von ca 5 - 10 Sekunden eingebaut ?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Keine Netzwerkverbindung nach booten

Beitrag von Cae » 10.02.2012 13:16:50

Ich fasse mal zusammen: Die Netzwerkkarte wird von dem Bootloader (oder von was auch immer) so initialisiert, dass sie erst nach einem ifconfig -a wieder reagiert. Stimmt das so? Dann sollte man evtl. untersuchen, was ifconfig da genau macht.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
tdc
Beiträge: 149
Registriert: 02.10.2002 16:12:37
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schweizerischen Rheintal
Kontaktdaten:

Re: Keine Netzwerkverbindung nach booten

Beitrag von tdc » 13.02.2012 16:29:02

Hallo zusammen
Cae hat geschrieben:Ich fasse mal zusammen: Die Netzwerkkarte wird von dem Bootloader (oder von was auch immer) so initialisiert, dass sie erst nach einem ifconfig -a wieder reagiert. Stimmt das so?
Nicht ganz: Die Netzwerkkarte wird vermutlich vom Bootloader (oder was auch immer) so initialisiert, dass sie erst nach einem "ifdown -a" und einem anschliessenden "ifup -a" wieder funktioniert.
"ifconfig -a" gibt meiner Meinung nach nur den Zustand aller (auch der inaktiven) Schnittstellen aus und hat auch keinen Einfluss auf das Funktionieren der Schnittstelle auf meinem System.
Für ifdown und ifup gibt es eine Option -v, welche die Sache etwas gesprächiger machen soll. Werde die Option mal im Init-Skript ergänzen und schauen ob ich dadurch vielleicht etwas herausfinde.
pferdefreund hat geschrieben:Schon mal in den Netzwerk-Startscript nen wait von ca 5 - 10 Sekunden eingebaut ?
Ich habe mal eine Pause von 10 Sekunden (sleep 10) im Netzwerk-Startskript eingebaut. Hat leider nichts gebracht...

Danke und Gruss
Martin

Antworten