Debian
重啟後我總是需要 ifdown/ifup wlan0
我正在嘗試創建一個由 5 台電腦(一台 Windows PC 和 4 台裝有 raspbian 的樹莓派)組成的 ad-hoc wifi。樹莓派會通過 mqtt 進行對話,但這不是重點。我遇到的問題是我總是需要執行以下操作才能
wlan0
在每次重新啟動後擁有界面:sudo ifdown wlan0 sudo ifup wlan0
你知道為什麼嗎?這是我的conf(除了IP地址,每個pi都一樣!)
~ % 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
任何的想法?
它似乎有效,但並非總是如此 - 就像 10 次中的 1 次啟動一樣,真的很奇怪嗎?!
您是否嘗試過以下解決方案之一?我必須在這裡猜測答案,因為問題不容易重現,可能是您獲得的驅動程序有問題。
- 在介面文件中嘗試註釋掉“auto wlan0”並保留“allow-hotplug wlan0”
#auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp ... rest of the config ...
- 可能不是您正在尋找的理想解決方案,但請嘗試在您喜歡的腳本目錄中創建一個具有執行權限的新 shell 腳本,其中包含以下內容。
ifdown wlan0 ifup wlan0
然後將以下行添加到您的介面文件中。
auto wlan0 iface wlan0 inet dhcp ... rest of the config ... post-up /path-to-your-script/script.sh
- 當您的電腦在沒有啟動無線連接的情況下啟動時。嘗試
iwconfig
使用不同的參數(嘗試使用 man iwconfig 獲取完整列表),直到您的界面出現。我想可能是txpower
某種開關可能會幫助你。如果這對您有用pre-up <command-that-worked>
,請在您的介面文件中使用,就像在第二個答案中一樣,並將命令留在那裡。所以最後是這樣的(記住將絕對路徑傳遞給 (pre|post)-up
pre-up /sbin/iwconfig wlan0 txpower on