Tôi thích vô hiệu hóa hầu hết các công cụ daemon cấu hình và quản lý kết nối tự động và tự xử lý nó. Đây là tập lệnh (bash) sẽ duy trì kết nối miễn là mạng ở đó và bạn không gặp phải sự cố về trình điều khiển wifi hoặc sự cố về điện; ý tưởng là ping bộ định tuyến mỗi N giây và nếu thất bại, hãy kết nối lại:
Vì vậy, /etc/wifi.conf trong trường hợp này có thể chứa:
router_ip=192.168.0.1 log=/var/log/wifi.log wlan=wlan0 eth=eth0 essid=someNetwork check_interval=5Tất cả điều này giả định một mạng không được mã hóa mở (nếu không, bạn sẽ phải thêm các lệnh thích hợp). Tôi đã sử dụng phương pháp này trên các máy linux khác nhau, bao gồm cả pi và nó hoạt động hoàn hảo; nó sẽ giữ cho một hệ thống trực tuyến vô thời hạn, ngay cả khi nó định kỳ đi ngủ (điều mà dù sao thì pi cũng không thể).
Một khoảng thời gian kiểm tra tốt là 3-5 giây; hoạt động này sẽ không ảnh hưởng đáng kể đến tài nguyên hệ thống.
Bạn hoàn toàn cần phải vô hiệu hóa cấu hình tự động mạng trước tiên ,. bao gồm ifplugd và các trình nền mạng khác, hoặc điều này sẽ cản trở nỗ lực của bạn:
Làm cách nào tôi có thể tắt kết nối mạng được cấu hình tự động trên Raspbian?
Tôi thực tế đã sử dụng apt-get remove ifplugd.
Để bắt đầu kết nối mạng khi khởi động (vì tôi sử dụng pi không đầu), tôi có bộ này để chạy trên raspbian từ /etc/rc.local:
/usr/local/bin/wifilà kịch bản. Nếu bạn không biết cái gì niceđể làm, hãy đọc man nice.
Điểm quan trọng if là nếu dongle wifi của tôi được cắm vào pi, mô-đun 8192cu sẽ được nạp bởi kernel vào thời điểm này – vì vậy wifi nên bắt đầu. Nếu không, thì giả sử rằng ethernet đã được cắm và nên được sử dụng (nếu không, dhclient sẽ ngừng hoạt động và không có quyền truy cập mạng).
Để làm việc này có lẽ bạn sẽ phải
Vì vậy, điều này nhận được một pi không đầu vào mạng khi khởi động và giữ nó ở đó. Nếu bạn muốn có một cách để chuyển sang eth trong khi chạy mà không cần đăng nhập, bạn có thể làm gì đó với các quy tắc udev để kéo dongle wifi ra.