欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > i.MX8MP使能USB RNDIS

i.MX8MP使能USB RNDIS

2024/11/30 0:34:42 来源:https://blog.csdn.net/weixin_47877869/article/details/141430692  浏览:    关键词:i.MX8MP使能USB RNDIS

Kernel: Linux 5.15.x

在i.MX8MP Linux 5.15.x上使能USB RNDIS(Remote Network Driver Interface Specification),通常需要以下几个步骤。

1. 内核配置

首先,需要确保Linux内核支持RNDIS。可以通过配置内核选项来启用RNDIS支持:

  • 导航到以下选项并启用:

Device Drivers ---> USB support ---> USB Gadget Support ---> RNDIS support

  • 如果使用的是特定的 USB 控制器,还需要启用对应的 USB Gadget 驱动,例如:

Device Drivers ---> USB support ---> USB Gadget Support ---> USB Gadget Drivers ---> Ethernet Gadget (with CDC Ethernet support)   RNDIS gadget (EXPERIMENTAL)

2. 配置USB Gadget

在启用了内核支持后,可以通过配置USB Gadget以使能RNDIS功能。

  • 创建USB Gadget配置:

mkdir /sys/kernel/config/usb_gadget/g1

cd /sys/kernel/config/usb_gadget/g1

  • 设置 USB Vendor ID 和 Product ID:

echo 0x1d6b > idVendor # Linux Foundation

echo 0x0104 > idProduct # Multifunction Composite Gadget

  • 配置字符串描述符:

mkdir strings/0x409

echo "0123456789" > strings/0x409/serialnumber

echo "YourManufacturer" > strings/0x409/manufacturer

echo "RNDIS Gadget" > strings/0x409/product

  • 配置RNDIS 功能:

mkdir functions/rndis.usb0

  • 创建配置并将 RNDIS 添加到配置中:

mkdir configs/c.1

echo 250 > configs/c.1/MaxPower

ln -s functions/rndis.usb0 configs/c.1/

  • 启用USB Gadget:

echo > UDC

Note:其中是设备控制器的名称,可以通过查看/sys/class/udc/来找到可用的UDC。

# ls /sys/class/udc/

# 38100000.usb

# echo 38100000.usb > UDC

3. 网络接口配置

启动RNDIS后,系统会生成一个新的网络接口(通常为 usb0 或 rndis0)。可以使用以下命令来配置网络接口:

ifconfig usb0 192.168.0.2 up

udhcpd -Sf /etc/udhcpd.conf &

4. 连接主机设备

将ARM设备通过USB连接到主机设备(如 PC)。主机设备应该识别出一个新的RNDIS网络接口。主机上可以配置对应的IP地址,并通过该网络接口进行通信。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com