检查无线设备是否启动
问题描述:
我想检查我的无线设备是否正确启动。检查无线设备是否启动
为了做到这一点,我执行以下命令:
ip link show wlan0
我获得:
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether fc:c2:de:2d:f4:c2 brd ff:ff:ff:ff:ff:ff
当接口并
6: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether fc:c2:de:2d:f4:c2 brd ff:ff:ff:ff:ff:ff
当它下跌。
现在,我想测试UP是否存在或不在命令行返回。
我尝试下面的命令:
ip link show mlan0 | awk '/UP/ {print $3}'
这给:
现在我隔离了,但我不知道如何做到这一步。
同时,我不确定隔离UP是否有用。 基本上,我能执行:
var=`ip link show wlan0 | awk '/UP/ {print $3}'`
if [ "$var" == "" ];then
echo "interface did not up"
else
echo "do something else.."
fi
预先感谢
答
假设你正在使用ip link
很可能你是在Linux上。我建议/sys/class
层次之一:
$ cat /sys/class/net/wlan0/operstate
up
$ cat /sys/class/net/wlan0/carrier
1
的ip link show
输出可能导致你的悲伤,如果格式变化 - 我不认为这是保证保持稳定。
在评论光看来你可能需要管理状态(你告诉的界面做的),而不是它的实际状态 - 无论是实际连接。在这种情况下,你可能会忘记带有标志:
$ cat /sys/class/net/wlan0/flags
0x1003 # (changes to 0x1002 when running ip link set dev wlan0 down)
我试过这个解决方案,但我不是了解无线行为。的确,在使用命令ip link set wlan0 up之后,如果我输入ifconfig,我可以将接口wlan0。然而命令cat/sys/class/net/wlan0/operstate仍然返回“down”。如果我将wifi模块连接到接入点,则返回值将更改为up。为什么它不是“以前”?因为我想在命令ip link set wlan0后测试一下。谢谢。 – ogs 2014-12-02 13:24:42
@SnP我编辑了我的答案。 – cnicutar 2014-12-02 13:37:16
@ cnicutar谢谢你的回答! – ogs 2014-12-02 13:53:31