How do I turn a Raspberry Pi into a Speedify USB gadget?

You can turn a Raspberry Pi 4 B into a Speedify USB gadget!

The Raspberry Pi 4B's USB-C power port is also wired for data, as an "On The Go" (OTG) device. This means that with the right software, it can act as a USB Ethernet device.

By following these instructions, you can plug the Raspberry Pi into any high powered USB-C computer (Linux, Windows, macOS) and the RPI4 will act as a USB Ethernet card for the laptop, and everything that goes through it will be bonded and secured by the Speedify running on the RPI4.

Important tips:

  • This is a Raspberry Pi 4 specific tip, it does not work on earlier Pi's.
  • As you may have heard, the USB-C port on the RPI4 is miswired, and does not work with all USB-C cables. We did some testing and the "AmazonBasics USB Type-C to USB Type-C 2.0 Charger Cable" is the one we found that works perfectly (we're not an affiliate, we just want to save you some frustration trying different cables).

Step 1: First, make sure you have Speedify installed on your Raspberry Pi 4. You can follow our guide here.

Step 2: Edit `/boot/config.txt` to make sure it contains this line, which enables the USB OTG networking:

# enable USB OTG
dtoverlay=dwc2

Step 3: Edit `/boot/cmdline.txt` to add this text right after rootwait:

modules-load=dwc2,g_ether

Step 4: Follow the steps for Sharing Speedify over Ethernet. However, use a share over of "usb0"

Step 5: Shutdown. Plug into a USB-C computer.

Credit: We first learned about turning a Raspberry Pi 4 into a USB Gadget at dev.webonomic.nl