Làm cách nào để có Wi-Fi để kết nối khi khởi động?


30


Hệ điều hành Raspberry Pi Model B : Raspbian

Tôi đang chạy Pi không đầu (hiện tại thông qua kết nối Ethernet trực tiếp). Tôi có một USB WiFi dongle. Tôi muốn có WiFi khởi động khi khởi động và kết nối bằng DHCP.

http://rpi.tnet.com/project/faqs/headlessportablewifi đề xuất rằng tôi không cần thực sự thay đổi / etc / network / giao diện từ mặc định:

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

Tôi đã định cấu hình /etc/wpa_supplicant/wpa_supplicant.conf cho mạng của mình.

Khi tôi khởi động Pi, WiFi không kết nối ngay lập tức. Nhưng nếu tôi SSH vào và chạy sudo ifup wlan0, Pi kết nối tốt.

Đây không phải là điều mà Pi nên làm trong quá trình khởi động của chính nó sao? Tôi có thể viết thư cho một số dotfile để chạy lệnh này, nhưng tôi muốn thực hiện nó theo cách thích hợp (và tìm hiểu cách hệ thống của tôi hoạt động).

Tôi biết tôi cũng có thể đặt địa chỉ IP tĩnh cho mỗi mạng WiFi tôi muốn sử dụng: Cách thiết lập nhiều mạng WiFi? . Nhưng tôi muốn có một giải pháp đơn giản trong đó tôi chỉ phải nhập một vài dòng trên /etc/wpa_supplicant/wpa_supplicant.conf để thêm mạng WiFi mới.

Mảnh tôi đang thiếu ở đây là gì?

Câu trả lời:


24

Cấu hình Raspbian / etc / network / giao diện mặc định không kết nối với WiFi khi khởi động. Các dòng chính của trang man giao diện là:

Các dòng bắt đầu bằng từ "tự động" được sử dụng để xác định các giao diện vật lý sẽ được đưa lên khi ifup được chạy với tùy chọn -a. (Tùy chọn này được sử dụng bởi các tập lệnh khởi động hệ thống.)

...

Các dòng bắt đầu bằng từ "tự động" được sử dụng để xác định các giao diện vật lý sẽ được đưa lên khi ifup được chạy với tùy chọn -a. (Tùy chọn này được sử dụng bởi các tập lệnh khởi động hệ thống.)

Phần còn thiếu đầu tiên là dòng auto wlan0. Theo tôi biết, nó có thể đi bất cứ nơi nào trong tập tin.

Điều đó hoạt động cho đến khi bạn thử khởi động mà không cắm cáp ethernet. Sau đó, WiFi không kết nối khi khởi động và phải được kích hoạt thủ công bằng cách chạy sudo ifup wlan0hoặc rút phích cắm và lắp lại khóa Wi-Fi.

Sự cố xảy ra do trình nền ifplugd , bật và tắt các thiết bị mạng khi bạn cắm hoặc tháo chúng. Bạn có thể cấu hình lại nó, hoặc đơn giản là bạn có thể gỡ bỏ nó bằng sudo apt-get purge ifplugd.

Nếu bạn đã xóa ifplugd , bạn nên thêm các dòng sau vào / etc / network / interface để kết nối ethernet cũng sẽ kết nối khi được cắm:

auto eth0
allow-hotplug eth0

Tôi không chắc chắn nếu các autodòng là thực sự cần thiết hoặc nếu hotplug xử lý khởi động chính xác trong trường hợp không có ifplugd , nhưng điều này làm việc cho tôi.

Tập tin làm việc của tôi đọc:

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
bạn có mắc lỗi đánh máy ở "auth eth0" không? nó có nên là "auto eth0" không?
Jordan Sitkin

2
một sửa chữa nhỏ của bài đăng của @katriel: Dịch vụ cần được xóa được gọi là ifplugd chứ không phải ifupd
dh1tw

@ DH1TW và sáu tháng sau ... Tôi sẽ không bao giờ viết một trong những điều này từ bộ nhớ nữa
katriel

Để ghi lại, tôi đang sử dụng wpa_supplicant vì vậy tôi mới kích hoạt dịch vụsudo systemctl enable wpa_supplicant.service
Daniel Argüelles

0

Tôi đã từng gặp vấn đề tương tự. Kiểm tra cài đặt r / w của bạn /etc/network/interfaces.

Tôi đã làm chmod 600 /etc/network/interfacesvà vấn đề của tôi đã biến mất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.