Saya selalu perlu ifdown / ifup wlan0 setelah reboot

8

Saya mencoba membuat wifi ad-hoc yang terbuat dari 5 komputer (satu PC Windows dan 4 raspberry pi dimuat dengan raspbian). Pi raspberry akan berbicara melalui mqtt, tapi bukan itu intinya. Masalah yang saya miliki adalah bahwa saya selalu perlu melakukan hal berikut untuk memiliki wlan0antarmuka setelah setiap reboot:

sudo ifdown wlan0
sudo ifup wlan0

Apa kamu tahu kenapa? Inilah conf saya (sama pada setiap pi kecuali alamat IP jelas!)

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

Ada ide?

Tampaknya bekerja, tetapi tidak selalu - seperti 1 boot dari 10, benar-benar aneh ?!

xavier.seignard
sumber
Apakah itu pengaturan setelah turun / naik atau sebelumnya?
ott--
setelah, sebelumnya wlan0tidak memiliki ip
xavier.seignard
saya tidak bisa melihat bagaimana mencari tahu ip gateway? mungkin coba tambahkan gateway 192.168.1.254langsung di bawah netmask 255.255.255.0baris dalam /etc/network/interfacesfile Anda
mulllhausen

Jawaban:

7

Sudahkah Anda mencoba salah satu solusi di bawah ini? Saya harus menebak jawabannya di sini karena masalahnya tidak mudah direproduksi, mungkin ada masalah dengan driver yang Anda dapatkan.

  1. Dalam file antarmuka coba beri komentar "auto wlan0" dan teruskan "allow-hotplug wlan0"

    #auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    
  2. Mungkin bukan solusi ideal yang Anda cari, tetapi cobalah membuat skrip shell baru dengan menjalankan hak istimewa dalam direktori skrip favorit Anda dengan konten berikut.

    ifdown wlan0 
    ifup wlan0 
    

    Kemudian tambahkan baris berikut ke file antarmuka Anda.

    auto wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    post-up /path-to-your-script/script.sh
    
  3. Saat komputer Anda dinyalakan tanpa koneksi nirkabel aktif. Cobalah mengutak-atik dengan iwconfigparameter yang berbeda (coba man iwconfig untuk mendapatkan daftar lengkap) sampai antarmuka Anda muncul. Saya kira mungkin txpowersemacam saklar dapat membantu Anda di sini. Jika itu berhasil, gunakan pre-up <command-that-worked>di file antarmuka Anda seperti pada jawaban ke-2 dan tinggalkan perintah di sana.

    Jadi sesuatu seperti ini di akhir (ingat untuk melewati jalur absolut ke (pra | posting) -tingginya

    pre-up /sbin/iwconfig wlan0 txpower on
    
Purinda Gunasekara
sumber
Hai, terima kasih untuk jawaban lengkapnya! Saya mencoba solusi pertama tanpa hasil. Solusi yang saya gunakan adalah solusi 2, saya menambahkannya /etc/rc.local. Saya harus mencoba solusi ketiga yang Anda berikan. Terima kasih!
xavier.seignard
apakah solusi di atas bekerja untuk Anda? jika Anda telah berhasil menyelesaikan masalah, silakan bagikan .. terima kasih
Purinda Gunasekara
hai, saya belum mencoba yang ketiga, saya akan coba minggu depan
xavier.seignard
Solusi 1 bekerja untuk saya.
dgmdan
3

Masalah yang sama persis di sini. Masalahnya adalah masalah waktu: wlan0 tidak siap ketika proses boot mengeluarkan ifup.

Saya memecahkan ini dengan menambahkan pernyataan tunggu pre-up sleep 5ke wlan0 di file antarmuka:

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
マ ル ち ゃ ん だ よ
sumber
0

Mungkin Anda ingin menggunakan jaringan "lokal" yang berbeda untuk antarmuka eth0 dan wlan0.

Jadi untuk wlan gunakan network like 10.10.0.1, mask 255.255.255.0 dan untuk eth use network like 192.168.0.1, mask255.255.255.0

Saya belum punya masalah ini pada RPI (mungkin karena saya selalu menjaga IP jaringan wlan0 dan eth0 sangat berbeda). Tetapi pada PC windows saya, saya memiliki masalah ini sepanjang waktu: Ketika saya menggunakan nirkabel dengan 192.168.1.xdan kemudian saya pasang ke port ethernet, misalnya rasbperry saya dengan 192.168.0.xalamat (ingat 3 oktet), saya selalu kehilangan koneksi jaringan.

Dimitry K
sumber
0

Batalkan komentar auto eth0, auto eth1atau auto wlanuntuk antarmuka yang ingin Anda tampilkan ketika unit melakukan booting.

Clowen
sumber