Bagaimana cara mendapatkan Wi-Fi untuk terhubung saat boot?

30

Raspberry Pi Model B
OS: Raspbian

Saya menjalankan Pi tanpa kepala (saat ini melalui koneksi Ethernet langsung). Saya memiliki dongle WiFi USB. Saya ingin agar WiFi memulai saat boot dan terhubung dengan DHCP.

http://rpi.tnet.com/project/faqs/headlessportablewifi menyarankan agar saya tidak perlu mengubah /etc/ network / interfaces dari default:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Saya telah mengkonfigurasi /etc/wpa_supplicant/wpa_supplicant.conf untuk jaringan saya.

Ketika saya mem-boot Pi, WiFi tidak langsung terhubung. Tetapi jika saya menjalankan dan menjalankan SSH sudo ifup wlan0, Pi terhubung dengan baik.

Bukankah ini sesuatu yang harus dilakukan Pi dalam proses bootnya sendiri? Saya mungkin bisa menulis surel beberapa dotfile untuk menjalankan perintah ini, tetapi saya ingin melakukannya dengan cara yang benar (dan belajar bagaimana sistem saya bekerja).

Saya tahu saya juga dapat mengatur alamat IP statis untuk setiap jaringan WiFi yang ingin saya gunakan: Bagaimana cara mengatur beberapa jaringan WiFi? . Tapi saya lebih suka memiliki solusi sederhana di mana saya hanya perlu memasukkan beberapa baris di /etc/wpa_supplicant/wpa_supplicant.conf untuk menambahkan jaringan WiFi baru.

Potongan apa yang saya lewatkan di sini?

katriel
sumber

Jawaban:

24

Konfigurasi Raspbian / etc / network / interface default tidak terhubung ke WiFi saat boot. Baris-baris kunci dari man-page interface adalah:

Baris yang diawali dengan kata "auto" digunakan untuk mengidentifikasi antarmuka fisik yang akan muncul ketika ifup dijalankan dengan opsi -a. (Opsi ini digunakan oleh skrip boot sistem.)

...

Baris yang diawali dengan kata "auto" digunakan untuk mengidentifikasi antarmuka fisik yang akan muncul ketika ifup dijalankan dengan opsi -a. (Opsi ini digunakan oleh skrip boot sistem.)

Bagian yang hilang pertama adalah garis auto wlan0. Sejauh yang saya tahu, itu bisa pergi ke mana saja dalam file.

Itu berfungsi sampai Anda mencoba mem-boot tanpa kabel ethernet terpasang. Kemudian, WiFi tidak terhubung saat boot dan harus dipicu secara manual dengan menjalankan sudo ifup wlan0atau mencabut dan memasukkan kembali dongle Wi-Fi.

Masalahnya disebabkan oleh daemon ifplugd , yang menghidupkan dan mematikan perangkat jaringan saat Anda mencolokkan atau menghapusnya. Anda dapat mengonfigurasi ulang, atau menghapusnya dengan sudo apt-get purge ifplugd.

Jika Anda telah menghapus ifplugd , Anda harus menambahkan baris berikut ke / etc / network / interfaces sehingga koneksi ethernet juga akan terhubung ketika dicolokkan:

auto eth0
allow-hotplug eth0

Saya tidak yakin apakah autojalurnya benar-benar diperlukan atau apakah hotplug menangani booting dengan benar tanpa adanya ifplugd , tetapi ini berhasil bagi saya.

File kerja saya berbunyi:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
katriel
sumber
2
Anda salah ketik di "auth eth0"? haruskah itu "auto eth0"?
Jordan Sitkin
2
koreksi kecil posting @katriel: Layanan yang perlu dihapus disebut ifplugd dan bukan ifupd
dh1tw
@ DH1TW dan enam bulan kemudian ... Saya tidak akan pernah menulis satu pun dari ini dari memori lagi
katriel
Sebagai catatan, saya menggunakan wpa_supplicant jadi saya hanya mengaktifkan layanansudo systemctl enable wpa_supplicant.service
Daniel Argüelles
0

Saya memiliki masalah yang sama. Periksa pengaturan r / w dari ponsel Anda /etc/network/interfaces.

Saya lakukan chmod 600 /etc/network/interfacesdan masalah saya hilang.

Gero
sumber