วิธีรับ Wi-Fi เพื่อเชื่อมต่อขณะบู๊ต


30

Raspberry Pi รุ่น B
OS: Raspbian

ฉันกำลังเรียกใช้หัวขาด Pi ของฉัน (ขณะนี้ผ่านการเชื่อมต่ออีเธอร์เน็ตโดยตรง) ฉันมีดองเกิล USB WiFi ฉันต้องการให้ WiFi เริ่มต้นตอนบูทและเชื่อมต่อด้วย DHCP

http://rpi.tnet.com/project/faqs/headlessportablewifiแนะนำว่าฉันไม่จำเป็นต้องเปลี่ยน/ etc / network / interfacesจากค่าเริ่มต้น:

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

ฉันได้กำหนดค่า/etc/wpa_supplicant/wpa_supplicant.confสำหรับเครือข่ายของฉันแล้ว

เมื่อฉันบูต Pi, WiFi จะไม่เชื่อมต่อทันที แต่ถ้าฉัน SSH ในและทำงานsudo ifup wlan0Pi เชื่อมต่อได้ดี

นี่ไม่ใช่สิ่งที่ Pi ควรทำในกระบวนการบู๊ตของตัวเองใช่ไหม ฉันน่าจะเขียนบอก dotfile ให้รันคำสั่งนี้ แต่ฉันต้องการที่จะทำวิธีที่เหมาะสม (และเรียนรู้วิธีการทำงานของระบบของฉัน)

ฉันรู้ว่าฉันสามารถตั้งค่าที่อยู่ IP แบบคงที่สำหรับเครือข่าย WiFi แต่ละเครือข่ายที่ฉันต้องการใช้: จะตั้งค่าเครือข่าย WiFi หลายเครือข่ายได้อย่างไร . แต่ฉันต้องการที่จะมีวิธีแก้ปัญหาง่ายๆที่ฉันจะต้องป้อนสองบรรทัดใน/etc/wpa_supplicant/wpa_supplicant.confเพื่อเพิ่มเครือข่าย WiFi ใหม่

ชิ้นส่วนที่ฉันขาดหายไปคืออะไรที่นี่?

คำตอบ:


24

การกำหนดค่า Raspbian / etc / network / interfacesเริ่มต้นไม่ได้เชื่อมต่อกับ WiFi ในการบู๊ต บรรทัดสำคัญของอินเตอร์เฟส man-page คือ:

บรรทัดที่ขึ้นต้นด้วยคำว่า "auto" ใช้เพื่อระบุอินเตอร์เฟสแบบฟิสิคัลที่จะแสดงขึ้นเมื่อ ifup ถูกรันด้วยอ็อพชัน -a (ตัวเลือกนี้ใช้โดยสคริปต์การบูตระบบ)

...

บรรทัดที่ขึ้นต้นด้วยคำว่า "auto" ใช้เพื่อระบุอินเตอร์เฟสแบบฟิสิคัลที่จะแสดงขึ้นเมื่อ ifup ถูกรันด้วยอ็อพชัน -a (ตัวเลือกนี้ใช้โดยสคริปต์การบูตระบบ)

auto wlan0ชิ้นแรกที่ขาดหายไปเป็นบรรทัด เท่าที่ฉันรู้มันสามารถไปได้ทุกที่ในไฟล์

ใช้งานได้จนกว่าคุณจะลองบูตโดยไม่ต้องเสียบสายอีเธอร์เน็ตจากนั้น WiFi จะไม่เชื่อมต่อขณะบู๊ตและจะต้องเปิดทำงานด้วยตนเองโดยการเรียกใช้sudo ifup wlan0หรือถอดปลั๊กและเสียบ Dongle Wi-Fi อีกครั้ง

ปัญหาเกิดจากifplugd daemon ซึ่งเปิดและปิดอุปกรณ์เครือข่ายเมื่อคุณเสียบเข้าหรือถอดออก คุณสามารถกำหนดค่าใหม่หรือลบออกได้sudo apt-get purge ifplugdง่ายๆ

หากคุณลบifplugdคุณควรเพิ่มบรรทัดต่อไปนี้ใน/ etc / network / interfacesเพื่อให้การเชื่อมต่ออีเธอร์เน็ตจะเชื่อมต่อเมื่อเสียบปลั๊ก:

auto eth0
allow-hotplug eth0

ฉันไม่แน่ใจว่า autoบรรทัดนั้นจำเป็นหรือไม่หรือหาก hotplug จัดการกับการบูทอย่างถูกต้องในกรณีที่ไม่มีifplugdแต่วิธีนี้ใช้ได้สำหรับฉัน

ไฟล์ทำงานของฉันอ่าน:

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

2
คุณพิมพ์ผิดที่ "auth eth0" หรือไม่? ควรเป็น "auto eth0" หรือไม่
Jordan Sitkin

2
การแก้ไขเล็กน้อยของโพสต์ @katriel: บริการที่จำเป็นต้องลบออกเรียกว่าifplugdไม่ใช่ifupd
dh1tw

@ DH1TW และอีกหกเดือนต่อมา ... ฉันจะไม่เขียนสิ่งเหล่านี้จากความทรงจำอีกเลย
katriel

สำหรับบันทึกฉันใช้ wpa_supplicant ดังนั้นฉันจึงเปิดใช้งานบริการsudo systemctl enable wpa_supplicant.service
Daniel Argüelles

0

ผมมีปัญหาเหมือนกัน. ตรวจสอบ / w การตั้งค่า R /etc/network/interfacesของคุณ

ฉันทำchmod 600 /etc/network/interfacesและปัญหาของฉันก็หายไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.