Tôi luôn cần ifdown / ifup wlan0 sau khi khởi động lại


8

Tôi đang cố gắng tạo một wifi đặc biệt gồm 5 máy tính (một PC Windows và 4 raspberry pi được tải với một raspbian). Raspberry pi sẽ nói chuyện thông qua mqtt, nhưng đó không phải là vấn đề. Vấn đề tôi gặp phải là tôi luôn cần phải làm như sau để có wlan0giao diện sau mỗi lần khởi động lại:

sudo ifdown wlan0
sudo ifup wlan0

Bạn có biết tại sao? Đây là conf của tôi (giống nhau trên mỗi pi ngoại trừ địa chỉ IP rõ ràng!)

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

Bất kỳ ý tưởng?

Nó dường như hoạt động, nhưng không phải lúc nào - như 1 khởi động trong số 10, thực sự kỳ lạ?!


Đó là cài đặt sau khi xuống / lên hay trước?
ott--

sau, trước wlan0không có ip
xavier.seignard

Tôi không thể thấy nó đang tìm ra ip gateway như thế nào? có thể thử thêm gateway 192.168.1.254trực tiếp dưới netmask 255.255.255.0dòng trong /etc/network/interfacestệp của bạn
mulllhausen

Câu trả lời:


7

Bạn đã thử một trong những giải pháp dưới đây chưa? Tôi phải đoán câu trả lời ở đây vì vấn đề không dễ tái tạo, có thể là một vấn đề với trình điều khiển bạn có.

  1. Trong tệp giao diện, hãy thử nhận xét "auto wlan0" và chỉ giữ "allow-hotplug wlan0"

    #auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    
  2. Có lẽ không phải là giải pháp lý tưởng mà bạn đang tìm kiếm nhưng hãy thử tạo một tập lệnh shell mới với các đặc quyền thực thi trong thư mục tập lệnh yêu thích của bạn với nội dung sau.

    ifdown wlan0 
    ifup wlan0 
    

    Sau đó thêm dòng sau vào tập tin giao diện của bạn.

    auto wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    post-up /path-to-your-script/script.sh
    
  3. Khi máy tính của bạn khởi động mà không có kết nối không dây hoạt động. Hãy thử thay đổi iwconfigvới các tham số khác nhau (thử man iwconfig để có danh sách đầy đủ) cho đến khi giao diện của bạn xuất hiện. Tôi đoán có thể là txpowerloại chuyển đổi có thể giúp bạn ra khỏi đây. Nếu điều đó phù hợp với bạn, thì hãy sử dụng pre-up <command-that-worked>trong tệp giao diện của bạn như trong câu trả lời thứ 2 và để lại lệnh ở đó.

    Vì vậy, một cái gì đó như thế này ở cuối (hãy nhớ chuyển các đường dẫn tuyệt đối đến (trước | bài) -up

    pre-up /sbin/iwconfig wlan0 txpower on
    

Xin chào, thx cho câu trả lời đầy đủ! Tôi đã thử giải pháp đầu tiên mà không thành công. Cách giải quyết tôi sử dụng là giải pháp 2, tôi đã thêm nó vào /etc/rc.local. Tôi nên thử một giải pháp thứ ba mà bạn đang đưa ra. Cảm ơn!
xavier.seignard

có bất kỳ giải pháp trên làm việc cho bạn? nếu bạn đã giải quyết được vấn đề, xin hãy chia sẻ .. cảm ơn
Purinda Gunasekara

xin chào, tôi chưa thử cái thứ ba, tôi sẽ thử vào tuần tới
xavier.seignard

Giải pháp 1 làm việc cho tôi.
dgmdan

3

Chính xác vấn đề tương tự ở đây. Vấn đề là vấn đề thời gian: wlan0 chưa sẵn sàng khi quá trình khởi động ban hành ifup.

Tôi đã giải quyết điều này bằng cách thêm một câu lệnh chờ pre-up sleep 5vào wlan0 trong tệp giao diện:

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

0

Có thể bạn muốn sử dụng các mạng "cục bộ" khác nhau cho giao diện eth0 và wlan0.

Vì vậy, đối với wlan sử dụng mạng như 10.10.0.1, mặt nạ 255.255.255.0 Và đối với eth sử dụng mạng như 192.168.0.1, mặt nạ255.255.255.0

Tôi chưa gặp vấn đề này trên RPI (có lẽ vì tôi luôn giữ IP mạng wlan0 và eth0 rất khác nhau). Nhưng trên PC Windows của tôi, tôi luôn gặp phải vấn đề này: Khi tôi sử dụng không dây 192.168.1.xvà sau đó tôi cắm vào cổng ethernet, ví dụ như rasbperry của tôi có 192.168.0.xđịa chỉ (nhớ đến octet thứ 3), tôi luôn mất kết nối mạng.


0

Uncomment auto eth0, auto eth1hoặc auto wlancho giao diện bạn muốn xuất hiện khi thiết bị khởi động.

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.