2008-10-21 25 views
0

我試圖做一個腳本,睡在我的無線網卡在Linux中。對於我使用的iwprivdeepsleep命令:如何分離無線接口與接入點?

iwpriv wlan0 deepsleep 1 

的問題是,如果無線網卡斷開並取消關聯此命令纔有效。連接時沒有問題,因爲如果我斷開連接,它會自動解除關聯。但是,如果它斷開連接,有時它會自動關聯(但不連接)到未加密的網絡,所以我無法運行iwpriv命令。我發現的唯一的解決方法是,首先到Ad-Hoc,然後更改模式之前睡眠卡管理:

iwconfig wlan0 mode ad-hoc 
iwconfig wlan0 mode managed 
iwpriv wlan0 deepsleep 1 

但我認爲這是一個有點棘手。

是否存在一種更直接的方式來解除在linux中的無線網卡?

回答

0

我沒有修復,但可以嘗試將卡的ESSID設置爲隨機字符串,並希望附近沒有接入點使用該ESSID。這應該防止自動連接到找到的任何未加密的網絡。不是一個解決方案,但也許是更好的創可貼。

+0

這件事情我已經測試,它工作在一些卡片,但不雷:( 感謝。 – 2008-10-21 12:13:23

0

如果您執行ifconfig wlan0 down,它不會解除關聯嗎?

+0

不,接口不起來,它的關聯,沒有連接。謝謝。他們之前 – 2008-10-21 14:58:42

1

許多驅動程序使用與NULL AP關聯的約定與當前AP斷開連接。加上這個短暫的延遲,你可能會有你想要的。例如,

iwconfig wlan0 ap 00:00:00:00:00:00 
sleep 1 
iwpriv wlan0 deepsleep 1 

典型地,它應該不會超過250-500毫秒從AP斷開,但分數睡眠命令(例如睡眠0.25)是不可移植的。