Table of Contents

Under construction.

Wi-Fi

Although Batocera functions perfectly fine offline, connecting it to the internet opens it up to so much more cool stuff. An ethernet cable provides the best connection quality (especially for netplay), but Wi-Fi is available as an alternative.

Batocera should support most built-in and PCI-e Wi-Fi modules for ordinary PCs, however newer models are less likely to work out of the box. Click here for a list of known compatible USB Wi-Fi dongles.

Wi-Fi setup

Ethernet connects and configures itself automatically, but this is not so the case for Wi-Fi. Some manual action is required.

First, activate Wi-Fi in the first place by going to the MAIN MENUNETWORK SETTINGSENABLE WIFI (turning Wi-Fi off can be useful for battery-powered handheld devices).

Wait a moment for the Wi-Fi chip to actually turn on and start scanning (some devices may require a full reboot). Then all the available Wi-Fi access points will appear in the list.

From EmulationStation menu, you can configure only one Wi-Fi connection. If editing batocera.conf directly, it is possible to configure up to three connections.

Manual SSID

In case the access point does not appear in the list (or you just have your SSID hidden in your router's settings), an SSID can be defined manually by clicking INPUT MANUALLY.

The SSID is case-sensitive. Both for SSID and the password, special characters should be escaped with a backslash (\). For example, if the password is special?characters@*, the entered in password should be special\?characters\@\*. You can also edit these fields directly in the batocera.conf file.

Upon connecting successfully, the Wi-Fi icon will appear in the top-right of the screen (certain themes may reposition this).

Command line options

WIP

Access Batocera via SSH or local terminal to run these. You can use an ethernet cable for an SSH connection, or if no networking is available period then run the local terminal on the Batocera machine itself.

batocera-wifi start                      Turn on all available Wi-Fi modules.
batocera-wifi scanlist                   List all available Wi-Fi in range.
batocera-wifi list                       List all saved Wi-Fi configurations.
batocera-wifi enable <SSID> <passkey>    Connect to the specified Wi-Fi and save it.
batocera-wifi disable                    Turn off all Wi-Fi modules.

Troubleshooting

Wi-Fi is not working

After activating Wi-Fi, it may take a moment to actually activate. In fact, it might not even activate until the system is rebooted. The power of Linux! Reboot and try again. It might even be worth waiting around ten seconds or so on the main menu before going into the Wi-Fi menu.

It could also be that your Wi-Fi chipset requires particular drivers not already included in Batocera. Check the section on how to do that below.

I can't see my SSID in the list, but I can see my neighbor's

It's possible that the device you are using Batocera on is not compatible with the channel that your router is set to use.

For instance, the Raspberry Pi line infamously does not support channel 13 on the 2.4GHz Wi-Fi.

The country region can be altered in batocera.conf by adding the wifi.country key and making it equal to your country's region code. For example: wifi.country=US.

What if you don't know your country's code? Use the Alpha-2 code from this list: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes

My Wi-Fi is slow/laggy!

The best advice for this is… don't use Wi-Fi. Use an Ethernet cable, especially if you want to do something ping-sensitive like Netplay or game streaming. In the modern high-tech world we live in there is so much wireless noise in the air that getting a consistent, lag-free Wi-Fi signal is a pipe-dream. Only if you're seated right next to the router less than a few feet away, and even then…

But if your situation absolutely requires the use of Wi-Fi, here are some tips:

You can disable the Raspberry Pi 4's onboard Wi-Fi by adding dtoverlay=disable-wifi to /boot/config.txt.

How to manually add drivers (advanced)

Most network devices should already be supported by the Linux kernel included in Batocera. However, in some rare cases (such as bleeding-edge hardware) the drivers might not be included yet. If the manufacturer has provided pre-compiled binary driver files, it is possible to install them.

If your network/Wi-Fi device complains about requiring certain binary firmware files (check with dmesg via terminal), you can put them into /lib/firmware/rtlwifi/ and run batocera-save-overlay after confirming it works.

An example of a Wi-Fi device complaining about binary firmware files in dmesg:

[ X.XXXXXXX ] Wi-Fi: xxx0: RTL: firmware file rtlwifi/XXXXXXXXXX.bin not found

If you've done this and it worked successfully, let the devs know so they can add it to the next version of Batocera.

Check out the network issues page.