Linux 如何解除无线接口与接入点的关联?

Linux 如何解除无线接口与接入点的关联?,linux,wireless,Linux,Wireless,我正在尝试制作一个脚本,让我的无线网卡在linux中休眠。为此,我使用了iwpriv的deepsleep命令: iwpriv wlan0 deepsleep 1 问题是,此命令仅在无线网卡断开连接和解除关联时有效。连接时没有问题,因为如果断开连接,它会自动断开连接。但是如果它断开连接,有时它会自动关联(但不会连接)到未加密的网络,因此我无法运行iwpriv命令。我发现的唯一修复方法是先将模式更改为Ad Hoc,然后在休眠卡之前将其更改为Managed: iwconfig wlan0 mode

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

iwpriv wlan0 deepsleep 1
问题是,此命令仅在无线网卡断开连接和解除关联时有效。连接时没有问题,因为如果断开连接,它会自动断开连接。但是如果它断开连接,有时它会自动关联(但不会连接)到未加密的网络,因此我无法运行
iwpriv
命令。我发现的唯一修复方法是先将模式更改为Ad Hoc,然后在休眠卡之前将其更改为Managed:

iwconfig wlan0 mode ad-hoc
iwconfig wlan0 mode managed
iwpriv wlan0 deepsleep 1
但我觉得这有点棘手


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

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

如果你对WLAN0进行了修改,它不会脱离关系吗?

< P>许多驱动程序使用与空AP关联的约定,与当前AP断开连接。再加上短暂的延迟,你可能会得到你想要的。比如说,

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

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

这是我测试过的,在某些卡中有效,但在我的卡中无效:(谢谢。不,接口未打开,已关联,未连接。谢谢。大多数无线网卡在关联之前必须打开,并且在接口关闭时将断开关联;在接口关闭时不会发生扫描或关联。这是很合理的预期。您的芯片/驱动程序是什么,不会以这种方式运行?