Beim Booten Verzweigung ob Ethernet oder Wlan

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
CBM
Beiträge: 141
Registriert: 07.07.2009 08:01:28

Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von CBM » 13.08.2009 19:20:35

Hallo,
ich möchte gerne nochmals das Thema aus dem Thread http://debianforum.de/forum/viewtopic.php?f=30&t=111875 aufbringen, da ich denke eine richtige Lösung ist noch nicht gegeben.

Ich habe in meiner /etc/interfaces zwei auto-Einträge:
1x fürs Ethernet und dann dahinter 1x fürs Wlan.
Dumm ist nun, hängt die Kiste nicht am Ethernet braucht Sie beim Booten ewig, da kein Ethernet gefunden wird.

Theoretischer Ansätze:
- Beim Booten erfolgt eine Abfrage im Sinne von: "[E]thernet oder [W]lan Schnittstelle starten:" und man tippt selbst E oder W ein.
oder
- Beim Booten checkt das System kurz selbst, ob die Kiste überhaupt an einem Kabel hängt, falls nicht, dann geht's gleich weiter zum Wlan (aber wahrscheinlich ist dies genau das, was die Kiste aktuell macht und nun mal seine Zeit braucht)

Habe natürlich schon geschaut und die manuals für interfaces und ifup durchgelesen. Ich gehen mal davon aus, direkt kann man sowas nicht in die /etc/interfaces reinschreiben. Glaubt ihr, man könnte sowas über pre-up <command> lösen? Oder muss ich die Datei /etc/interfaces ganz vergessen und irgendwie ifups einzeln aufrufen? Habe natürlich aktuell weder beim Einen, noch beim Anderen eine Plan wie das dann umgesetzt wird ... aber es wäre ja schon mal gut zu wissen in welche Richtung man gehen kann/sollte.

Hier noch meine etc/interfaces

Code: Alles auswählen

auto lo
iface lo inet loopback

######## Typische ethernet interface mit dhcp
auto eth0
iface eth0 inet dhcp

####### Wlan
auto wlan0
iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface Privat inet dhcp
iface Oeffentlich inet dhcp
und nochmals zur Verdeutlichung, was beim Booten der Zeitfresser ist:

Code: Alles auswählen

DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
----------------
Dateiserver: Eigenbau; Gigabit-Lan, Sata-600, AMD Athlon
Mail und Mediaserver: Raspberry Pi
Modem: ne' Kiste gestellt von UnityMedia (suche noch nach alternativen)
Router: TP-Link, mit dd-WRT geflasht
Arbeitscomputer: Eigenbau; Gigabit-Lan, Sata-600, AMD Phenom II

Benutzeravatar
The Hit-Man
Beiträge: 2253
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von The Hit-Man » 13.08.2009 19:24:35

nehm doch den wicd. das teil rennt als deamon und schaut nach, was am besten eingestellt werden soll.
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

zephyr02
Beiträge: 84
Registriert: 03.02.2009 21:21:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: München

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von zephyr02 » 13.08.2009 19:55:12

Versuch mal

Code: Alles auswählen

allow-hotplug eth0
allow-hotplug wlan0
anstatt "auto". So ganz klar ist mir leider auch nicht, wo der Unterschied zwischen den beiden ist (siehe auch meinen Thread hier: http://debianforum.de/forum/viewtopic.php?f=30&t=113016), aber bei mir funktioniert mit der allow-hotplug Variante derzeit alles recht gut.

Code: Alles auswählen

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

# The wireless network interface
allow-hotplug eth1
iface eth1 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

# Logical devices used by wpa-roam
# no id_str, 'default' is used as the fallback mapping target
iface default inet dhcp
zr.

CBM
Beiträge: 141
Registriert: 07.07.2009 08:01:28

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von CBM » 14.08.2009 20:30:01

yo ...
habe wie vorgeschlagen "auto" durch allow-hotplug beim Ethernet- und Wlan-Eintrag ausgetauscht. Booten ist jetzt um ein Vielfaches schneller und Wlan ist gleich da. Ich gehe mal davon aus, dass Ethernet auch gleicht geht. Probiere ich demnächst aus.

Würde mich jetzt aber schon interessieren, was ich da gemacht habe und wo der Unterschied zwischen auto und allow-hotplug liegt. Untersützte also die Anfrage von zephyr02.

Danke auch an zephyr02 für den Tipp. :D :D
----------------
Dateiserver: Eigenbau; Gigabit-Lan, Sata-600, AMD Athlon
Mail und Mediaserver: Raspberry Pi
Modem: ne' Kiste gestellt von UnityMedia (suche noch nach alternativen)
Router: TP-Link, mit dd-WRT geflasht
Arbeitscomputer: Eigenbau; Gigabit-Lan, Sata-600, AMD Phenom II

chr.gogolin
Beiträge: 441
Registriert: 12.10.2005 23:09:28
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von chr.gogolin » 14.08.2009 23:24:25

Ich habe das früher auch mit dem allow-hotplug-Trick gelöst. Warum das geht weiß ich aber auch nicht...

Inzwischen verwende ich 'ifplugd'. Damit kann man dann auch gleich das wlan beim einstecken des Kabels aus, und beim Abziehen wieder ein schalten lassen. In Verbindung mit wpa_supplicant im roaming Modus bekommt man so immer ein ideal konfiguriertes wlan auch wenn man ohne neu zu starten zwischen verschiedensten Netzwerken wechselt. Wenn Interesse besteht erkläre ich gerne wie das geht.
"Linux supports the notion of a command line or a shell for the same reason that only children read books with only pictures in them." - Bill Garrett

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von herrchen » 15.08.2009 06:08:39

Beim Booten checkt das System kurz selbst, ob die Kiste überhaupt an einem Kabel hängt
*untested*:
Sieh' Dir doch mal das Paket "ifupdown-extra" an.

herrchen

debianoli
Beiträge: 4171
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von debianoli » 15.08.2009 10:40:23

CBM hat geschrieben:Würde mich jetzt aber schon interessieren, was ich da gemacht habe und wo der Unterschied zwischen auto und allow-hotplug liegt. Untersützte also die Anfrage von zephyr02.
Gugst du man-Page: man interfaces

Code: Alles auswählen

...
       Lines beginning with the word "auto" are used to identify the physical interfaces to be brought up when ifup is run with the -a  option.   (This
       option  is  used  by  the system boot scripts.)  Physical interface names should follow the word "auto" on the same line.  There can be multiple
       "auto" stanzas.  ifup brings the named interfaces up in the order listed.

       Lines beginning with "allow-" are used to identify interfaces that should be brought up automatically by various subsytems.  This  may  be  done
       using a command such as "ifup --allow=hotplug eth0 eth1", which will only bring up eth0 or eth1 if it is listed in an "allow-hotplug" line. Note
       that "allow-auto" and "auto" are synonyms.
...
Also, da steht, dass bei Auto die Interfaces von den Boot-Scripts gestartet werden. Daher hängt das System dann immer während des Bootens ewig rum, wenn keine Verbindung aufgebaut werden kann. Bei allow-hotplug dagegen machen das irgendwelche Subsysteme, die später, also auch gegen Ende des Boot-Vorgangs laufen (welche das sind? Keine Ahnung).

Aber die einfachste Lösung für dein Problem ist und bleibt der wicd. Mit dem Programm bin ich mehr als zufrieden.

grüße
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!

zephyr02
Beiträge: 84
Registriert: 03.02.2009 21:21:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: München

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von zephyr02 » 15.08.2009 10:53:02

debianoli hat geschrieben:
CBM hat geschrieben:Würde mich jetzt aber schon interessieren, was ich da gemacht habe und wo der Unterschied zwischen auto und allow-hotplug liegt. Untersützte also die Anfrage von zephyr02.
Gugst du man-Page: man interfaces

Code: Alles auswählen

...
       Lines beginning with the word "auto" are used to identify the physical interfaces to be brought up when ifup is run with the -a  option.   (This
       option  is  used  by  the system boot scripts.)  Physical interface names should follow the word "auto" on the same line.  There can be multiple
       "auto" stanzas.  ifup brings the named interfaces up in the order listed.

       Lines beginning with "allow-" are used to identify interfaces that should be brought up automatically by various subsytems.  This  may  be  done
       using a command such as "ifup --allow=hotplug eth0 eth1", which will only bring up eth0 or eth1 if it is listed in an "allow-hotplug" line. Note
       that "allow-auto" and "auto" are synonyms.
...
Also, da steht, dass bei Auto die Interfaces von den Boot-Scripts gestartet werden. Daher hängt das System dann immer während des Bootens ewig rum, wenn keine Verbindung aufgebaut werden kann. Bei allow-hotplug dagegen machen das irgendwelche Subsysteme, die später, also auch gegen Ende des Boot-Vorgangs laufen (welche das sind? Keine Ahnung).

Aber die einfachste Lösung für dein Problem ist und bleibt der wicd. Mit dem Programm bin ich mehr als zufrieden.

grüße
Da steht auch, dass allow-hotplug von diversen Subsystemen aufgerufen werden kann, aber nicht, wann und durch welchen Prozess dies geschieht. Genau darauf bezog sich aber die Frage...! Insbesondere scheinen Interfaces mit "allow-hotplug" auch während des Bootprozesses geladen zu werden (allerdings ohne das lästige Warten, falls diese nicht vorhanden sind). Daher die Frage, wo nun der Unterschied zwischen allow-hotplug und allow-auto liegt. Das geht m.E. aus der bereits zuvor zitierten man-page nicht hervor.

zr.

debianoli
Beiträge: 4171
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von debianoli » 15.08.2009 11:02:59

zephyr02 hat geschrieben:Da steht auch, dass allow-hotplug von diversen Subsystemen aufgerufen werden kann, aber nicht, wann und durch welchen Prozess dies geschieht. Genau darauf bezog sich aber die Frage...! Insbesondere scheinen Interfaces mit "allow-hotplug" auch während des Bootprozesses geladen zu werden (allerdings ohne das lästige Warten, falls diese nicht vorhanden sind). Daher die Frage, wo nun der Unterschied zwischen allow-hotplug und allow-auto liegt. Das geht m.E. aus der bereits zuvor zitierten man-page nicht hervor.
Eigentlich steht da schon, was passiert. Schau dir doch mal die Scripts der verschiedene Runlevel an, also was zB in /etc/rc1.d steht und sich nach network anhört. Da könntest du die Antwort auf deine Frage finden.

grüße
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!

zephyr02
Beiträge: 84
Registriert: 03.02.2009 21:21:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: München

Re: Beim Booten Verzweigung ob Ethernet oder Wlan

Beitrag von zephyr02 » 15.08.2009 11:27:07

debianoli hat geschrieben:
zephyr02 hat geschrieben:Da steht auch, dass allow-hotplug von diversen Subsystemen aufgerufen werden kann, aber nicht, wann und durch welchen Prozess dies geschieht. Genau darauf bezog sich aber die Frage...! Insbesondere scheinen Interfaces mit "allow-hotplug" auch während des Bootprozesses geladen zu werden (allerdings ohne das lästige Warten, falls diese nicht vorhanden sind). Daher die Frage, wo nun der Unterschied zwischen allow-hotplug und allow-auto liegt. Das geht m.E. aus der bereits zuvor zitierten man-page nicht hervor.
Eigentlich steht da schon, was passiert. Schau dir doch mal die Scripts der verschiedene Runlevel an, also was zB in /etc/rc1.d steht und sich nach network anhört. Da könntest du die Antwort auf deine Frage finden.

grüße
Hm, ja, das stimmt. Allerdings bleibt die Schnellsuche mittels grep ohne Treffer.

Code: Alles auswählen

$ grep hotplug /etc/rc0.d/S15wpa-ifupdown /etc/rc0.d/S35networking 
$ grep auto /etc/rc0.d/S15wpa-ifupdown /etc/rc0.d/S35networking 
Andere Bootskripte, die mit dem Network zusammen hängen, sehe ich derzeit nicht:

Code: Alles auswählen

$ ls /etc/rc0.d/S*
/etc/rc0.d/S15wpa-ifupdown  /etc/rc0.d/S31umountnfs.sh  /etc/rc0.d/S60umountroot
/etc/rc0.d/S20sendsigs      /etc/rc0.d/S35networking    /etc/rc0.d/S90halt
/etc/rc0.d/S30rsyslog       /etc/rc0.d/S36ifupdown
/etc/rc0.d/S30urandom       /etc/rc0.d/S40umountfs

$ ls /etc/rc1.d/S*
/etc/rc1.d/S30killprocs  /etc/rc1.d/S70bootlogs  /etc/rc1.d/S90single

$ ls /etc/rc2.d/S*
/etc/rc2.d/S05loadcpufreq   /etc/rc2.d/S20smartmontools  /etc/rc2.d/S99acpi-support
/etc/rc2.d/S10rsyslog       /etc/rc2.d/S70bootlogs       /etc/rc2.d/S99rc.local
/etc/rc2.d/S12acpid         /etc/rc2.d/S89anacron        /etc/rc2.d/S99rmnologin
/etc/rc2.d/S19cpufrequtils  /etc/rc2.d/S89cron           /etc/rc2.d/S99stop-bootlogd
Natürlich könnte ich mir jetzt alle Skripte ansehen, die wiederum von einem der Startskripte gestartet werden. Irgendwo muss natürlich die Antwort stehen. Jedoch kann sich die Suche sehr weit verzweigen. Außerdem finde ich, dass man bei einer Standardoption (allow-hotplug wird bei der Installation gesetzt) nicht erst durch Code suchen sollte, um zu wissen, was diese genau bewirkt.

zr.

Antworten