Linux目前有两种方法配置网络:

  • wireless-tools
  • wpa_supplicant

iw支持的驱动较多,但只支持WEP加密;wpa_supplicant有部分驱动支持不完善,但支持WEP、WPA、WPA2加密。

由于WEP在现在市面的路由器中已经几乎被淘汰,因此使用wpa_supplicant进行连接。wpa_supplicant初次配置较为复杂,但配置一次后,下次遇到该AP时就可以自动连接。

初次配置

1. 启动网卡和程序

编辑配置文件/etc/wpa_supplicant.conf,写入如下内容(如没有该文件则新建):

  1. ctrl_interface=/var/run/wpa_supplicant
  2. update_config=1

update_config=1表示允许更改配置。

启动无线网卡:

  1. ifconfig wlan0 192.168.15.11 up

启动wpa_supplicant:

  1. wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &

其中,-i指定网卡,-c指定配置文件。

进入wpa_cli界面:

  1. wpa_cli

在CLI界面中,可以输入各种命令修改网卡配置。

注意,在CLI中回退字符时,需要按Ctrl + Backspace,直接按Backspace会被当做一般的字符输入。

2. 扫描AP

使用scan命令扫描网络,扫描完毕后使用scan_results查看网络:

  1. > scan
  2. ......
  3. >> scan_results
  4. ... ...

3. 增加网络

使用add_network增加网络,会增加一个网络编号。然后使用list_network查看网络信息:

  1. > add_network
  2. 0
  3. > list_network
  4. network id / ssid / bssid / flags
  5. 0 any [DISABLED]

4. 设定SSID和密码

  1. > set_network 0 ssid "HONOR315"
  2. OK
  3. > set_network 0 psk "12345678"
  4. OK

5. 使能网络连接

使用enable_network命令使能网络连接,出现CTRL-EVENT-CONNECTED表示已经连接完毕。

  1. > enable_network 0
  2. ... ...
  3. <3>CTRL-EVENT-CONNECTED - Connection to 94:37:f7:a5:1f:80 completed [id=0 id_str=]

6. 保存配置

使用status命令查看网络状态。输入save 保存配置。

  1. > status
  2. ... ...
  3. > save
  4. OK

最后输入quit退出CLI,回到终端。

  1. > quit

此时可以查看网卡状态:

  1. ifconfig wlan0
  2. iw wlan0 info

查看配置文件,已经发生变化:

  1. cat /etc/wpa_supplicant.conf

7. 网卡连通测试

电脑ping开发板:

开发板ping电脑:

加入开机自启动

经过以上配置,只要wlan0网卡启动,且AP在信号范围内,就会自动进行连接。

如果有多个AP,可以在wpa_supplicant.conf中添加优先级:

  1. ctrl_interface=/var/run/wpa_supplicant
  2. update_config=1
  3. network={
  4. ssid="CNV315"
  5. psk="12345678"
  6. priority=2
  7. }

不过,这样仍然需要手动启动网卡和wpa_supplicant,需要输入2条命令。因此,将命令加入开机加载的脚本,以便开机自启动。

编辑/etc/rc.local,在文件末尾添加以下内容:

  1. # start wlan0 with static ip
  2. ifconfig wlan0 192.168.15.11 up
  3. 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. kubernetes为容器定义环境变量

    示例Pod 的配置文件 envars.yaml Copy envars.yaml to clipboard apiVersion: v1 kind: Pod metadata: name: envar ...

  2. Prometheus高可用部署

    Prometheus的本地存储给Prometheus带来了简单高效的使用体验,可以让Promthues在单节点的情况下满足大部分用户的监控需求.但是本地存储也同时限制了Prometheus的可扩展性, ...

  3. 谣言检测——(PSA)《Probing Spurious Correlations in Popular Event-Based Rumor Detection Benchmarks》

    论文信息 论文标题:Probing Spurious Correlations in Popular Event-Based Rumor Detection Benchmarks论文作者:Jiayin ...

  4. [题解] Codeforces Global Round 22 1738 A B C D E F 题解

    很久没rated打过cf的比赛了,这次打得还行,至少进前100了 点我看题 A. Glory Addicts 把类型0的数放进数组a里,类型1的数放进数组b里.如果\(|a|=|b|\),你可以把所有 ...

  5. 220501 T1 困难的图论 (tarjan 点双)

    求满足题目要求的简单环,做出图中所有的点双,用vector存储点双中的边,如果该点双满足点数=边数,就是我们想要的,求边的异或和即可:如果该点双点数小于边数,说明有不只一个环覆盖,不满足题意. 1 # ...

  6. 21.drf视图系统组成及继承关系

    APIView REST framework提供了一个 APIView 类,它是Django的 View 类的子类. APIView 类和Django原生的类视图的 View 类有以下不同: 传入的请 ...

  7. 【React】学习笔记(二)——组件的生命周期、React脚手架使用

    原教程视频:ttps://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.组件的生命周期 1.1.生命周 ...

  8. Spark基本知识

    Spark基本知识 Spark 是一种基于内存的快速.通用.可扩展的大数据分析计算引擎. spark与hadoop的区别 Hadoop Hadoop 是由 java 语言编写的,在分布式服务器集群上存 ...

  9. 重新整理 .net core 实践篇 ———— linux上排查问题实用工具 [外篇]

    前言 介绍下面几个工具: Lldb createdump dotnet-dump dotnet-gcdump dotnet-symbol Procdump 该文的前置篇为: https://www.c ...

  10. 16.python中的回收机制

    python中的垃圾回收机制是以引用计数器为主,标记清除和分代回收为辅的 + 缓存机制 1.引用计数器 在python内部维护了一个名为refchain的环状双向链表,在python中创建的任何对象都 ...