Radxa Zero > Working with Linux > Enable USB Ethernet gadget
Enable USB Ethernet gadget on Radxa Zero
This guide describes how to enable USB Ethernet gadget on Radxa Zero. USB Ethernet gadget emulates a normal Ethernet NIC over OTG port, allowing both the host computer and Radxa Zero to communicate over standard Ethernet protocol, like SSH and HTTP.
- Radxa Zero with a Linux distro
- USB A to C cable
- Any host computer
- Any means to configure Radxa Zero. Some possibilities are SSH over WiFi, direct keyboard and monitor, and serial console.
Step 1: Make sure the port is not used
amlogic-adbd also uses OTG port to emulate an Android debug bridge device. As such you need to disable this device to free the resource for USB gadget.
Run the following command to check if you have
amlogic-adbd running. The output will show Active: active (running) if it is running:
sudo systemctl status amlogic-adbd.service
amlogic-adbd is indeed running, disable it with the following command:
sudo systemctl disable amlogic-adbd.service
Then shutdown your Zero, unplug the cable, and replug to computer of your choice.
Step 2: Enable USB Ethernet gadget
Run the following commands to enable USB Ethernet gadget:
# Based on https://www.collabora.com/news-and-blog/blog/2019/02/18/modern-usb-gadget-on-linux-and-how-to-integrate-it-with-systemd-part-1/ sudo -i modprobe libcomposite # different distro could have a different configfs mounting point: /sys/kernel/config # if the following command fails you need to check with your distro mkdir /sys/kernel/config/usb_gadget/radxa/ cd /sys/kernel/config/usb_gadget/radxa/ echo 0x1d6b > ./idVendor echo 0x104 > ./idProduct mkdir -p ./strings/0x409 echo "Radxa" > ./strings/0x409/manufacturer echo "ECM" > ./strings/0x409/product mkdir -p ./configs/r.1 mkdir -p ./functions/ecm.usb0 ln -s ./functions/ecm.usb0/ ./configs/r.1/ # ls /sys/class/udc to see available UDCs # the value below could be different on your system echo ff400000.usb > ./UDC