Linux开发板连接WPA加密的AP路由器
Linux目前有两种方法配置网络:
- wireless-tools
- wpa_supplicant
iw支持的驱动较多,但只支持WEP加密;wpa_supplicant有部分驱动支持不完善,但支持WEP、WPA、WPA2加密。
由于WEP在现在市面的路由器中已经几乎被淘汰,因此使用wpa_supplicant进行连接。wpa_supplicant初次配置较为复杂,但配置一次后,下次遇到该AP时就可以自动连接。
初次配置
1. 启动网卡和程序
编辑配置文件/etc/wpa_supplicant.conf,写入如下内容(如没有该文件则新建):
ctrl_interface=/var/run/wpa_supplicant
update_config=1
update_config=1表示允许更改配置。
启动无线网卡:
ifconfig wlan0 192.168.15.11 up
启动wpa_supplicant:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
其中,-i指定网卡,-c指定配置文件。
进入wpa_cli界面:
wpa_cli

在CLI界面中,可以输入各种命令修改网卡配置。
注意,在CLI中回退字符时,需要按
Ctrl + Backspace,直接按Backspace会被当做一般的字符输入。
2. 扫描AP
使用scan命令扫描网络,扫描完毕后使用scan_results查看网络:
> scan
......
>> scan_results
... ...

3. 增加网络
使用add_network增加网络,会增加一个网络编号。然后使用list_network查看网络信息:
> add_network
0
> list_network
network id / ssid / bssid / flags
0 any [DISABLED]
4. 设定SSID和密码
> set_network 0 ssid "HONOR315"
OK
> set_network 0 psk "12345678"
OK
5. 使能网络连接
使用enable_network命令使能网络连接,出现CTRL-EVENT-CONNECTED表示已经连接完毕。
> enable_network 0
... ...
<3>CTRL-EVENT-CONNECTED - Connection to 94:37:f7:a5:1f:80 completed [id=0 id_str=]
6. 保存配置
使用status命令查看网络状态。输入save 保存配置。
> status
... ...
> save
OK

最后输入quit退出CLI,回到终端。
> quit
此时可以查看网卡状态:
ifconfig wlan0
iw wlan0 info

查看配置文件,已经发生变化:
cat /etc/wpa_supplicant.conf

7. 网卡连通测试
电脑ping开发板:

开发板ping电脑:

加入开机自启动
经过以上配置,只要wlan0网卡启动,且AP在信号范围内,就会自动进行连接。
如果有多个AP,可以在wpa_supplicant.conf中添加优先级:
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="CNV315"
psk="12345678"
priority=2
}
不过,这样仍然需要手动启动网卡和wpa_supplicant,需要输入2条命令。因此,将命令加入开机加载的脚本,以便开机自启动。
编辑/etc/rc.local,在文件末尾添加以下内容:
# start wlan0 with static ip
ifconfig wlan0 192.168.15.11 up
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
注意如果最后一行有exit 0,要将命令添加在exit 0之前。
之后重启开发板,将自动启动网卡并连接AP。
参考资料:
Linux开发板连接WPA加密的AP路由器的更多相关文章
- 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测
ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...
- 小白自制Linux开发板 二. u-boot移植
上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB 中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...
- Linux开发板(树莓派)和服务器进行双向通信(socket)
前言 物联网是目前嵌入开发必备的属性之一,我们常常需要把自己开发板和云端进行交互,本篇博文就记录一下. 使用Socket来实现Linux开发板和服务器进行双向通信,Python中是默认集成了s ...
- 嵌入式Linux开发板
嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...
- 使用Arduino开发板连接干簧管(Reed Switch)的方法
在现实生活中,干簧管(Reed Switch)有许多重要的应用,如磁性门开关.笔记本电脑.智能手机等.在本篇文章中,我们将了解一些干簧管的知识,并介绍如何使用Arduino开发板连接干簧管. 干簧管( ...
- 3.使用secureCRT连接PC,LINUX,开发板
1.设置secureCRT(可选项):http://www.linuxyw.com/linux/gongxiang/20130505/161.html 2.使用secureCRT远程登录linux 3 ...
- 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板
开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...
- 小白自制Linux开发板 三. Linux内核与文件系统移植
上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...
- 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡
本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...
- 小白自制Linux开发板 六. SPI TFT屏幕修改与移植
本文章参考:https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0 本篇通过SPI接口,使用ST7789V TFT焊接屏(13p ...
随机推荐
- windows系统下使用bat脚本文件设置 tomcat 系统环境变量
说明:在一个bat文件中设置tomcat环境变量后,不能直接使用,需要另起一个bat文件才能使用 号开头的行不要写在bat文件中 # tomcat1.bat # 这个bat文件实现的功能:设置环境变量 ...
- 自定义mapping与常见参数
PUT test { "mappings": { "dynamic": true, "properties": { "firstn ...
- ELK基于ElastAlert实现日志的微信报警 ---docker环境
参考网址:https://github.com/anjia0532/elastalert-docker 1.拉取镜像: docker pull anjia0532/elastalert-docker: ...
- C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压
zip 是一个非常常见的压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作, 我们采用的是 微软官方的实现,所以也不需要安装第三方的组件包. 使用的时候记得 usi ...
- 用golang开发系统软件的一些细节
用golang开发系统软件的一些细节 作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 (本文的pdf版本) ...
- 痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事. 痞子衡最近在支持一个 i.MXRT1170 欧 ...
- .Net CLR GC plan_phase二叉树和Brick_table
楔子 别那么懒,勤快点.以下取自CLR PreView 7.0. 主题 GC计划阶段(plan_phase)主要就两个部分,一个是堆里面的对象构建一颗二叉树(这颗二叉树的每个节点包含了诸如对象移动信息 ...
- Double数据运算过程中精度调整
Double数据进行运算时,容易出现多位小数的精度问题 ①问题现象 ②解决方案 使用BigDecimal类型来进行Double类型数据运算 创建BigDecimal类型对象时将Double类型的数据转 ...
- 方法的重载(overload)
1.定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可. "两同一不同":同一个类.相同方法名 参数列表不同:参数个数不同,参数类型不同 2.举 ...
- 发送HTTP请求方法- 留着自用
/** * 发送HTTP请求方法,目前只支持CURL发送请求 * @param string $url 请求URL * @param array $data POST的数据,GET请求时该参数无效 * ...