本文基于触觉智能RK3562核心板/开发板,为大家介绍配置USB复合设备,本章节将介绍RNDIS和UAC两种类型的USB复合设备配置。

RNDIS是什么?
USB RNDIS(Remote Network Driver Interface Specification,远程网络驱动程序接口规范)是USB设备类规范中的一种,核心功能是将USB设备模拟为“虚拟以太网适配器”,让主机(电脑、手机等)通过USB接口与设备建立网络通信,如同连接物理网卡一样。它广泛用于移动设备网络共享、嵌入式设备联网、虚拟网络接口等场景。
- 内核编译配置
在/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,增加如下配置:
CONFIG_USB_GADGET=y CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_F_RNDIS=y CONFIG_USB_U_ETHER=y CONFIG_USB_NET_DRIVERS=y CONFIG_IPV6=y CONFIG_USB_ETH=y CONFIG_USB_ETH_RNDIS=y CONFIG_USB_CONFIGFS_ECM=y CONFIG_USB_F_ECM=y CONFIG_BRIDGE=y CONFIG_BRIDGE_IGMP_SNOOPI=y
成功添加后重新编译kernel,命令如下:
cd ./build.sh kernel
编译成功后,会生成boot.img,重新烧录内核镜像即可。

执行以下命令,开启RNDIS功能:
echo usb_rndis_en > /etc/init.d/.usb_config echo usb_rndis_en > /etc/init.d/.usb_config /usr/bin/usbdevice restart
完成后,输入以下命令可以看到开发板上多出一块网卡:
ifconfig
连接开发板的PC端也能识别出一块新的网卡:

需要注意若网卡无法识别,则需先关闭PC端的防火墙:

- RNDIS功能测试
将PC和开发板新识别出的网卡手动配置于同一网段,开发板端(IP仅为举例,无限制):
ifconfig usb0 192.168.1.11
PC端:

测试是否能ping通:

看到有对应返回数据,说明已成功完成配置:

UAC
USB UAC(USB Audio Class,USB音频类)是USB设备类规范(USB-IF定义) 中专门针对音频设备的通信协议标准,用于规范USB接口的音频输入/输出设备(如麦克风、扬声器、耳机、声卡等)与主机的通信方式。UAC通过USB虚拟标准PCM接⼝给Host设备,实现Device和Host之间⾳频互传功能。
- 内核编译配置
在/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,增加如下配置:
CONFIG_USB_F_UAC1=y CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_UAC1=y
编译内核生成驱动镜像,命令如下:
cd ./build.sh kernel
编译成功后,会生成boot.img,,重新烧录内核镜像即可。

执行以下命令,开启UAC功能:
echo usb_uac1_en > /etc/init.d/.usb_config /usr/bin/usbdevice restart
完成后,执行aplay -l可以识别如下声卡。

连接开发板的PC端也能识别出一个新的声音设备:

- UAC功能测试
PC端:选择输出设备,选中Device设备(⼀般识别为Source/Sink,设备名与Windows版本相关) , 并打开播放器,播放⾳乐。


开发板也可以将音频转到card 1去播放:
root@rk3562:/# arecord -D hw:2,0 -f S16_LE -r 48000 -c 2 -B 1024 | tee recording.wav | aplay -D hw:1,0 -f S16_LE -r 48000 -c 2 -B 1024 &
开发板端执行以下命令,将UAC采样到的音频文件为test.wav
arecord -D hw:1,0 -r 48000 -c 2 -f S16_LE test.wav

开发板接上扬声器,用开发板自带的8388声卡播放test.wav,查看采样是否正常

PC端:选择输入设备:

开启PC端自带的录音软件开始录音:

开发板端播放音频文件指定到UAC声卡,命令如下:
aplay -Dhw:1,0 ./test.wav

PC端通过自带扬声设备播放录音音频,查看音频是否正常:

看到音频播放,说明已成功完成配置。
-
usb
+关注
关注
60文章
8490浏览量
286696 -
开发板
+关注
关注
26文章
6518浏览量
121375 -
uac
+关注
关注
0文章
12浏览量
4386 -
RK3562
+关注
关注
0文章
111浏览量
781
发布评论请先 登录
Linux系统查看及修改设备型号信息,触觉智能RK3562开发板演示
触觉智能出品,瑞芯微RK3562开发板配置USB复合设备(上)
评论