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.