1.两种接口的 WIFI: USB 和 SDIO,

其中 USBWIFI 使用使用的芯片为 RTL8188EUS 或 RTL8188CUS,

SDIO 接口的 WIFI 使用芯片为RTL8189FS,也叫做 RTL8189FTV。

WIFI 驱动不需要我们编写,因为 realtek 公司提供了 WIFI 驱动源码,因此我们只需要将 WIFI 驱动源码添加到 Linux 内核中,然后通过图形化界面配置,选择将其编译成模块即可。

2.不管是 USB WIFI 还是 SDIO WIFI,联网的操作步骤如下所示:

①、插上 WIFI 模块,如果是板子集成的就不需要这一步。如果是 SDIO WIFI 的话确保 WIFI所使用的 SDIO 接口没有插其他的模块,比如 SD 卡,防止其他模块对 SDIO WIFI 造成影响。

②、加载 RTL8188 或者 RTL8189 驱动模块。

③、使用 ifconfig 命令打开对应的无线网卡,比如 wlan0 或 wlan1……

④、无线网卡打开以后使用 iwlist 命令扫描一下当前环境下的 WIFI 热点,一来测试一下

WIFI 工作是否正常。二来检查一下自己要连接的 WIFI 热点能不能扫描到,扫描不到的话肯定就没法连接了。

当上述步骤确认无误以后就可以使用 wpa_supplicant 来将 WIFI 连接到指定的热点上,实现联网功能。

3.要连接的 WIFI 热点扫描到以后就可以连接了,先在开发板根文件系统的/etc 目录下创建一个名为“wpa_supplicant.conf”的配置文件,此文件用于配置要连接的 WIFI 热点以及 WIFI 秘密,比如我要连接到“123456”这个热点上,因此 wpa_supplicant.conf 文件内容如下所示:

wpa_supplicant.conf 文件内容
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
    ssid="123456"   //WIFI 热点名字
    psk="xxxxxxxx"  //WIFI 热点密码
}

3.1wpa_supplicant.conf 文 件 编 写 好 以 后 再 在 开 发 板 根 文 件 系 统 下 创 建 一 个

“/var/run/wpa_supplicant”目录, wpa_supplicant 工具要用到此目录!命令如下:

mkdir /var/run/wpa_supplicant -p

3.2一切准备好以后就可以使用 wpa_supplicant 工具让 RTL8188 USB WIFI 连接到热点上,输入如下命令:

wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 &

3.3当 RTL8188 连接到 WIFI 热点上以后会输出“wlan0: CTRL-EVENTCONNECTED”字样。接下来就是最后一步了,设置 wlan0 的 IP 地址,这里使用 udhcpc 命令从路由器申请 IP 地址,输入如下命令:

udhcpc -i wlan0 //从路由器获取 IP 地址

3.4可以输入如下命令查看一下 wlan0 网卡的详细信息:

ifconfig wlan0

3.5可以通过电脑 ping 一下 wlan0 的 192.168.1.126 这个 IP 地址,如果能 ping 通就说明 RTL8188

USB WIFI 工作正常。也可以直接在开发板上使用 wlan0 来 ping 一下百度网站,输入如下命令:

ping -I 192.168.1.126 www.baidu.com

-I 是指定执行 ping 操作的网卡 IP 地址,我们要使用 wlan0 去 ping 百度网站,因此要通过“-I”指定 wlan0 的 IP 地址。

物联沃分享整理
物联沃-IOTWORD物联网 » 详解Linux下的WiFi驱动

发表评论