====== VIM3/3L USB Gadget ====== ===== Introduction ===== This document mainly introduces USB gadget. You will learn how to configure and enable USB gadget Usage. ===== System Configuration ===== ==== Upgrade System ==== Follow [[/products/sbc/common/configurations/upgrade-system|Upgrade System]] to upgrade system. ==== Configure DTS Overlays ==== Take VIM3 as an example. Open ''/boot/env.txt'': ```shell sudo vim /boot/env.txt ``` Add ''otg-device'' to overlays node to make USB OTG Device enable: ``` overlays=uart3 pwm_f i2c3 os08a10 --> overlays=uart3 pwm_f i2c3 os08a10 otg-device ``` Take VIM3 as an example. Open ''/boot/dtb/amlogic/kvim3.dtb.overlay.env'': ```shell sudo vim /boot/dtb/amlogic/kvim3.dtb.overlay.env ``` Add ''otg-device'' to overlays node to make USB OTG Device enable: ``` fdt_overlays=otg-device ``` ==== Enable Service ==== ```shell sudo systemctl enable usb-gadget-khadas.service ``` If you have issues, please try the extra steps below: ```shell wget https://dl.khadas.com/.fixup/libcutils.so -O /tmp/libcutils.so sudo cp /tmp/libcutils.so /usr/lib ``` Reboot to effect. ```shell sync sudo reboot ``` ===== RNDIS Setup IP Address ===== Setup IP address manyally, e.g. setup IP address as ''192.168.35.100'' ```shell sudo ifconfig usb0 192.168.35.100 up ``` Also need to setup the IP address on your PC, e.g. ''192.168.35.110'' Check network connection: ```shell khadas@Khadas:~$ ping -I usb0 192.168.35.110 PING 192.168.35.1 (192.168.35.1) from 192.168.35.100 usb0: 56(84) bytes of data. 64 bytes from 192.168.35.110: icmp_seq=1 ttl=64 time=0.218 ms 64 bytes from 192.168.35.110: icmp_seq=2 ttl=64 time=0.308 ms ``` ===== Usage of ADB ===== Try to access the devices via adb. ```shell $ adb kill-server $ adb devices * daemon not running; starting now at tcp:5037 * daemon started successfully List of devices attached 363233573350 device $ adb shell root@Khadas:/# root@Khadas:/# root@Khadas:/# root@Khadas:/# root@Khadas:/# ls bin dtb.img lib proc srv bin.usr-is-merged etc lib.usr-is-merged root sys boot home media run tmp dev Image mnt sbin usr dtb initrd.img opt sbin.usr-is-merged var ```