上回说到,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的启动的。

Linux下Wi-Fi配置工具2的更多相关文章

  1. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  2. Linux下PHP安装配置MongoDB数据库连接扩展

    Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...

  3. 【one day one linux】linux下的软件包管理工具

    Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...

  4. 在linux下安装并配置mysql数据库

    在linux下安装并配置mysql数据库 工具/原料   MySql5.6 CentOS 方法/步骤   1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...

  5. [原创]Linux下网络性能测试Netperf工具介绍及安装

    [原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...

  6. linux 下的 crontab 定时任务工具

    以下内容转自:https://www.cnblogs.com/longjshz/p/5779215.html 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep c ...

  7. Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim

    一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...

  8. Linux下PortSentry的配置

    Linux下PortSentry的配置       前年写过<IDS与IPS功能分析>一文,受到广大读者关注,现将近期有关IDS配置的文章和大家分享.    Internet上的服务器一般 ...

  9. linux下的数据备份工具rsync讲解

    linux下的数据备份工具 rsync(remote sync 远程同步)   名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...

  10. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

随机推荐

  1. BZOJ 4873 寿司餐厅(最大权闭合图 网络流)

    寿司餐厅 时间限制: 1 Sec  内存限制: 512 MB提交: 6  解决: 3[提交][状态][讨论版] 题目描述 Kiana 最近喜欢到一家非常美味的寿司餐厅用餐.每天晚上,这家餐厅都会按顺序 ...

  2. #、##和__VA_ARGS__

    转自:http://www.cnblogs.com/zhujudah/admin/EditPosts.aspx?opt=1 1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换 ...

  3. Flask实战第43天:把图片验证码和短信验证码保存到memcached中

    前面我们已经获取到图片验证码和短信验证码,但是我们还没有把它们保存起来.同样的,我们和之前的邮箱验证码一样,保存到memcached中 编辑commom.vews.py .. from utils i ...

  4. 【大杀器】利用划分树秒杀区间内第k大的数

    最近看了一道题,大概就是给出一个序列,不断询问其子区间内第k大的数,下面是个截图 绕了一圈没找到中文版题目,if(你是大佬) then 去看截图:else{我来解释:给出一个整数n,和一个整数m,分别 ...

  5. webpack2 热加载js 文件

    如果只要普通的热加载 只要如下配置就好了 package.json { "devDependencies": { "webpack": "^2.6.1 ...

  6. luogu P3375 【模板】KMP字符串匹配

    题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...

  7. 【深搜+set使用学习】POJ3050-Hopscotch

    [题目大意] 给出一个5*5的方格,求出从任意一点出发走6步组成的不同序列数. [思路] dfs的水题,当作set使用方法的初次学习.每次从任意一点出发进行一次dfs,将序列加入set,最后输出set ...

  8. 必知必会JVM垃圾回收——对象搜索算法与回收算法

    垃圾回收(GC)是JVM的一大杀器,它使程序员可以更高效地专注于程序的开发设计,而不用过多地考虑对象的创建销毁等操作.但是这并不是说程序员不需要了解GC.GC只是Java编程中一项自动化工具,任何一个 ...

  9. css排版之-标准文档流

    标准流指的是在不使用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则.HTML文档中的元素可以分为两大类:行内元素和块级元素.       1.行内元素不占据单独的空间,依附于块级元素,行 ...

  10. express结合jade模板渲染HTML

    在线html转jade工具>> 注意:以下是在Windwo环境下 运行: npm install jade 然后你的目录node_modules下将增加jade文件夹 app.js var ...