【KV260视觉入门套件试用体验】+04.USB-WIFI功能测试zmj
本篇主要介绍在KV260视觉入门套件移植USB-WIFI的流程。
通过USB-WIFI无线连接可以使KV260开发更加便捷高效。
---------------------------以下为正文----------------------------
1. USB-WIFI硬件介绍
1.1 硬件基本信息
Tenda-U3300M便携无线网卡硬件介绍
Tenda-U3【300M】便携无线网卡
产品型号U3
腾达TendaU3 300M USB无线网卡 台式机笔记本通用 迷你mini 随身WiFi接收器 发射器
2.4GHz-300Mbps
www.tenda.com.cn
wifi.tenda.com.cn
//------腾达300M USB-WIFI无线网卡型号Tenda-U3
1.2 Tenda-U3芯片信息
Tenda-U3芯片信息十分重要它是驱动移植的关键一环。
Bus 001 Device 003: ID 0bda:818b Realtek Semiconductor Corp. RTL8192EU
802.11b/g/n WLAN Adapter
0bda:818b
Realtek Semiconductor Corp.
RTL8192EU 802.11b/g/n WLAN Adapter
//------Tenda-U3
2. 软件准备
相关软件安装好之后再进行后续的操作。
sudo apt install net-tools
重要的网络管理工具套件为内核Kernel提供了诸如arp/ifocnfig/netstat/rarp/nameif/route等工具。
sudo apt install rfkill
rfkill是无线设备管理工具个人感觉最主要的功能是无线功能的enable/disable。
其中“无线功能”的典型应用指的是WLAN/Bluetooth/mobile-broadband。
sudo apt install wpasupplicant
wpasupplicant的用途是无线通讯服务的代理支持官方描述是“client support for WPA and WPA2 (IEEE-802.11i)”。
它提供了诸如wp_cli等工具别的工具我也不知有什么。
sudo apt install dkms
DKMS允许再不影响整个内核kernel环境的情况下升级某个单独的内核模块individual-kernelmodules。
sudo apt install udhcpc
讲人话udhcpc是busybox内的功能齐全RFC客户端兼容DHCP的旧称。
udhcpc属于软件代理服务使用busybox-udhcpc时如同使用DHCP代理一样方便。
官方描述“Provides the busybox DHCP client implementation”即提供busybox DHCP客户端实现 。
3. 驱动移植
大部分调试过程都是sudo权限。
极个别的情况切换了root用户主要是删除某些无法访问的文件/文件夹。
3.1 驱动获取
根据Tenda-U3芯片信息下载对应驱动。
git clone https:
3.2 驱动编译
驱动编译过程参考README即可默认是单核编译尚未尝试四核编译。编译完成后生成驱动8192eu.ko。
sudo su #进入root权限
make clean #清理make编译的可能残留
make #编译驱动这是最重要的一步
modprobe lib80211
modprobe cfg80211
insmod 8192eu.ko #如果提示已存在驱动用rmmod 8192eu.ko删除后再insmod
cp 8192eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
depmod -a #与编译驱动相关的事宜到此完结
modprobe 8192eu #加载驱动
lsmod #查看是否有8192eu 驱动模块
echo 8192eu >> /etc/modules #将驱动添加到开机启动列表
CONFIG_RTL8192E = y
CONFIG_PLATFORM_ARM_AARCH64 = y
CONFIG_PLATFORM_I386_PC = n
sudo dkms add ./
这个过程会把Git源文件复制到系统目录/usr/src/rtl8192eu-1.0然后创建symlink指向该目录。
sudo dkms install rtl8192eu/1.0
sudo dkms install rtl8821cu/1.0
这里面的参数1.0网上参考说代表的是Git源文件的version。我个人理解是系统目录系统目
录/usr/src/rtl8192eu-1.0和目标version1.0。
不管是什么具体含义不加上1.0的话会报错然后提示这是1.0最后必须加上。
//------驱动编译
3.3 驱动加载
驱动加载完成后就可以配置WIFI网络了。
/lib/modules/5.4.0-1017-xilinx-zynqmp/updates/dkms/8192eu.ko
sudo insmod /lib/modules/5.4.0-1017-xilinx-zynqmp/updates/dkms/8192eu.ko
第一次需要手工加载驱动后续驱动已保存在文件系统中可以简单粗暴的认为是自动加载。
8192eu
wlx502b73cc0e8a
4. WIFI功能测试
4.1 网络配置
网络配置参考如下流程
rfkill list ;
|---0: phy0: Wireless LAN
| Soft blocked: no
| Hard blocked: no
sudo rfkill unblock wlan ;
rfkill list ;
ifconfig wlx502b73cc0e8a up
sudo iw dev wlx502b73cc0e8a scan | grep SSID
wpa_supplicant -B -i wlx502b73cc0e8a -c /etc/wpa_supplicant.conf -D nl80211
sudo wpa_supplicant -B -i wlx502b73cc0e8a -c /etc/wpa_supplicant.conf -D nl80211
sudo wpa_cli -p/var/run/wpa_supplicant status ;
sudo wpa_cli -i wlx502b73cc0e8a list_network;
sudo wpa_cli -p/var/run/wpa_supplicant add_network;
sudo wpa_cli -i wlx502b73cc0e8a list_network;
sudo wpa_cli -p/var/run/wpa_supplicant set_network 0 ssid '"Novauto"';
sudo wpa_cli -p/var/run/wpa_supplicant set_network 0 key_mgmt WPA-PSK;
sudo wpa_cli -p/var/run/wpa_supplicant set_network 0 psk '"Nova@2021!"';
sudo wpa_cli -i wlx502b73cc0e8a list_network;
sudo wpa_cli -p/var/run/wpa_supplicant select_network 0;
sudo wpa_cli -i wlx502b73cc0e8a list_network;
sudo wpa_cli -p/var/run/wpa_supplicant status ;
|---Selected interface 'wlx502b73cc0e8a'
| bssid=50:46:4a:e3:02:32
| freq=2437
| ssid=Novauto
| id=0
| mode=station
| wifi_generation=4
| pairwise_cipher=CCMP
| group_cipher=CCMP
| key_mgmt=WPA2-PSK
| wpa_state=COMPLETED
| ip_address=192.168.7.112
| address=50:2b:73:cc:0e:8a
| uuid=10f8bf88-0e58-5355-9a9e-a01eed311af5
sudo udhcpc -i wlx502b73cc0e8a
sudo wpa_cli -p/var/run/wpa_supplicant remove_network 0;
sudo wpa_cli -p/var/run/wpa_supplicant ap_scan 1;
4.2 测试结果
如图USB-WIFI测试正常。
//------end