上回说到,linux下面的Wi-Fi配置工具,说是江湖多事,风起云涌。。。嗯,这回是真的要动手配置了。各种麻烦啊,想死的心都有了有木有啊。

尝试用iwconfig

话说上回说用iwconfig配置Wi-FI,这次一上手就从这里开始了。各种尝试啊。

1)首先,要把网卡down掉

ifdown wlan0

1)获得各个能用的AP的参数

iwlist wlan0 scan

2)告诉网卡,ssid是多少,直接复制上面要用到的ssid

iwconfig wlan0 essid ssid_of_my_ap

3)告诉你的网卡,密码是多少,输入你的密码就好了

iwconfig wlan0 key your_passwd

#if the key is ascii
iwconfig wlan0 key s:your_passd eg:
iwconfig wlan0 key 1234_567

4)然后,俺还尝试了

iwconfig wlan0 ap xx:xx:xx:xx:xx
#xx:xx:xx:xx:xx is the MAC of my ap

5)这时候可以把网卡开起来了

ifup wlan0

6)什么?发现不工作?这就对了,iwconfig原生只支持WEP加密,该加密已经死翘很久了,现在多是wpa。。。那怎么办。那需要wpa_supplicant的帮助。而且,你能做到这一步的可能也不大,因为如果是wpa的密码的话,在第三步会一直报错的(wpa的密码比WEP的要长,一直在提示key unlegal之类的错误)

好吧,放狗找了下,需要用wpa_supplicant来支援WPA的网络。

尝试用wpa_supplicant

因为我的系统上面已经有wpa_supplicant,所以,这里不考虑安装的问题。

这里主要是修改它的配置文件/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=
network={
ssid="TP-LINK_8D0B8A"
key_mgmt=WPA-PSK
psk=""
}

那,我以为是设置这里,然后ifdown,ifup就可以了。。。但是事实上它还是不工作。

然后看到,说是要设置这里/etc/network/interfaces

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "secret-wiki-net"
wpa-psk "verysecret-wpa-psk"

然后,ifup,ifdown...貌似就可以了(这个方法是对的)

但是,事实上还是不行,俺dhcp老是不成功啊。。。然后手动再设ip,连ap都ping不到。

这时候想试试直接打开wpa_supplicant,用了下下面的指令打开wpa_supplicant:

sudo wpa_supplicant -d -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dwext &
额,然后ifconfig查看,居然分配到IP了,ping了下8.8.8.8,bingo!通了!
唔,这个是又迈出了一小步,待进一步了解。
 
后记:
正确的方法应该是在interfaces里面设置,是我更改interfaces的方式不对,上面提到的四句应该是放到一起的,放一起就好了。直接restart networking,Wi-Fi就能连上。
不过,用wpa_supplicant的话, 打印出好多信息,这个应该是调试硬件的时候用处蛮大的。
猜测下,他们应该是networking会去调用wpa_supplicant,然后wpa_supplicant会去调用iwconfig。。。反正最后用iwconfig查看的时候,显示网卡是和ssid是associated。
 
有人讲,正确的wpa_supplicant应该是下面这个样子,这样的话甚至不用去该interfaces了是不是?
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config= network={
ssid="__SSID__"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="__PASSWORD__"
}

待验证。

另外还有个问题,插拔usb-WiFi的时候系统会重启。。。应该是hot-plug的问题,这个留待后面解决吧,暂且先到这里。------》插拔大功率USB设备时重启,是因为硬件bug,so,将就着用吧。
 
再后记:
原来networking的restart里面是这样写的:
force-reload|restart)
if init_is_upstart; then
exit
fi
process_options log_warning_msg "Running $0 $1 is deprecated because it may not re-enable some interfaces"
log_action_begin_msg "Reconfiguring network interfaces"
ifdown -a --exclude=lo $verbose || true
set -f
exclusions=$(process_exclusions)
if ifup -a --exclude=lo $exclusions $verbose && ifup_hotplug $exclusionss
$verbose
then
log_action_end_msg $?
else
log_action_end_msg $?
fi

先全部ifdown,然后再全部ifup。。。so

所以,还是需要先研究下networking的启动的。

最新文章

  1. About_Web
  2. Linux使用汇总贴
  3. C#的Invoke和BeginInvoke
  4. StringMisc
  5. jquery 常用函数集锦
  6. ASP.NET的SEO--- Global.asax和HttpModule中的RewritePath()方法
  7. win7无线网卡的灯突然不亮了的解决办法
  8. uva 10330 最大流
  9. Selenium 使用方法小结
  10. cf C Milking cows
  11. CSS display:table属性用法- 轻松实现了三栏等高布局
  12. 【VMware Workstation】虚拟机静态IP NAT连接外部网络(局域网以及广域网)
  13. R0~R16寄存器作用(转)
  14. 初识RecyclerView
  15. 【原创精品】mac 彻底卸载趋势科技
  16. CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解
  17. Webshell密码极速爆破工具 – cheetah
  18. 矩阵的SVD分解
  19. Servlet多文件上传方法
  20. Java之异常机制(1) - 高效处理异常

热门文章

  1. Linux基础系列-Day8
  2. UGUI的优点新UI系统三效率高效果好
  3. 对有些反编译不成功的apk,请更新最新的apktool.jar、 dex2jar试试
  4. WebService的网络协议
  5. BZOJ 3391 [Usaco2004 Dec]Tree Cutting网络破坏(树形DP)
  6. 【DFS】bzoj2435 [Noi2011]道路修建
  7. HDU 5299 Circles Game 博弈论 暴力
  8. 使用CURL抓取淘宝页面
  9. OC @class关键字
  10. hive如何使用中文查询条件