雷凌RT5372无线网卡,搭建AP和STA,WPS(WSC)连接

2024-05-09 21:32

本文主要是介绍雷凌RT5372无线网卡,搭建AP和STA,WPS(WSC)连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 阐述

前段时间,使用两块雷凌RT5372无线网卡,在Linux下搭建AP和STA,利用WPS(WSC)方式进行连接。调试过程也没那么复杂,在此也简单做个小结;

   WPS或WSC其实是指相同的东西,WPS的概念就不累赘讲解了,网上很多资料有阐述;如,一键加密WPS使用指南 磊科无线路由器方式进行连接,深入理解Android:Wi-Fi,NFC和GPS,WPS以及它的两种方式PIN与PBC的理解等等。

接下来就是驱动了,在此之前,由于STA驱动我拿到的是一份不支持WPS功能的驱动,折腾了一小会才发现驱动不对(这里指软件,但硬件必须支持WPS),最后才通过网络下载到适合的驱动,就我目前所见到的,雷凌系列的网卡驱动且支持WPS的驱动的一般编译出来了都有三个.ko文件的,而且配置文件config.mk有配置项,如果没有标明该驱动不支持WPS模式;

# Support WSC function
HAS_WSC=y
HAS_WSC_V2=y
HAS_WSC_LED=n
HAS_IWSC_SUPPORT=n


这里给出连个驱动的下载链接:2011_0517_RT5370_RT5372_RT5390U_Linux_AP_V2.6.0.0_DPA.tar.bz2,DPA_RT5572_LinuxSTA_2.6.1.4_20121211.tar.bz2

  手册 :MTK_Wi-Fi_STA_Software_Programming_Guide_v1.2,MTK_Wi-Fi_SoftAP_Software_Programming_Guide_v2.4

编译可以参考网友embed_huang 的  一键加密:WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)

2. 指令使用:AP和STA指令设置流程(指令该大小的大写,该小写的小写)

------------------------- AP ------------------------------
iwpriv ra0 set Debug=3   设置调试等级

[Unconfigured AP] <- EAP/UPnP -> [Registrar] 
1.  PIN 
(1)  on AP side 
    iwpriv ra0 set WscConfMode=7 
    iwpriv ra0 set WscConfStatus=1 ;; AP is un-configured 
    iwpriv ra0 set WscMode=1 
    iwpriv ra0 set WscGetConf=1 
  iwpriv ra0 set WscGenPinCode  //随机创建PIN码  
    iwpriv ra0 stat               //查看AP's PIN码 要使用dmesg指令才看得到
 
2.  PBC 
(1)  on AP side 
    iwpriv ra0 set WscConfMode=7 
    iwpriv ra0 set WscConfStatus=1 ;; AP is un-configured
    iwpriv ra0 set WscMode=2 
    iwpriv ra0 set WscGetConf=1 


[AP+Registrar] <- EAP -> [Client] 
1.  PIN 
(1)  on AP side 
    iwpriv ra0 set WscConfMode=7 
    iwpriv ra0 set WscPinCode=XXXXXXXX (enter the enrollee's PIN, the PIN 
from WPS client) 
    iwpriv ra0 set WscMode=1 
    iwpriv ra0 set WscGetConf=1. 
   
2.  PBC 
(1)  on AP side 
    iwpriv ra0 set WscConfMode=7 
    iwpriv ra0 set WscMode=2 
    iwpriv ra0 set WscGetConf=1.


------------------------- STA ------------------------------
iwpriv ra0 debug 3   设置调试等级

1. Enrollee Mode
1.1) PIN mode:
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1;; Enrollee
iwpriv ra0 wsc_mode 1;; PIN
iwpriv ra0 wsc_ap_band 0 (or 1);; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
iwpriv ra0 wsc_gen_pincode    //随机创建PIN码 
iwpriv ra0 stat  //查看STA's PIN码

1.2) PBC mode:
{ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1;; Enrollee
iwpriv ra0 wsc_mode 2;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1);; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_start


2. Registrar Mode
2.1) PIN mode:
iwpriv ra0 wsc_conf_mode 2;; Registrar
iwpriv ra0 wsc_mode 1;; PIN
iwpriv ra0 wsc_pin xxxxxxxx;; AP's PIN Code
iwpriv ra0 wsc_ap_band 0 (or 1);; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start

2.2) PBC mode: 
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2;; Registrar
iwpriv ra0 wsc_mode 2;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1);; 0: prefer 2.4, 1: prefer 5G
iwpriv ra0 wsc_start


3. 如果在windows下使用网卡连接Linuxd AP 

Linux平台: Ubuntu 12.04.2 (GNU/Linux 3.5.0-23-generic i686)
     硬件: USB无线网卡(雷凌RT5372) 

Windows平台: Win7 
       硬件: USB无线网卡(瑞昱 RTL8192CU)

设置
iwpriv ra0 set WscConfMode=7或5 
iwpriv ra0 set WscConfStatus=2  ;; AP is configured 

  Windows下使用USB无线网卡连接AP时会随机出现“根据路由器上的标签键输入8位PIN”或“通过按路由器上的按钮也可以连接”的提示,如图片WPS-for-PC-link.jpg所示;
  在参考STA指令设置便可实现Windows上使用WPS连接AP;

WPS模式:通过PIN码或PBC方式连接,从而获取AP的秘钥,因此用户无需手动输入秘钥;STA保存了AP的秘钥,以后的连接跟普通方式一样通过秘钥验证;
如果秘钥被修改了,则需要通过WPS模式重新再连接;

由这两天调试可知,WPS模式只是屏蔽了用户手动输入秘钥的环节,通过内部机制获取到AP的秘钥和配置其他信息;获取到的配置依旧写入/etc/Wireless/RT2870STA/RT2870STA.dat文件中,如AuthMode,EncrypType,WPAPSK等配置选项;





这篇关于雷凌RT5372无线网卡,搭建AP和STA,WPS(WSC)连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974550

相关文章

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2