Linux(树莓派)系统中判断WiFi是否连接上路由器的方法

2023-05-16

之前(https://blog.csdn.net/u010299133/article/details/105823339)介绍过在Linux系统中使用wpa_supplicant连接到指定的WiFi路由器的方法,现在需要判断是否连接上路由器,以及如何获取因为WiFi密码错误造成的无法连接路由器的方法。大致思路是在使用wpa_suppliant工具连接WiFi路由器的时候使用参数(-f )指定一个log文件存放的路径文件。如:-f /tmp/wpa.log。当执行完wpa_suppliant(sudo wpa_supplicant -B -D wext -f /tmp/wpa.log -c /etc/wpa_suppl.conf -i wlan0)后,会将log信息存放在/tmp/wpa.log中,然后应用程序就打开这个文件并且解析里面的内容,从而获取到WiFi的连接状态。

注意:这种方法的时效性比较差,一般执行完5、6秒钟后,才会生成完整的log信息。

正常连接路由器的wpa.log信息:

Successfully initialized wpa_supplicant
rfkill: Cannot get wiphy information
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with 9c:a6:15:a0:0d:5a (SSID='TP-LINK' freq=2462 MHz)
Failed to add supported operating classes IE
wlan0: Association request to the driver failed
wlan0: Associated with 9c:a6:15:a0:0d:5a
wlan0: WPA: Key negotiation completed with 9c:a6:15:a0:0d:5a [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 9c:a6:15:a0:0d:5a completed [id=0 id_str=]

从中可以获取到关键信息:wlan0: CTRL-EVENT-CONNECTED - Connection to 9c:a6:15:a0:0d:5a completed [id=0 id_str=]。代表正常连接到路由器。

 

如果WiFi的密码输入有误,那么wpa.log的信息:

ioctl[SIOCSIWAP]: Operation not permitted
wlan0: CTRL-EVENT-DISCONNECTED bssid=9c:a6:15:a0:0d:5a reason=3 locally_generated=1
ioctl[SIOCSIWAP]: Operation not permitted
wlan0: CTRL-EVENT-TERMINATING 
Successfully initialized wpa_supplicant
rfkill: Cannot get wiphy information
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with 9c:a6:15:a0:0d:5a (SSID='TP-LINK' freq=2462 MHz)
Failed to add supported operating classes IE
wlan0: Association request to the driver failed
wlan0: Associated with 9c:a6:15:a0:0d:5a
wlan0: Authentication with 9c:a6:15:a0:0d:5a timed out.
ioctl[SIOCSIWAP]: Operation not permitted
wlan0: CTRL-EVENT-DISCONNECTED bssid=9c:a6:15:a0:0d:5a reason=3 locally_generated=1
wlan0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="TP-LINK" auth_failures=1 duration=10 reason=WRONG_KEY
wlan0: CTRL-EVENT-SSID-REENABLED id=0 ssid="TP-LINK"
wlan0: Trying to associate with 9c:a6:15:a0:0d:5a (SSID='TP-LINK' freq=2462 MHz)
Failed to add supported operating classes IE
wlan0: Association request to the driver failed
wlan0: Associated with 9c:a6:15:a0:0d:5a
wlan0: Authentication with 9c:a6:15:a0:0d:5a timed out.
ioctl[SIOCSIWAP]: Operation not permitted
wlan0: CTRL-EVENT-DISCONNECTED bssid=9c:a6:15:a0:0d:5a reason=3 locally_generated=1
wlan0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="TP-LINK" auth_failures=2 duration=26 reason=WRONG_KEY
wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="TP-LINK" auth_failures=3 duration=36 reason=CONN_FAILED

定位关键信息:

wlan0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
或者:
reason=WRONG_KEY

可以发现连不上路由器是因为密码的错误。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux(树莓派)系统中判断WiFi是否连接上路由器的方法 的相关文章

  • 嵌入式开发工程师面试题 – C语言部分

    嵌入式开发工程师面试题 C语言部分 申明 xff1a 来源于嵌入式开发工程师面试题 C语言部分 和 网摘 xff09 xff01 1 内核的裁剪怎么裁剪 解析 xff1a 在linux 下的ubuntu 上面做内核的 裁剪 xff0c 主要
  • 协方差与自相关

    协方差矩阵是一个矩阵 xff0c 其每个元素是各个向量元素之间的协方差 这是从标量随机变量 到高维度随机向量 的自然推广 假设是以个标量随机变量组成的列向量 xff0c 并且是其第i个元素的期望值 xff0c 即 协方差矩阵被定义的第i x
  • 基础解系

    基础解系首先是线性无关的 xff0c 简单的理解就是能够用它的线性组合表示出该 方程组的任意一组解 xff0c 基础解系是针对有无数多组解的方程而言 xff0c 若是齐次线性方程组则应是有效方程组的个数少于未知数的个数 xff0c 若非齐次
  • 机器学习实践指南:案例应用解析(第二版)

    试读及购买链接 机器学习实践指南2版代码及资源 原书中的360网盘链接因为360关闭网盘的原因已经失效 1 https pan baidu com s 1nw37A5N 2 http www hzbook com Books 9324 ht
  • 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声

    图像产生加性零均值高斯噪声 xff0c 在灰度图上加上噪声 xff0c 加上噪声的方式是每个点的灰度值加上一个噪声值 xff0c 噪声值的产生方式为Box Muller算法 生成高斯噪声 在计算机模拟中 xff0c 经常需要生成正态分布的数
  • 数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

    coding utf 8 code myhaspl 64 myhaspl com 邻域平均法滤波 半径为2 import cv2 import numpy as np fn 61 34 test3 jpg 34 myimg 61 cv2 i
  • R语言与数据模型(1)-平均,方差,中位数,分位数,极差

    1 求平均数 gt x lt c 1 10 20 30 40 50 NA 60 gt xm lt mean x gt xm 1 NA na rm表示允许缺失数据NA gt xm lt mean x na rm 61 TRUE gt xm 1
  • FreeRTOS系列|中断管理和临界段

    FreeRTOS中断管理和临界段 1 中断管理 1 1 中断管理简介 中断是微控制器的一个常见特性 xff0c 中断由硬件产生 xff0c 当中断产生后CPU就会中断当前的流程转而去处理中断服务 xff0c Cortex M内核的MCU提供
  • AI理论随笔-对称矩阵、正交矩阵与特征向量,特征值(2)

    一 如果 xff1a A A T 61 E AA T 61 E A A T 61 E
  • 英文过滤停用词

    span class token triple quoted string string 34 34 34 Created on Sun Nov 13 09 14 13 2016 64 author daxiong 34 34 34 spa
  • C语言随笔-去掉仅有\n的行

    include lt stdio h gt int main int argc const char argv char str 128 char linep strcpy str 34 12 35 56 n12 33 87 n n n n
  • python3.6-深入浅出视频

    课程收益 适合人群 python小白 xff0c 大数据和机器学习编程程序员 上机实践为主线 以最快的速度上手 快速入门 xff0c 还学到了python3的核心知识 https edu csdn net course detail 989
  • 数学之路(3)-机器学习(3)-机器学习算法-神经网络[11]

    多层感知器的代码 xff0c 需要一个比较复杂的调试过程 xff0c 不过也有一些方法来加快这一速度 xff0c 其中有几个地方要注意 xff1a 1 输入层 输出层 中间层的学习率和动量参数不能一样 xff0c 2 3个层的权值策略不能一
  • opencv中ArUco识别

    姿态估计 xff08 Pose estimation xff09 在 计算机视觉领域扮演着十分重要的角色 xff1a 机器人导航 增强现实以及其它 这一过程的基础是找到现实世界和图像投影之间的对应点 这通常是很困难的一步 xff0c 因此我
  • PID算法的EXCEL模拟实现

    增量式PID算法公式 xff1a 在表格里可以看见PID算法在目标值和实际值差异较大时 xff0c 控制量也很大 xff0c 主要是比例环节起到主要的调节作用 xff0c 在目标值和实际值相等时 xff0c 主要的控制量是积分环节 xff0
  • 三极管基本知识

    导通条件 NPN型三极管的导通条件是C点电位 gt B点电位 gt E点电位 xff0c 三极管饱和导通的条件是Ub gt Ue Ub gt Uc PNP型三极管的导通条件是E点电位 gt B点电位 gt C点电位 xff0c 三极管饱和导
  • 5.FreeRTOS学习笔记- 互斥量

    基本概念 互斥量又称互斥信号量 本质是信号量 是一种特殊的二值信号量 互斥量 支持互斥量所有权 递归访问以及防止优先级翻转的特性 用于实现对临界资源 如显示器 打印机 的独占式访问 任意时刻互斥量的状态只有两种 开锁或闭锁 持有该互斥量的任
  • could not stop cortex-m device 问题

    出现问题原因 xff1a 调试程序过程中mdk突然奔溃 xff0c 之后就再也下载程序失败 xff0c 但是读取swd IDCODE OK 下载程序就报错 个人觉得应该是单片机内部保护了 问题图 问题处理办法 先检查3 3v和GND是否短路
  • FreeRTOS系列|任务堆栈

    任务堆栈 运行freertos系统的大部分都是资源有限的MCU xff0c 所以对于RAM我们都要考虑尽量的节省 xff0c 避免资源浪费 下面将会基于Cortex M3内核的STM32F103型MCU来介绍FreeRTOS任务栈大小的确定
  • 9. GD32F103C8T6 定时器2的更新中断触发定时器0开始计时

    1 初始化定时器TIM0 span class token comment 定时器的基本初始化和打开更新中断 enable 是否使能定时器 span span class token keyword static span span cla

随机推荐

  • 4.GD32F103C8T6 串口中断方式接收数据和输出重定向

    1 串口基本初始化 span class token comment 基本初始化函数 span span class token keyword void span span class token function usart base
  • 5.GD32F103C8T6 串口DMA+IDLE方式接收数据

    1 串口的基本初始化 span class token keyword void span span class token function usart base init span span class token punctuatio
  • 26. GD32F103C8T6入门教程-CAN外设回环测试

    1 基础知识 相关stm32CAN外设 外设特征 3个发送邮箱 2个深度为3个邮箱的接收FIFO 自动重传 自动唤醒 发送 接收时间戳 最大速率1Mbps 3种工作模式 睡眠模式 可以检车总线状态自动唤醒 初始化工作模式 如果需要对 CAN
  • stm32 操作W25Q256 W25Q16 spi flash

    硬件连接 本函数库来自正点原子官方 xff0c 本人稍作修改和添加注释 W25Q16 2M Byte W25Q256 32M Byte spi 配置 2022 7 27 经过测试 华邦的 W25Q256JV 32M 字节 容量的spi fl
  • ESP32学习笔记20-dac

    20 DAC 20 1概述 ESP32 有两个 8 位数模转换器 DAC 通道 分别连接到 GPIO25 通道 1 和 GPIO26 通道 2 每个 DAC 通道可以将数字值 0 255 转换成模拟电压 0 Vref out voltage
  • ESP32学习笔记21-esp32启动流程

    24 esp32启动流程 第一 xff0c 第二阶段启动流程 第三阶段的详细流程
  • ESP32学习笔记22-TWAI-CAN

    22 TWAI CAN 22 1概述 22 1 1参考博客 ESP32 基于自带控制器实现CAN总线通信 上 知乎 zhihu com ESP32 基于自带控制器实现CAN总线通信 下 知乎 zhihu com 22 1 2 ESP32 T
  • Python str和bytes的相互转换

    str0 61 39 abc 39 a 61 bytes str0 39 utf 8 39 print type str0 str0 print type a a print 39 39 c 61 bytes 97 98 99 100 pr
  • wxpython 基本的控件 (按钮)

    在wxPython 中有很多不同类型的按钮 这一节 xff0c 我们将讨论文本按钮 位图按钮 开关按钮 xff08 toggle buttons xff09 和通用 xff08 generic xff09 按钮 如何生成一个按钮 xff1f
  • FreeRTOS系列|处理器利用率

    处理器利用率 1 处理器利用率统计的作用 处理器利用率其实就是系统运行的程序占用的CPU资源 xff0c 表示机器在某段时间程序运行的情况 xff0c 如果这段时间中 xff0c 程序一直在占用CPU的使用权 xff0c 那么可以认为CPU
  • QT 多线程使用QTcpSocket

    本人亲测使用moveToThread xff08 xff09 的方式可以 xff1b 不存在报错 xff0c 警告 include 34 widget h 34 include 34 ui widget h 34 Widget Widget
  • ESP8266天猫精灵接入流程

    Blinker天猫精灵接入流程 设备上线 设置接入的设备类型 设置接入设备的auth Key 设置SSID PSWD 或者选择 ESPTOUCH等配网方式 下载代码等待设备接入上线成功 authKey对应的设备若需要更换接入的设备类型 xf
  • 存储器的分类

    目录 01 ROM 02 非易失性RAM 2 1原理 2 2发展 2 3 摩尔定律 03 易失性RAM 3 1原理 3 2发展 3 3总结 04 总结 储器类型有很多 xff0c 常见的有ROM xff08 Read onlymemory只
  • RT - thread学习(一)

    目录 一 RT thread介绍 二 RT thread移植 首先我们先在官网获取 编辑 对无关的文件进行剪裁 剪裁后的内核文件移植到sdk文件 配置内核文件 一 RT thread介绍 rt thread是国产的一款开源的实时操作系统 这
  • 机器学习基本概念

    文章目录 深度学习和机器学习NLP xff08 Natural language processing xff09 Confusion Matrix 混淆矩阵ROC xff08 Receiver Operator Characteristi
  • ROS Kinetic中OpenCV使用

    ROS Kinetic中OpenCV使用 本文主要记录了ROS Kinetic中OpenCV的使用 xff0c Kinetic完全安装中本身自带了Opencv3 3 1 xff0c 因此在ROS中可以直接用ROS自带的Opencv3 3 1
  • ROS下gazebo不能加载willowgarage世界

    在打开gazebo ros打开williowgarage的时候 xff0c 能够找到willowgarage world的文件 xff0c 但是gazebo不能够加载这个模型 xff0c 主要原因是gazebo的model里面并没有mode
  • Mac OS下安装串口调试工具minicom

    最近在做一个Mac下的ssh调试工具 xff0c 但是出现了一点问题 后来发现居然Mac下有串口调试工具可以用 xff0c 所以果断换串口了 xff0c 是普通PL2303芯片的usb转串口线 接下来说下简单的安装步骤吧 我是勤劳的搬砖工
  • Eclipse等IDE配置Anaconda/Python3开发环境(win10_x64)

    分诊台 正所谓 洞庭揽物 xff0c 各有所怀 xff0c 博客点击 xff0c 也是各有所需 为了能让读者节约时间 xff0c 本小百姓 xff0c 写博客时尽力将博客内容各部分内容解耦 xff0c 但仍保持一定的连贯性 xff0c 并参
  • Linux(树莓派)系统中判断WiFi是否连接上路由器的方法

    之前 xff08 https blog csdn net u010299133 article details 105823339 xff09 介绍过在Linux系统中使用wpa supplicant连接到指定的WiFi路由器的方法 xff