首页 > 代码库 > 树莓派学习笔记——USB wifi配置指南

树莓派学习笔记——USB wifi配置指南

0 前言
    树莓派既可以使用有线网络又可以无线网络,如果使用有线网络不方便的话可以借助USB wifi无线网卡让树莓派也插上无线“翅膀”。但是和使用有线网络即插即用的方式不同,USB wifi网卡需要进行一些配置。通过一天的配置实验,本文总结了树莓派wifi配置的两种方法——【1】使用wpa_gui工具方法和【2】修改配置文件方法。
    【1】使用wpa_gui工具方法
    wpa_gui是一种linux平台常用的wifi配置工具,wpa_gui具有图形界面操作简单。由于,树莓派B板只有两个USB端口,数量有限,在进行GUI操作时鼠标和键盘各需要一个USB端口,那么只能通过USB Hub扩充USB数量,只有这样USB wifi网口才有可插入的“位置”。
    【2】修改配置文件方法
    这种方式可以通过控制台或远程登录的方式修改,其实方法【1】便是通过GUI操作修改配置文件。使用配置文件的方法根据通用性,但是需要些linux经验。
    
    【相关博文】
    更多内容请查看——【树莓派学习笔记——索引博文】

1 购买合适的硬件
    通过京东淘宝或其他任何途径购买USB wifi网卡(USB 无线网卡)。理论上市面上多数USB 网卡均可使用,虽然品牌和外观有所不同,但是其wifi芯片往往相同,这也就意味着USB wifi的驱动相同,那么使用效果也是相似的。本例使用的USB wifi网卡为EP-N8508GS,该产品的更多信息请查看EDUP产品中心。

图1 USB wifi网卡——图片来EDUP

2.查看USB网卡是否载入
    输入以下指令查看USB设备信息
    lsusb
    在输出信息中可以看到Reaktek公司的无线网卡 RTL8188CUS。如果输出类似的信息说明树莓派已经默认安装了该网卡的驱动,通过适当的配置便可使用该USB无线网卡了。

图2 查看USB信息

    也可以通过lsmod指令查看USB设备是否载入,通过lsmod得到的网卡信息为8192cu。
    lsmod

图3 查看载入模块信息
    【我的疑问】
    通过lsusb和lsmod的结果存在一些细微的差别,lsusb获得的网卡信息为RTL8188CUS,而通过lsmod获得的网卡信息为8192cu。RTL8188C/8192C可能是同系列产品的不同型号(个人猜测,不能确定)。

3 wpa_gui工具方法
    【配置过程详解】
    在树莓派的桌面上包括wifi config的图标,双击便可进入配置界面,配置界面如图4所示。点击扫描可获得周围的wifi AP信息。

图4 进入配置界面

    在扫描界面中,再次点击扫描执行扫描动作,短短数秒便可获得周围的wifi AP信息。在列表栏选中某个AP,双击进入配置界面。

图5 扫描wifi 热点

    双击之后进入具体的热点配置界面,输入wifi密码点击增加即可。

图6 输入密码

    增加AP热点动作完成之后,返回主配置界面点击连接。
  
图7 点击连接

    最后配置完成,最终界面如下图所示。从界面中可以得出:
    【1】USB  wifi网卡的名称为wlan0
    【2】USB wifi网卡工作于station模式。
    【3】USB wifi网卡已经连接到名称为private_router的wifi热点中、
    【4】被分配的IP地址为192.168.1.111。

图8 最终界面

    【必要的验证】
    为了保证配置万无一失,建议输入以下指令重新启动USB wifi网卡
    sudo ifup wlan0
    输入iwconfig查看无线网卡信息
    iwconfig
 
图9 iwconfig

    通过ifconfig查看所有网卡信息,通过返回信息可以看出,此时树莓派被分配的IP地址为192.168.1.111。
    ifconfig

图10 ifconfig

4 修改配置文件方法
    前面已经通过GUI的方法修改了wifi配置文件,下面查看相关的配置文件来“逆向”上述过程。
    【查看interfaces】——位于/etc/networks
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

    其实该文件配置前后是一样的,树莓派的默认配置中便包含了一个wlan0,只是该wlan0没有指定AP也没有指定AP的密码。通过wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf可获知wifi的配置文件位于/etc/wpa_supplicant目录下。
    【结论】该文件并没有被改动

    【查看wpa_supplicant.conf】——位于/etc/wpa_supplicant
    cd /etc/wpa_supplicant
    sudo cat wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="AP名称"
        psk="AP密码"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}

    树莓派安装完成之后,该配置文件的头两行已经存在,通过GUI操作增加便是network部分。其中ssid参数为AP热点名称,psk为AP密码。另外还需要注意一点,network中每行均已TAB键开始
    【结论】该文件增加了network部分。

    【指令法扫描热点】
    和GUI操作相似,若尚不清楚周围的AP热点信息可依次输入以下指令。(个人觉得wpa_cli指令要比iwlist好用些,表达的信息更简洁明了)
    # 扫描热点
    wpa_cli scan
    # 把扫描结果输出到标准输出中
    wpa_cli scan_result
    # 获得结果

图11 热点扫描结果

    【重新启动热点】
    如果采用配置文件修改的方法,还需要输入sudo ifup wlan0重新启动无线网卡。

5 总结
    本文介绍了两种不同的wifi配置方法,GUI法操作简单但修改配置文件方法适用面更广。通过本博文可以帮助各位树莓派爱好者更方便的使用树莓派wifi功能。