Ubuntu下进行无线路由的设置使用iwconfig命令,而关于如何设置,网上有很多相关文章, 即使看manpage也是比较容易理解的,但是今天遇到别人提的一个问题, 就是使用命令iwconfig wlan0 key XXXXXX
来设置无线上网密码,总是会报错:
Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlan0 ; Invalid argument.
于是我也试了一把sudo iwconfig wlan0 key s:wangyang
,确实存在上面的问题,注意这里的s:表示后面接的是ascii字符串,如果密码使用十六进制表示要以0x打头。这里的密码是我随意写的一个。
反复尝试找到了问题的根源,因为很多无线网加密方式对密码的长度有限制,比如WPE加密方式就对密码长度有限制,当长度不对,软件就会判断出参数不合法,所以显示”Invalid argument“,我使用如下命令测试成功:
sudo iwconfig wlan0 essid "XXXXXX" key s:XXXXX(注意这里只有5个X)