Turning a Raspberry Pi into a Speedify USB Gadget

This article explains how to configure a Raspberry Pi 4 Model B to act as a USB Ethernet device, so any computer you plug it into automatically routes its internet traffic through Speedify running on the Pi.


What You'll Need

  • A Raspberry Pi 4 Model B with Raspbian (or a compatible Linux distribution) installed
  • Speedify installed on the Raspberry Pi (see How to Install Speedify on Linux)
  • A compatible USB-C to USB-C cable (see the note below)
  • A host computer running Linux, Windows, or macOS with a powered USB-C port

Important notes before you start:

  • This configuration only works on the Raspberry Pi 4 Model B. Earlier Pi models are not supported.
  • The USB-C port on the Raspberry Pi 4 is miswired and does not work with all USB-C cables. The AmazonBasics USB Type-C to USB Type-C 2.0 Charger Cable has been tested and confirmed to work correctly. Using the wrong cable is the most common source of frustration here.

Let's Get Started

Step 1

Make sure Speedify is installed on your Raspberry Pi 4. If you haven't done this yet, follow the How to Install Speedify on Linux guide and come back here when you're done.

Step 2

Edit /boot/config.txt  to enable USB OTG networking. Open the file in a text editor and make sure it contains the following line:

# enable USB OTG
dtoverlay=dwc2

Save the file when done.

Step 3

Edit /boot/cmdline.txt  to load the required kernel modules at boot. Find the word rootwait  in the file and add the following text immediately after it (on the same line, with a space before it):

modules-load=dwc2,g_ether

Save the file. Your Raspberry Pi will now present itself as a USB Ethernet adapter when connected to another computer.

Step 4

Set up Speedify to share its bonded connection over the USB interface. Follow the steps in Sharing Speedify over Ethernet on Linux, but when prompted to choose a share interface, use usb0  instead of an Ethernet interface name.

Step 5

Shut down your Raspberry Pi cleanly, then plug it into your host computer using the compatible USB-C cable. Once the Pi finishes booting, the host computer will detect it as a USB Ethernet adapter and route its internet traffic through Speedify automatically.


Did you know - Speedify works on routers too, so every device on your network can benefit from faster upload and download speeds without needing to install anything on each device individually. Learn more about Speedify for Routers.