{{indexmenu_n>30}} ====== Edge2 USB Gadget ====== {{page>/products/sbc/common/configurations/usb-gadget&noheader}} ===== Usage of ADB ===== ADB is enabled by default, you can access the device directly via adb: $ adb kill-server $ adb devices * daemon not running; starting now at tcp:5037 * daemon started successfully List of devices attached 12036c819990 device $ adb shell root@Khadas:/# ===== Enable Other USB Functions ===== You can dynamically switch USB functions by writing to ''/tmp/.usb_config'' and restarting the ''usbdevice'' service. * **Enable RNDIS** echo usb_rndis_en > /tmp/.usb_config sudo usbdevice restart * **Enable ACM** echo usb_acm_en > /tmp/.usb_config sudo usbdevice restart * **Enable UAC** echo usb_uac_en > /tmp/.usb_config sudo usbdevice restart * **Enable UVC** echo usb_uvc_en > /tmp/.usb_config sudo usbdevice restart After enabling UVC, run: uvc-gadget rockchip/functions/uvc.0 -d /dev/videoX > Note: Replace ''X'' with the actual video node number. * **Enable UMS** echo usb_ums_en > /tmp/.usb_config sudo mkdir -p /userdata/ dd if=/dev/zero of=/userdata/ums_shared.img bs=1M count=1024 UMS mode requires the empty ''ums_shared.img'' file (1GB in the example above), which will be recognized as a storage drive by the host system. ===== RNDIS Setup IP Address ===== After enabling RNDIS, configure the IP address manually. For example, set the device IP to ''192.168.35.100'': sudo ifconfig usb0 192.168.35.100 up Also configure the IP on the host PC, for example ''192.168.35.110''. Test the network connection: ping -I usb0 192.168.35.110