序言
在对 NVIDIA Jetson NANO SUB 开发板烧录完 EMMC 系统后,发现 WiFi 不可用。查看官方文档,发现该开发板本身就不带有 WiFi 模块,于是采购了一个接收器。
采购的是 TP-Link 的免驱无线接收器,但发现只针对 Windows 免驱,于是便进行了以下操作…
WiFi 接收器型号
TL-WN725N 免驱版
详细过程
查看无线接收器的芯片型号
- 无线接收器插入设备,查看设备的两个 ID(Vendor ID 和 Device ID)
lsusb
-
点击 Hardware for Linux 进入网站,可以先选择一下系统类型
-
然后点击右上角的Find Parts, 输入对应的两个 ID 号,并点击 Find,输出的型号即为对应结果
下载并编译驱动包
- 查询结果型号是 RTL8188GU,在 Github 中搜索对应的型号,此处 RTL8188GU 对应的下载命令如下
git clone https://github.com/McMCCRU/rtl8188gu
- 进入下载后的驱动包,并进行编译
cd rtl8188gu
sudo make
sudo make install
make 编译错误及解决方法
注意:此处运行时,在 make 时出现错误:make ARCH=aarrch64 ··· arch/aarch64/Makefile: 没有那个文件或目录 ···
原因:
Jetson Nano Sub 对应目录中不存在 aarch64/ 的文件夹,只有 arm64/
解决方法:
在编译时指定 ARCH 为arm64
sudo make ARCH=arm64
切换无线接收器在系统中的设备模式
切换前注意点
注意:如果无线网卡首次被识别为cdrom,需要卸载一下,后续就可以自动识别了
eject /dev/cdrom
切换设备
sudo modprobe 8188gu
sudo usb_modeswitch -KW -v 0bda -p b711
增加USB设备模式规则
在实测过程中,出现二次或者若干次重启之后,WiFi连接又消失了,重新运行 USB模式切换 命令之后又恢复正常,所以需要进行以下操作。直接写入设备规则文件中
sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules
在最后一行代码之前添加对应的设备信息,例如下面的一段:
# Realtek 8821CU Wifi AC USB
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"
注:此处 idProduct 不是之前的 b711 ,原因是在若干次重启之后,USB设备的 idProduct 自动转换成 1a2b
参考文章
【1】 在Ubuntu主机上使用USB无线网卡
【2】[终于解决]Ubuntu14.04 32位安装移动网卡(0bda:b711)驱动8188gu tplink-WN726n