rk3568 主机 kernel 4.19
rk3576 从机 kernel 6.1
前四章 都为RK3576配置
一、开启kernel配置
usb 驱动部分自己搞定 ,有adb就OK了 ,再开启下面的配置
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_USBNET=y
CONFIG_USB_ACM=y
CONFIG_USB_CONFIGFS_RNDIS=y
二、修改usbdevice.sh
1、debian
路径在** ${RK3576_SDK}/debian/overlay/etc/profile.d/****usbdevice.sh**

上面导出的变量是在 ** ${RK3576_SDK}/debian/overlay/usr/bin/usbdevice** 使用了 ,内容部分内容截图如下

2、buildroot
查看 **buildroot/package/rockchip/rkscript/rkscript.mk **可以看到下面的配置选项

最后在config文件中加上
BR2_PACKAGE_RKSCRIPT_USB_RNDIS=y
也可以在 common/overlays/rootfs/usb-gadget/install.sh修改默认值
3、查看网卡
输入如下命令
ifconfig -a

三、网卡设置
1、 udev 规则添加
这里需要添加两个文件
(1)、rk3576-net.rules
SUBSYSTEM=="net", ACTION=="add", NAME=="usb0", RUN+="/usr/bin/net_config.sh"
匹配到规则后运行 /usr/bin/net_config.sh
(2)、net_config.sh
#!/bin/sh
if [ "${INTERFACE}-y" != "usb0-y" ]; then
exit 0
fi
#设置mac
ip link set ${INTERFACE} address 02:11:22:33:44:01
#开启网卡
ip link set "${INTERFACE}" up
# 下面可以配置 IP、启动服务等操作
ip addr add 172.168.100.102/24 dev usb0
${INTERFACE} 为udev的一个环境变量,直接使用即可
以下是使用adc做ID的脚本 ,需要配合硬件设置
#!/bin/sh
if [ "${INTERFACE}-y" != "usb0-y" ]; then
exit 0
fi
get_val() {
if [ "$(cat "$1")" -gt 700 ]; then
return 1
else
return 0
fi
}
pushd '/sys/bus/iio/devices/iio:device0/' || exit 1
power=0
num=0
for f in in_voltage[1-4]_raw; do
get_val "$f"
val=$?
num=$((num + val * 2 ** power))
((power++))
done
popd || exit 1
ip link set INTERFACE address 02:11:22:33:44:01 #设置mac
ip link set "${INTERFACE}" up #所有网卡都需要启动
ip addr add 172.168.100.$((100 + num))/24 dev "${INTERFACE}"
ip r add default via 172.168.100.1 dev "${INTERFACE}"
gpio版做id
#! /bin/bash
if [ "${INTERFACE}-y" != "usb0-y" ]; then
exit 0
fi
# GPIO_RK_PC4 --> 2 * 32 + 8 * (3-1) + 4 = 84
# GPIO_RK_PC3 --> 2 * 32 + 8 * (3-1) + 3 = 83
# GPIO_RK_PC7 --> 2 * 32 + 8 * (3-1) + 7 = 87
# GPIO_RK_PC6 --> 2 * 32 + 8 * (3-1) + 6 = 86
GPIOS=(84 83 87 86)
# Configure each GPIO pin as input
for gpio

最低0.47元/天 解锁文章
2194

被折叠的 条评论
为什么被折叠?



