題:
如何自動重新連接WiFi?
andig
2012-12-26 17:29:26 UTC
view on stackexchange narkive permalink

我正在使用pi監視功率計。使用Edimax EW-7811UN USB適配器通過WiFi連接將數據傳輸到PC。當Wifi連接斷開(通宵關閉或搖晃的連接)時,USB適配器仍保持禁用狀態。 >

七 答案:
AndaluZ
2013-03-08 21:48:59 UTC
view on stackexchange narkive permalink

嗯,有一個非常簡單的解決方案:

  1. 轉到 /etc/ifplugd/action.d / 並重命名 ifupdown 文件到 ifupdown.original
  2. 然後執行: cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown
  3. 最後: sudo reboot
  4. ol>

    僅此而已。通過關閉/打開AP進行測試;您應該會看到Raspberry Pi正確地重新連接。

這是最簡單,最有效的答案。在2個Rpi上進行了測試,並且可以正常工作。從以下位置找到此鏈接:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=91&t=16054&start=25
對不起,這是一個簡單的問題-為什麼這樣做有效?
@JeffMeatballYang,針對您的問題啟動新線程。
運行wpa_supplicant版本時,我得到wpa_supplicant:未知模式:“”。正常的人不會發出消息。
對我來說,那裡沒有ifupdown文件,只有一個鏈接“ action_wpa-> ../../wpa_supplicant/action_wpa.sh”,所以也許這是默認設置了嗎?
在最新版本中可能發生了變化。我已經很久沒有檢查了。您使用哪個RPi和OS?
我確認RPi 3上的@Zitrax reply:是指向../../wpa_supplicant/action_wpa.sh的符號鏈接
我的朋友已經很長時間了:)但是我在RPi 1 B版本上進行了測試。我認為它也適用於RPi 2,但我從未在RPi 3上進行過測試。
我不確定在RPi3 Jessie上默認情況下是否可以運行。
是的,就像其他人說的那樣:這在基於dhcpcd的發行版上不起作用,為了使它在RPI3上運行,您需要`apt-get install rcconf`並從`dhcpcd`切換到`networking`
goldilocks
2013-02-25 21:15:31 UTC
view on stackexchange narkive permalink

我更喜歡禁用大多數網絡自動配置和連接管理守護程序,然後自己處理。這是一個(bash)腳本,只要網絡存在,您就不會斷開連接,只要您沒有故障的wifi驅動程序或電源問題即可;想法是每隔N秒對路由器執行一次ping操作,如果失敗,則重新連接:

 #!/ bin / bash#確保我們還沒有在`ps h -o pid -C $ what`中為p運行base = $ 0`;如果[$ p!= $$];然後退出0 fidone#源配置。 /etc/wifi.confexec 1> / dev / nullexec 2>> $ logecho $(date)未設置check_interval的> $ log#,我們冒0睡眠=忙碌loopif [! “ $ check_interval”];然後回顯“未設置檢查間隔!” >> $ log exit 1fistartWifi(){dhclient -v -r#確保killall dhclient iwconfig $ wlan essid $ essid dhclient -v $ wlan} ifconfig $ eth downifconfig $ wlan upstartWifiwhile [1];做ping -c 1 $ router_ip &等待$!如果[$? != 0];然後回顯$(date)“嘗試重新啟動...” >> $ log startWifi sleep 1 else sleep $ check_interval fidone  

因此, /etc/wifi.conf 在這種情況下,可能包含:

  router_ip = 192.168.0.1log = / var / log / wifi.logwlan = wlan0eth = eth0essid = someNetworkcheck_interval = 5  

所有這些都假定為開放的未加密網絡(否則,您將必須添加適當的命令)。我已經在包括pi在內的各種linux機器上使用了這種方法,並且可以完美地工作。

一個體面的檢查間隔是3-5秒;即使它定期進入睡眠狀態(pi仍然不能這樣做),它也可以無限期保持在線狀態。此活動完全不會對系統資源產生任何重大影響。

您絕對需要先禁用網絡自動配置 ,。包括 ifplugd 和其他網絡守護程序,否則會干擾您的工作:

如何在Raspbian上禁用自動配置的網絡?

我實際上使用了 apt-get remove ifplugd

要在啟動時開始聯網(因為我使用了無頭的pi),我將其設置為在 /etc/rc.local :

  wifi_mod =`lsmod | grep 8192cu`if [“ $ wifi_mod”];然後回顯“正在啟動wifi ...” / usr / bin / nice -n -10 / usr / local / bin / wifi &else迴聲“正在啟動以太網...” / sbin / ifconfig eth0向上/ sbin / dhclient eth0fi  

/ usr / local / bin / wifi 是腳本。如果您不知道 nice 是什麼意思,請閱讀 man nice

if 的要點是如果將我的wifi加密狗插入pi,此時內核將加載8192cu模塊-因此wifi應該啟動。如果不是,則假定已插入以太網並且應該使用該以太網(如果不是,則dhclient只會出現錯誤,並且無法訪問網絡)。

要使其正常工作,您可能必須

因此,這會在啟動時將無頭的pi引入網絡並保持在那裡。如果您想要一種無需登錄即可在運行時切換到eth的方法,則可以使用 udev規則進行一些操作,以拔出wifi加密狗。

聽起來值得測試。不是Linux專業人士-如何將腳本設置為在啟動時運行-放入cron?是否可能/也需要添加日誌輪換?
@andig:我通過rc.local添加了一些關於啟動的段落。 WRT日誌輪換,這是一個通常與日誌文件有關的獨立問題(但請參見`man logrotate`)。現在,如果該腳本具有相同的路徑而不是追加,則該腳本將* clobber *(覆蓋)任何先前的日誌。為了進行調試,我有時在wifi.conf文件中使用了“ wifi。$$。log”,以便最後記錄(不太可能)被破壞,並且我可以在調整某些內容後將一個會話與另一個會話進行比較。 $$是“ wifi”過程的進程。
我擔心有時外殼腳本可能很脆弱,並且在進行更新或安裝了其他網絡軟件時很難破解。請注意此方法。
@jeremiah:這是一個很好的恐懼。我編寫了該腳本,並對其進行了多年的調整,並覺得我對它在其中運行的一般背景有所了解,因此我需要注意什麼。但是,傳遞理解可能比代碼片段更難。對我來說,這只是嘗試將NetworkManager減少到一些非常基本的元素上的一種替代方法。在簡單的獨立系統的情況下,這可以為人們提供與Linux發行版中的“這對我有用”類似的觀點。
所以:我知道這篇文章,並打算在主要發行版流之一(debia和fedora及其派生的)中引入與之相關的內容時對其進行更新。我還將重點說明需要禁用哪些內容以及如何禁用它們。
Piotr Kula
2013-09-25 02:50:06 UTC
view on stackexchange narkive permalink

我最近偶然發現了一個控制台應用程序,該應用程序將所有無線配置都整理了出來。 您也可以使用此工具配置LAN接口。

  sudo apt-get install wicd-curses  

它將安裝許多其他軟件包並在後台運行自己的守護程序,但這肯定使配置所有內容變得更加容易。如果您收到消息說未檢測到網絡,請使用

  sudo wicd-curses  

enter image description here

P (必須為大寫字母,所以請使用[SHIFT] p),然後在無線接口字段中鍵入wlan0,然後按F10鍵保存。

  1. R 刷新列表。
  2. 使用鍵盤上的光標在列表中上下導航
  3. 向右按以配置無線連接
  4. 按下幾次並選中“自動連接到該網絡”
  5. 再次按下幾次並在關鍵字段中輸入密碼
  6. 按下F10保存
  7. ol>

    enter image description here

    您可能必須按 C 才能連接到接入點。如果連接了有線,很可能會殺死LAN接口並啟用無線功能。 p>

    我測試了拔出WiFi適配器並將其重新插入的過程。這大約需要60到90秒,但它將重新連接到WiFi(我認為必須拔掉LAN)

    希望它有幫助!

不確定如何處理重新連接-初始連接不是這裡的問題!
我更新了答案,因為您必須檢查自動連接的步驟。同樣,在首選項中,您應該一直向下滾動。最後一個選項不在屏幕上。它還說自動嘗試為Wifi連接到網絡(默認情況下為ON)。我什至可以將WiFi適配器插回去,它會在2分鐘內重新連接。(我是在沒有插入LAN的情況下完成此操作的)這確實是我發現的配置和管理無線的最佳方法。您還會獲得名為“ wicd”的GUI版本。
命令“ sudo wicd-cruses”中有錯字“ u”和“ r”被交換
安裝“ wicd-curses”後,我的RPi 3開始隨機凍結。以前從未凍結過,一旦卸載,凍結立即消失了。謹防!
安裝wicd-curses後,運行Jessie Lite的RPi 3s尚未凍結,並保持連接狀態。但是今天我嘗試通過以太網端口連接到一個,發現啟動後幾秒鐘該接口將丟失。在配置wicd-curses連接到wifi之前,我能夠正常連接。
David Sainty
2016-01-15 07:08:20 UTC
view on stackexchange narkive permalink

不需要額外的腳本即可解決。

在/ etc / network / interfaces中放置:

allow-hotplug wlan0iface wlan0 inet manualwpa-roam / etc / wpa_supplicant / wpa_supplicant.confiface默認inet dhcp

漫遊允許界面自愈。

最後一行似乎在wlan0接口中添加了第二個IP地址。那是故意的嗎?
我只得到一個DHCP分配的地址。但是,如果啟動腳本更改了行為,也不會完全讓我感到驚訝-此配置文件不必要地是不可思議的...
在我的raspbian pi2機器上,如果wlan下降的時間足夠長,以至於三個身份驗證嘗試失敗,即使使用“ wpa-roam”,它也不會再次嘗試。
這是在RPi 3上對我有用的唯一答案。謝謝!
Alex Chamberlain
2012-12-27 15:46:06 UTC
view on stackexchange narkive permalink

netcfg

嘗試 netcfg 。沒有關於您正在使用的發行版的更多詳細信息,我無法提供更多詳細信息,但是它應該可以滿足您的要求。

-1
Leonardo
2017-01-27 23:25:39 UTC
view on stackexchange narkive permalink

另一種解決方案,摘錄自 this
首先配置wifi設置: sudo vi /etc/wpa_supplicant/wpa_supplicant.conf 添加類似部分:

  network = {ssid =“ MyNetworkName” psk =“ MyPaz0rdz” key_mgmt = WPA-PSK}  

然後使用 sudo進行網絡設置vi /etc/dhcpcd.conf

 接口wlan0通知192.168.1.200#wifi卡的靜態IP靜態路由器= 192.168.1.254#路由器的ipstatic domain_name_servers = 192.168.1.254#您的dns,通常是=您的路由器 

然後在某個地方創建此腳本文件,例如在 /home/pi/reconnect.sh 中並將其賦予 + x 權限以執行。

 #!/ bin / bashrouter =`ip路由| awk'/ default / {print $ 3}'`/ bin / ping -q -c1 $ router > / dev / nullif [$? -eq 0]則為true#echo“ Network OK” else echo“ Network down,fix ...”#ifdown --force wlan0#sleep 5 / bin / kill -9`pidof wpa_supplicant` / sbin / ifup --force wlan0 / sbin / ip route通過$ router dev wlan0添加默認值/ bin / mount -a echo“ wlan0 at`date`” fi  

重新連接,然後以 sudo su 並使用 crontab -e 編輯root的crontab。
在此文件的末尾添加以下行:

* / 10 * * * * / home / pi / reconnect.sh

這意味著:“每10分鐘執行一次該腳本(以root身份執行)”-注意開頭沒有* /的腳本將“在10分鐘時執行現在,如果您已建立連接,則腳本將退出並且什麼也不會發生。如果您無法ping通路由器,則腳本將嘗試使用wpa_supplicant重新連接到它。

請注意,從cron腳本(在這種情況下,僅當斷開連接時)回顯的所有內容都將通過電子郵件發送到root。因此,如果您已經配置了郵件別名和後記,那麼當您的pi的wifi連接斷開時,您將收到一封電子郵件,然後由於該腳本而再次成功返回。

Colorado MountainBoy
2017-03-31 05:19:14 UTC
view on stackexchange narkive permalink

這對我有用,於2017年3月30日使用Raspbian Jessie:

http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi- on-a-raspberrypi /

請總結您帖子中的解決方案,以防鏈接失效。
CMB,歡迎來到StackExchange的RPi風格角落。網站政策[不鼓勵僅鏈接的答案](http://raspberrypi.stackexchange.com/help/how-to-answer),因為它們會受到鏈接腐爛的影響。您不需要重複鏈接的內容,但是一個好的答案至少應該在鏈接中包含的亮點上展開。
進一步根據Jacobm001的上述評論,與我們關於無信息的僅鏈接答案的政策保持一致,如果本帖子未經過編輯以包含可以作為答案的信息(無論最少如何),它將在48小時內轉換為Community Wiki,以簡化具有它被社區糾正。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...