This page will document how to set up your Raspberry Pi to share internet access from another source as a custom WiFi access point. If the internet source is Ethernet, then no additional hardware is required. If you have a USB WiFi adapter that the Pi kernel supports, then you can use another WiFi network as the internet source for the hosted AP instead of Ethernet.
Upstream Ethernet To WiFi Access Point
The most basic thing to set up is sharing internet from the Pi's Ethernet as a WiFi access point. This allows you to connect WiFi enabled IoT devices, smartphones, and other computers to the Pi's hosted AP and access the internet from them.
To create a WiFi access point, also known as a hotspot, run this command:
sudo nmcli device wifi hotspot ssid <AP SSID> password <AP Password> # Example: sudo nmcli device wifi hotspot ssid GadgetNetwork password SuperS3cret
If successful, it will output a message like this:
Device 'wlan0' successfully activated with '5c14f89d-97ab-4b27-9361-e5a3b40d0036'. Hint: "nmcli dev wifi show-password" shows the Wi-Fi name and password.
802.1X Supplicant Issue
On Raspberry Pi 3B models there is a reported issue that can cause the error Error: Connection activation failed: 802.1X supplicant took too long to authenticate.
If you don't get that error then you can skip this section.
If you do get this error, you can work around it by disabling Protected Management Frames or PMF configuration. Note that PMF protects against certain types of attacks between devices on the network.
If you are not in a fully trusted network environment or are unsure about this, then just leave the default and try a different model of Raspberry Pi, a USB WiFi adapter, or the previous major release of the OS instead of Trixie.
These commands will disable PMF and then attempt to enable the hotspot:
sudo nmcli con modify Hotspot 802-11-wireless-security.pmf 1 sudo nmcli con up Hotspot
If you have a USB WiFi adapter connected to the Pi, you can connect to an upstream network with the Pi's built-in WiFi radio and host an access point using the USB adapter or vice versa. This can be helpful if you want to inspect traffic for specific client devices or perhaps to extend the range of a WiFi network using a Pi near the edge of the range with a USB WiFi adapter that has a nice antenna to boost the hosted AP further.
If you are trying to do something like the WiFi network extender then you'll need to make sure the correct network interface is used for upstream connection and hotspot respectively. In this case, you'd want the hotspot to be broadcast using the USB WiFi adapter and the upstream network connection with the Pi's built-in radio. The built-in radio should be interface wlan0 and externally connected ones will count up from there, so if you have a single USB WiFi adapter connected, it should be wlan1. The nmcli device wifi commands accept an ifname argument to specify the interface to use.
The commands below illustrate how to connect to an upstream network on wlan0 the built-in radio, and host the hotspot on wlan1 the USB WiFi adapter.
# Connection to a Netowrk using the builtin radio specifically sudo nmcli device wifi connect <Network SSID> password <Network Password> ifname wlan0 # Create a WiFi access point using externally connected WiFi adapter sudo nmcli device wifi hotspot ssid <AP SSID> password <AP Password> ifname wlan1
Page last edited April 07, 2026
Text editor powered by tinymce.