适配wifi上网卡
EdgeBoard适配wifi上网卡
1 说明
本说明适用于edgeboard平台petalinux工具构建的18.3版本的文件系统和1.3.0版本以上的软核,以及当前支持的使用Realtek RTL8188CUS芯片的网卡。
Ubuntu系统使用wifi网卡请参考Ubuntu使用说明
2 已经验证的网卡及芯片型号
厂家 | 型号 | 芯片 | 购买链接 |
---|---|---|---|
基信达 | 免驱动C 300M高速 | RTL8192 | https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.4.30ba7484JKnRrH&id=595761389125 |
3 准备
- 查看内核默认是否支持usb无线网卡 插入USB无线网卡,串口或者dmesg命令查看内核是否打印以下信息,如果没有说明默认不支持。需要安装相关驱动及固件
usb 1-1.2: New USB device found, idVendor=0bda, idProduct=8176
[10172.874613] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10172.881926] usb 1-1.2: Product: 802.11n WLAN Adapter
[10172.886882] usb 1-1.2: Manufacturer: Realtek
[10172.891144] usb 1-1.2: SerialNumber: 00e04c000001
[10172.922507] rtl8192cu: Chip version 0x10
[10172.964510] rtl8192cu: Board Type 0
[10172.968088] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[10172.974466] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
也可以查看wlan接口是否加载,ifconfig -a, 如果发现wlan0设备,说明系统已经支持 另外,已经验证发布的zu5 1.3.0版本内核image.ub已经带了该模块, 可以不需要单独的ko驱动,如果未发现wlan0设备,可使用我们提供好的驱动和固件。
4 安装驱动(初次使用需安装)
- 下载驱动和固件 我们提供了已经编译好的驱动文件,以及依赖的官方固件程序。
- 先备份系统文件
cp -a /lib/modules/ /lib/modules_bak
- 拷贝文件modules_zu5_183.tgz到板子上,并解压,如果第一步已经支持,可以略过
tar -xzvf modules_zu5_183.tgz -C /lib/
depmod
- 拷贝文件firmware_183_wifi.zip到板子上,并解压、复制
unzip firmware_183_wifi.zip
mkdir /lib/firmware/rtlwifi/
cp -a firmware_183/* /lib/firmware/rtlwifi/
5 应用配置
驱动和固件安装完成后,下一步是wifi热点的配置,edgeboard提供了wifi配置工具为wpa_supplicant,是Linux常用WIFI配置组件,可以搜索相关教程进行详细设置, 这里给出简单示例 启动wifi适配器
ip link set wlan0 up
使用命令 wpa_supplicant 及 wpa_cli 配置WIFI连接 备份配置文件 /etc/wpa_supplicant.conf
cp /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf_bak
修改配置文件 /etc/wpa_supplicant.conf ,为如下内容
ctrl_interface=/var/run/wpa_supplicant
update_config=1
启动wpa_supplicant服务工具
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf > /dev/null &
其中wlan0为适配器接口名称,有可能变化,可根据ifconfig -a
命令获取具体命令 使用命令行工具wpa_cli加入热点, 其为交互式命令行,根据顺序输入各子命令即可,输入命令 wpa_cli
add_network
0
set_network 0 ssid "SSID名称"
OK
set_network 0 psk "SSID密码"
OK
enable_network 0
OK
save
OK
q
退出 ,然后配置IP地址为动态IP,可以使用命令行
udhcpc -i wlan0
或者配置IP为静态IP,可以使用ifconfig命令,手动配置,也可以设置/etc/network/interfaces
文件,内容类似如下
auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.253
6 常见问题
- 启动WIFI适配器时候,如果提示错误:RTNETLINK answers: Operation not possible due to RF-kill 可以使用下面命令解决。该问题参考这里有详细说明
rfkill unblock all
-
连接失败,提示认证失败 系统默认启动了一个wpa_supplicant服务,会连接默认配置,造成用户配置冲突,可以先杀死该进程,再启动自己的服务。
查看相关进程
ps -ef | grep wpa
杀掉所有wpa_supplicant服务后重新启动
pkill -9 wpa_supplicant<br>
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf > /dev/null &<br>
- 都配置成功后,仍然ping不通,请关掉eth0有线连接。因为两个网络不能配置同一个网段
ifconfig eth0 down