GP2040-CE Web Configurator
Select the button labels to be displayed in the usage guide:
GP2040-CE contains a built-in web-based configuration application which can be started up by holding
S2 when plugging your controller into a PC. Then access http://192.168.7.1 in a web browser to begin configuration.
This mode is compatible with Windows, Mac, Linux and SteamOS. Android and iOS devices are not supported at this time.
Linux distributions may need some extra steps to access the web configurator; see Linux Setup.
When you plug in your controller while holding
S2, you should see it connect in the kernel logs if you run
[ 72.291060] usb 1-3: new full-speed USB device number 12 using xhci_hcd
[ 72.450166] usb 1-3: New USB device found, idVendor=cafe, idProduct=4028, bcdDevice= 1.01
[ 72.450172] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 72.450174] usb 1-3: Product: TinyUSB Device
[ 72.450176] usb 1-3: Manufacturer: TinyUSB
[ 72.450177] usb 1-3: SerialNumber: 123456
[ 72.484285] rndis_host 1-3:1.0 usb0: register 'rndis_host' at usb-0000:06:00.1-3, RNDIS device, 02:02:84:6a:96:00
[ 72.498630] rndis_host 1-3:1.0 enp6s0f1u3: renamed from usb0
In the above example, enp6s0f1u3 is the virtual Ethernet interface for your controller. If you don't see the first
rndis_host line, make sure
CONFIG_USB_NET_RNDIS_HOST is compiled in your kernel or as a module.
The web configurator is automatically running, you just need to be able to reach it. Some configurations automatically set up the route, so try http://192.168.7.1 in your browser now. If it doesn't load, try configuring an IP for the interface manually via:
sudo ifconfig enp6s0f1u3 192.168.7.2.
Whether or not you had to add an IP manually, you should end up with a route something like this:
% ip route
default via 10.0.5.1 dev enp5s0 proto dhcp src 10.0.5.38 metric 2
10.0.5.0/24 dev enp5s0 proto dhcp scope link src 10.0.5.38 metric 2
192.168.7.0/24 dev enp6s0f1u3 proto kernel scope link src 192.168.7.2 <---
Then the configurator should be reachable in your browser.