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。

参考资料:

wpa_supplicant使用方法(简体中文,与英文不同步)

wpa_supplicant使用方法(英文原版)

wpa_supplicant 配置与应用

Linux开发板连接WPA加密的AP路由器的更多相关文章

  1. 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测

    ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...

  2. 小白自制Linux开发板 二. u-boot移植

    上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB  中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...

  3. Linux开发板(树莓派)和服务器进行双向通信(socket)

    前言 ​ 物联网是目前嵌入开发必备的属性之一,我们常常需要把自己开发板和云端进行交互,本篇博文就记录一下. ​ 使用Socket来实现Linux开发板和服务器进行双向通信,Python中是默认集成了s ...

  4. 嵌入式Linux开发板

    嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...

  5. 使用Arduino开发板连接干簧管(Reed Switch)的方法

    在现实生活中,干簧管(Reed Switch)有许多重要的应用,如磁性门开关.笔记本电脑.智能手机等.在本篇文章中,我们将了解一些干簧管的知识,并介绍如何使用Arduino开发板连接干簧管. 干簧管( ...

  6. 3.使用secureCRT连接PC,LINUX,开发板

    1.设置secureCRT(可选项):http://www.linuxyw.com/linux/gongxiang/20130505/161.html 2.使用secureCRT远程登录linux 3 ...

  7. 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板

    开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...

  8. 小白自制Linux开发板 三. Linux内核与文件系统移植

    上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...

  9. 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡

    本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...

  10. 小白自制Linux开发板 六. SPI TFT屏幕修改与移植

    本文章参考:https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0 本篇通过SPI接口,使用ST7789V TFT焊接屏(13p ...

随机推荐

  1. 第五章:Admin管理后台 - 2:自定义Admin actions

    通常情况下,admin的工作模式是"选中目标,然后修改目标",但在同时修改大量目标的时候,这种模式就变得重复.繁琐. 为此,admin提供了自定义功能函数actions的手段,可以 ...

  2. kubernetes(k8s)命令大全

    状态查询 # 查看集群信息 # kubectl cluster-info Kubernetes control plane is running at https://127.0.0.1:8443 K ...

  3. 为什么 CRM 能帮助装备制造企业进行数字化转型?

    CRM确实能帮助装备制造企业进行数字化转型,体现在销售管理端,能方便的服务于"客户需求"为主旨的数字化转型思想,用客户的需求来指导生产等.但这个说法有点片面,毕竟那只是客户管理部分 ...

  4. [笔记] 二维FFT

    假设现在有2个矩阵a和b,分别是n行m列和x行y列,现在你要计算它们的二维卷积,也就是求出矩阵s满足: \(s_{i,j}=\sum_{i'\leq i,j'\leq j}a_{i',j'}b_{i- ...

  5. InetAddress.getLocalHost() 执行很慢?

    背景介绍 某次在 SpringBoot 2.2.0 项目的一个配置类中引入了这么一行代码: InetAddress.getLocalHost().getHostAddress() 导致项目启动明显变慢 ...

  6. 220403 考试爆炸记 (T1T2)

    T1 最大约数和 先放一下我考时的代码.(没想到能A过洛谷的数据,可能是洛谷的数据有点弱) #include<bits/stdc++.h> using namespace std; int ...

  7. 220514 T1 查询 (二分查找+vector)

    用vector记录每个数出现的位置,对于要查询的X,要找他落在L~R的个数有几个,用lower_bound和upper_bound查找,相减就是答案. 1 #include<bits/stdc+ ...

  8. 项目管理构建工具——Maven(高阶篇)

    项目管理构建工具--Maven(高阶篇) 我们在之前的文章中已经基本了解了Maven,但也仅仅只止步于了解 Maven作为我们项目管理构建的常用工具,具备许多功能,在这篇文章中我们来仔细介绍 分模块开 ...

  9. Linux根据时间过滤文件

    1.显示20分钟前的文件:       find /sdb1/apache-tomcat-show/logs/ -type f -mmin +20 -exec ls -l {} \; 2.删除20分钟 ...

  10. java连接数据库加载驱动到java项目

    java连接数据库 package com.cook.zheng; import java.sql.Connection; import java.sql.DriverManager; public ...