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 by holding S2
when plugging your controller into a PC or by holding S2 + B3 + B4
for five seconds while the controller is plugged in. Then access http://192.168.7.1 in a web browser to begin configuration.
Supported
- Windows
- Mac
- Linux
- SteamOS
- iPadOS
Not supported
- Android
- iOS
Linux distributions may need some extra steps to access the web configurator; see Linux Setup.
Linux Setup
When you plug in your controller while holding S2
, you should see it connect in the kernel logs if you run dmesg
:
[ 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.