Ich muss nach dem Neustart immer ifdown / ifup wlan0

8

Ich versuche, ein Ad-hoc-WLAN aus 5 Computern zu erstellen (ein Windows-PC und 4 Himbeer-Pi, die mit einem Raspbian geladen sind). Der Himbeer-Pi wird durch mqtt sprechen, aber das ist nicht der Punkt. Das Problem, das ich habe, ist, dass ich immer Folgendes tun muss, um die wlan0Schnittstelle nach jedem Neustart zu haben:

sudo ifdown wlan0
sudo ifup wlan0

Wissen Sie, warum? Hier ist mein conf (das gleiche auf jedem pi außer der IP-Adresse offensichtlich!)

~ % ifconfig                 
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ff:88:99  
          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:951 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:66321 (64.7 KiB)  TX bytes:43663 (42.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:0f:13:51:05:8c  
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:2520 (2.4 KiB)

~ % iwconfig
wlan0     IEEE 802.11bgn  ESSID:"mirroir"  
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 42:B1:44:EB:D2:C1   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

lo        no wireless extensions.

eth0      no wireless extensions.


~ % more /etc/network/interfaces 
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid mirroir
    wireless-mode ad-hoc
    wireless-key 967136deac

~ % sudo route add -net 192.168.0.0 netmask 255.255.255.0 wlan0

~ % netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.254   0.0.0.0         UG        0 0          0 eth0
192.168.0.0     *               255.255.255.0   U         0 0          0 wlan0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

Irgendeine Idee?

Es scheint zu funktionieren, aber nicht immer - wie 1 Boot von 10, wirklich komisch?!

xavier.seignard
quelle
Ist das die Einstellung nach dem Down / Up oder vorher?
ott--
danach, vorher wlan0hat keine ip
xavier.seignard
Ich kann nicht sehen, wie es die Gateway-IP herausfindet. Vielleicht versuchen Sie es gateway 192.168.1.254direkt unter der netmask 255.255.255.0Zeile in Ihrer /etc/network/interfacesDatei
Mulllhausen

Antworten:

7

Haben Sie eine der folgenden Lösungen ausprobiert? Ich muss die Antwort hier erraten, da das Problem nicht einfach zu reproduzieren ist und möglicherweise ein Problem mit dem Treiber ist, den Sie haben.

  1. Versuchen Sie in der Interfaces-Datei, "auto wlan0" zu kommentieren, und behalten Sie einfach "allow-hotplug wlan0" bei.

    #auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    
  2. Wahrscheinlich nicht die ideale Lösung, nach der Sie suchen, aber versuchen Sie, ein neues Shell-Skript mit Ausführungsberechtigungen in Ihrem bevorzugten Skriptverzeichnis mit dem folgenden Inhalt zu erstellen.

    ifdown wlan0 
    ifup wlan0 
    

    Fügen Sie dann die folgende Zeile zu Ihrer Schnittstellendatei hinzu.

    auto wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    post-up /path-to-your-script/script.sh
    
  3. Wenn Ihr Computer ohne aktive drahtlose Verbindung gestartet wird. Versuchen Sie, iwconfigmit verschiedenen Parametern zu experimentieren (versuchen Sie es mit man iwconfig, um eine vollständige Liste zu erhalten), bis Ihre Benutzeroberfläche angezeigt wird. Ich denke, eine txpowerArt Schalter könnte Ihnen hier helfen. Wenn das für Sie funktioniert, verwenden Sie es pre-up <command-that-worked>in Ihrer Schnittstellendatei wie in der zweiten Antwort und lassen Sie den Befehl dort.

    Also so etwas am Ende (denken Sie daran, absolute Pfade an (pre | post) -up zu übergeben

    pre-up /sbin/iwconfig wlan0 txpower on
    
Purinda Gunasekara
quelle
Hallo, danke für diese vollständige Antwort! Ich habe die erste Lösung ohne Erfolg ausprobiert. Die Problemumgehung, die ich verwende, ist die Lösung 2, die ich hinzugefügt habe /etc/rc.local. Ich sollte es mit der dritten Lösung versuchen, die Sie geben. Vielen Dank!
xavier.seignard
Hat eine der oben genannten Lösungen für Sie funktioniert? Wenn Sie es geschafft haben, das Problem zu lösen, teilen Sie bitte .. danke
Purinda Gunasekara
Hallo, ich habe den dritten noch nicht ausprobiert, ich werde es nächste Woche versuchen
xavier.seignard
Lösung 1 hat bei mir funktioniert.
dgmdan
3

Genau das gleiche Problem hier. Das Problem war ein Zeitproblem: wlan0 war nicht bereit, als der Startvorgang das ausgab ifup.

Ich habe dieses pre-up sleep 5Problem gelöst, indem ich wlan0 in der Interfaces-Datei eine wait-Anweisung hinzugefügt habe:

marcelo@breeze:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
  pre-up sleep 5 
  address 10.0.0.42
  netmask 255.255.255.0
  gateway 10.0.0.2
  dns-nameservers 10.0.0.2
  wpa-ssid mycoolssid
  wpa-psk returnguantanamo
マ ル ち ゃ ん だ よ
quelle
0

Vielleicht möchten Sie verschiedene "lokale" Netzwerke für die eth0-Schnittstellen und wlan0 verwenden.

Also für wlan netzwerkähnliche 10.10.0.1Maske verwenden 255.255.255.0 und für eth netzwerkähnliche 192.168.0.1Maske verwenden255.255.255.0

Ich hatte dieses Problem bei RPI nicht (wahrscheinlich, weil ich die Netzwerk-IPs von wlan0 und eth0 immer sehr unterschiedlich halte). Aber auf meinem Windows-PC habe ich ständig dieses Problem: Wenn ich WLAN mit 192.168.1.xund dann an den Ethernet-Port anschließe, zum Beispiel mein Rasbperry mit 192.168.0.xAdresse (beachten Sie das 3. Oktett), verliere ich immer die Netzwerkverbindung.

Dimitry K.
quelle
0

Kommentar entfernen oder für die Schnittstelle, die beim Booten des Geräts angezeigt werden auto eth0soll .auto eth1auto wlan

Clowen
quelle