Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:vim3:configurations:usb-gadget

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:vim3:configurations:usb-gadget [2022/10/28 03:21]
nick
products:sbc:vim3:configurations:usb-gadget [2025/08/13 03:55] (current)
nick
Line 4: Line 4:
  
 This document mainly introduces USB gadget. You will learn how to configure and enable USB gadget Usage. This document mainly introduces USB gadget. You will learn how to configure and enable USB gadget Usage.
 +
 +<WRAP important >
 +From version **1.7.5**, USB gadget is enabled by default, no need any setup, you can just skip the overlay and service setup.
 +</WRAP>
  
 ===== System Configuration ===== ===== System Configuration =====
Line 12: Line 16:
  
 ==== Configure DTS Overlays ==== ==== Configure DTS Overlays ====
 +
 +<tabbox VIM3/3L with 4.9 kernel>
 +
 +Take VIM3 as an example.
  
 Open ''/boot/env.txt'': Open ''/boot/env.txt'':
  
 ```shell ```shell
-khadas@khadas:~$ sudo vim /boot/env.txt+sudo vim /boot/env.txt
 ``` ```
  
Line 25: Line 33:
 ``` ```
  
-==== Enable Service ====+<WRAP important > 
 +If you have issues, please try the extra steps below:
  
 ```shell ```shell
 wget https://dl.khadas.com/.fixup/libcutils.so -O /tmp/libcutils.so wget https://dl.khadas.com/.fixup/libcutils.so -O /tmp/libcutils.so
 sudo cp /tmp/libcutils.so /usr/lib sudo cp /tmp/libcutils.so /usr/lib
 +```
 +</WRAP>
 +
 +<tabbox VIM3/3L with 5.15 kernel>
 +
 +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
 +```
 +
 +</tabbox>
 +
 +==== Enable Service ====
 +
 +```shell
 sudo systemctl enable usb-gadget-khadas.service sudo systemctl enable usb-gadget-khadas.service
 ``` ```
Line 40: Line 73:
 ``` ```
  
 +===== 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
 +```
 +
 +===== Troubleshooting =====
 +
 +If adb not work on windows, you can edit ''/usr/local/bin/usb-gadget'' to comment ''ln -s $F_RNDIS $GADGET/configs/c.1/'' and reboot.
 +
 +```diff
 +diff --git a/archives/filesystem/special/VIM-COMMON/usr/local/bin/usb-gadget b/archives/filesystem/special/VIM-COMMON/usr/local/bin/usb-gadget
 +index 520a9b9a..299569f0 100755
 +--- a/usr/local/bin/usb-gadget
 ++++ b/usr/local/bin/usb-gadget
 +@@ -57,7 +57,7 @@ echo "RNDIS" > $F_RNDIS/os_desc/interface.rndis/compatible_id
 + echo "5162001" > $F_RNDIS/os_desc/interface.rndis/sub_compatible_id
 +
 + # Bind function to configuration
 +-ln -s $F_RNDIS $GADGET/configs/c.1/
 ++#ln -s $F_RNDIS $GADGET/configs/c.1/
 + ln -s $GADGET/configs/c.1/ $GADGET/os_desc
 +
 + # Enable the Gadget
 +```
Last modified: 2022/10/28 03:21 by nick