Linux中无线功能介绍

  介绍

本篇内容介绍了“Linux中无线功能介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

无线模块驱动

使用系统WIFI功能的第一步是确定设备无线模块的型号并安装相应的驱动程序。在嵌入式开发中,一般是需要获取到WIFI模块的驱动源码,然后进行交叉编译来构建驱动模块并使用insmod命令进行安装。

一般而言,WIFI模块具有两种工作模式:

<李>

站模式:工作站模式,用来接入路由器等美联社

<李>

AP模式:接入点模式,用来被接入使用

不同模式的WIFI驱动代码可能不一样,所以也许会需要安装两个驱动模块,分别来支持这两种模式功能,具体请参考对应WIFI模块的手册与指南文档。

主要工具

Linux系统中主要使用的无线配置工具有两种:

<李>

无线工具:包含iwconfig, iwlist, iwspy, iwpriv等工具,主要配置wep加密WIFI

<李>

wpa_supplicant:包含wpa_cli, wpa_supplicant等工具,主要配置水渍险加密WIFI

因为目前常用的WIFI网络大部分都是使用的wpa协议进行加密,所以wpa_supplicant工具使用的比较多,但是在无线接口的管理方面,无线工具工具依然还是很有用的。

该无线工具工具包是Linux无线扩展(LWE)的用户层配置工具之一.LWE是Linux下对无线网络配置的工具,包括内核的支持,用户层配置工具和驱动接口的支持三部分。目前很多无线网卡都支持LWE,而且主流的Linux发布版本,比如Redhat Linux Ubuntu Linux都已经带了这个配置工具。

编译构建之后会生成命令:iwconfg, iwlist, iwspy, iwpriv等,这些命令的使用依赖于生成的动态库文件:libiw.so。29,因此拷贝这些命令到目标机器上时,记得将该库文件一起拷贝到系统的lib目录下面,否则会提示找不到库文件。

iwconfig是LWE最主要的工具,可以对无线网卡的大部分参数进行配置。具体的命令参数与选项可以通过help命令来查看了解。其中一些参数的解释如下:

  • essid:设置无线网卡的ESSID(Extension Service Set ID)。通过ESSID来区分不同的无线网络,正常情况下只有相同ESSID的无线站点才可以互相通讯,除非想监听无线网络。其后的参数为双引号括起的ESSID字符串,或者是any/on/off,如果ESSID字符串中包含any/no/off,则需要在前面加"--"。

  • mode:设置无线网卡的工作模式,可以是

    • Ad-hoc:不带AP的点对点无线网络

    • Managed:通过多个AP组成的网络,无线设备可以在这个网络中漫游

    • Master:设置该无线网卡为一个AP

    • Repeater:设置为无线网络中继设备,可以转发网络包

    • Secondary:设置为备份的AP/Repeater

    • Monitor:监听模式

    • Auto:由无线网卡自动选择工作模式

  • freq/channel:设置无线网卡的工作频率或者频道,小于1000的参数被认为是频道,大于10000的参数被认为是频率。频率单位为Hz,可以在数字后面附带k, M, G来改变数量级,比如2.4G。频道从1开始。使用iwlist工具可以查看无线网卡支持的频率和频道。参数off/auto指示无线网络自动挑选频率。 注意:如果是Managed模式,AP会指示无线网卡的工作频率,因此该设置的参数会被忽略。Ad-hoc模式下只使用该设定的频率初始无线网络,如果加入已经存在的Ad-hoc网络则会忽略该设置的频率参数。

  • ap:连接到指定的AP或者无线网络,后面的参数可以是AP的MAC地址,也可以是iwlist scan出来的标识符。如果是Ad-hoc,则连接到一个已经存在的Ad-hoc网络。使用off参数让无线网卡不改变当前已连接的AP下进入自动模式。any/auto参数,无线网卡自动选择最好的AP。 注意:如果无线信号低到一定程度,无线网络会进入自动选择AP模式。

  • rate/bit:如果无线网卡支持多速率,则可以通过该命令设置工作的速率。小于1000的参数由具体的无线网卡驱动定义,一般是传输速率的索引值,大于1000的为速率,单位bps,可以在数字后面附带k, M, G来指定数量级。auto参数让无线网卡自动选择速率fixed参数让无线网卡不使用自动速率模式。

  • txpower:如果无线网卡支持多发射功率设定,则使用该参数设定发射,单位为dBm,如果指定为W(毫瓦),则转换公式为: dBm=30+log(W)。参数on/off可以打开和关闭发射单元,auto和fixed指定无线是否自动选择发射功率。

    Linux中无线功能介绍