Ho sempre bisogno di ifdown / ifup wlan0 dopo il riavvio


8

Sto cercando di creare un wifi ad hoc composto da 5 computer (un PC Windows e 4 Raspberry Pi sono caricati con una raspbian). Il raspberry pi parlerà attraverso mqtt, ma non è questo il punto. Il problema che ho è che devo sempre fare quanto segue per avere l' wlan0interfaccia dopo ogni riavvio:

sudo ifdown wlan0
sudo ifup wlan0

Sai perché? Ecco il mio conf (lo stesso su ogni pi tranne ovviamente l'indirizzo IP!)

~ % 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

Qualche idea?

Sembra funzionare, ma non sempre - come 1 avvio su 10, davvero strano ?!


È questa l'impostazione dopo il down / up o prima?
ott--

dopo, prima wlan0non ha ip
xavier.seignard

non riesco a vedere come sta capendo l'IP gateway? forse prova ad aggiungere gateway 192.168.1.254direttamente sotto la netmask 255.255.255.0riga nel tuo /etc/network/interfacesfile
mulllhausen

Risposte:


7

Hai provato una delle soluzioni di seguito? Devo indovinare la risposta qui poiché il problema non è facile da riprodurre, potrebbe essere un problema con il driver che hai.

  1. Nel file delle interfacce prova a commentare "auto wlan0" e tieni semplicemente "allow-hotplug wlan0"

    #auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    
  2. Probabilmente non è la soluzione ideale che stai cercando, ma prova a creare un nuovo script di shell con privilegi di esecuzione nella tua directory di script preferita con il seguente contenuto.

    ifdown wlan0 
    ifup wlan0 
    

    Quindi aggiungere la seguente riga al file delle interfacce.

    auto wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    post-up /path-to-your-script/script.sh
    
  3. All'avvio del computer senza la connessione wireless attiva. Prova a giocherellare con iwconfigparametri diversi (prova man iwconfig per ottenere un elenco completo) fino a quando non viene visualizzata l'interfaccia. Immagino che potrebbe essere una txpowersorta di interruttore che potrebbe aiutarti qui. Se funziona per te, usa il pre-up <command-that-worked>tuo file interfacce come nella seconda risposta e lascia lì il comando.

    Quindi qualcosa di simile alla fine (ricordati di passare percorsi assoluti a (pre | post) -up

    pre-up /sbin/iwconfig wlan0 txpower on
    

Ciao, grazie per la risposta completa! Ho provato la prima soluzione senza successo. La soluzione alternativa che utilizzo è la soluzione 2, l'ho aggiunta /etc/rc.local. Dovrei provare la terza soluzione che stai dando. Grazie!
xavier.seignard,

una delle soluzioni sopra ha funzionato per te? se sei riuscito a risolvere il problema, condividi .. grazie
Purinda Gunasekara,

ciao, non ho ancora provato il terzo, lo proverò la prossima settimana
xavier.seignard

La soluzione 1 ha funzionato per me.
dgmdan,

3

Esattamente lo stesso problema qui. Il problema era un problema di temporizzazione: wlan0 non era pronto quando il processo di avvio ha emesso il file ifup.

Ho risolto questo aggiungendo un'istruzione wait pre-up sleep 5a wlan0 nel file interfaces:

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

0

Forse vuoi usare diverse reti "locali" per le interfacce eth0 e wlan0.

Quindi per wlan usa network come 10.10.0.1, mask 255.255.255.0 E per eth usa network come 192.168.0.1, mask255.255.255.0

Non ho avuto questo problema su RPI (probabilmente perché mantengo sempre diversi gli IP di rete wlan0 ed eth0). Ma sul mio PC Windows ho sempre questo problema: quando uso il wireless con 192.168.1.xe poi mi collego alla porta Ethernet, ad esempio il mio rasbperry con 192.168.0.xindirizzo (attenzione al 3 ° ottetto), perdo sempre la connessione di rete.


0

Rimuovere il commento auto eth0, auto eth1o auto wlanper l'interfaccia che si desidera venire all'avvio del unità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.