Linux usb虚拟网卡配置
kernel 开启
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_F_RNDIS=y
CONFIG_INET=y
busybox中开启
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
CONFIG_FEATURE_IFCONFIG_SLIP=y
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
CONFIG_FEATURE_IFCONFIG_HW=y
脚本控制
mount -t configfs none /sys/kernel/config
mkdir /sys/kernel/config/usb_gadget/g2
chmod -R 0770 /sys/kernel/config/usb_gadget/g2
echo 0x1d6b > /sys/kernel/config/usb_gadget/g2/idVendor
echo 0x0202 > /sys/kernel/config/usb_gadget/g2/idProduct
echo 0x0310 > /sys/kernel/config/usb_gadget/g2/bcdDevice
echo 0x0200 > /sys/kernel/config/usb_gadget/g2/bcdUSB
mkdir /sys/kernel/config/usb_gadget/g2/strings/0x409
chmod -R 0770 /sys/kernel/config/usb_gadget/g2/strings/0x409
echo xxxx > /sys/kernel/config/usb_gadget/g2/strings/0x409/serialnumber
echo xxxx > /sys/kernel/config/usb_gadget/g2/strings/0x409/manufacturer
echo xxxx > /sys/kernel/config/usb_gadget/g2/strings/0x409/product
mkdir /sys/kernel/config/usb_gadget/g2/configs/b.1
chmod -R 0770 /sys/kernel/config/usb_gadget/g2/configs/b.1
mkdir /sys/kernel/config/usb_gadget/g2/configs/b.1/strings/0x409
chmod -R 0770 /sys/kernel/config/usb_gadget/g2/configs/b.1/strings/0x409
echo 500 > /sys/kernel/config/usb_gadget/g2/configs/b.1/MaxPower
mkdir /sys/kernel/config/usb_gadget/g2/functions/rndis.usb0
echo "RNDIS" > /sys/kernel/config/usb_gadget/g2/functions/rndis.usb0/os_desc/interface.rndis/compatible_id
echo "5162001" > /sys/kernel/config/usb_gadget/g2/functions/rndis.usb0/os_desc/interface.rndis/sub_compatible_id
ln -s /sys/kernel/config/usb_gadget/g2/functions/rndis.usb0 /sys/kernel/config/usb_gadget/g2/configs/b.1/f1
echo DA:AB:C2:D0:2F:F6 > /sys/kernel/config/usb_gadget/g2/functions/rndis.usb0/dev_addr
ln -s /sys/kernel/config/usb_gadget/g2/configs/b.1 /sys/kernel/config/usb_gadget/g2/os_desc/b.1
echo "rndis" > /sys/kernel/config/usb_gadget/g${gadget_index}/configs/b.1/strings/0x409/configuration
设置udc 控制器
echo "8000000.usb" > /sys/kernel/config/usb_gadget/g2/UDC
配置ip
ifconfig usb0 192.168.3.100 up