0

我正在尝试制作一个脚本,让我的无线网卡在 linux 中休眠。为此,我正在使用以下deepsleep命令iwpriv

iwpriv wlan0 deepsleep 1

问题是该命令仅在无线网卡断开连接和解除关联时才有效。当它连接时没有问题,因为如果我断开连接,它会自动取消关联。但是如果它断开连接,有时它会自动关联(但不连接)到未加密的网络,所以我无法运行该iwpriv命令。我发现的唯一解决方法是先将模式更改为 Ad-Hoc,然后在睡眠卡之前更改为 Managed:

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

但我认为这有点棘手。

是否存在一种更直接的方法来在 linux 中解除无线网卡的关联?

4

3 回答 3

1

许多驱动程序使用与 NULL AP 关联的惯例与当前 AP 断开连接。再加上一个短暂的延迟,你可能会得到你想要的。例如,

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

通常,与 AP 断开连接的时间不应超过 250-500 毫秒,但部分睡眠命令(例如 sleep 0.25)是不可移植的。

于 2008-11-29T05:21:48.720 回答
0

我没有解决办法,但您可以尝试将卡的 ESSID 设置为随机字符串,并希望附近没有接入点使用该 ESSID。这应该可以防止自动连接到找到的任何未加密网络。不是解决方案,但也许是更好的创可贴。

于 2008-10-21T12:05:32.787 回答
0

如果您执行 ifconfig wlan0 down,它不会解除关联吗?

于 2008-10-21T14:29:46.833 回答