Last Updated on February 7, 2021 by admin
The reasons why WiFi often doses not work with Raspberry Pi are extremely diverse. Starting with the hardware detection up to the WiFi configuration. When troubleshooting, a systematic approach is recommended. Even if the problem is somewhere in between.
Most WiFI adapters for the USB are able to run on Raspberry Pi. But there are always exceptions. Some wireless adapters prove to be completely inappropriate on Raspberry Pi. It just helps to use a different wireless adapter.
Not all WiFI problems have to do with WiFI. Thus, a non-functioning Internet connection with WiFI must have nothing to do.
The point here is to identify the root causes of typical WiFI problems with Raspberry Pi and apply possible solutions.
Typical Raspberry Pi WiFi problems
The typical Raspberry Pi WiFi problem is always similar:
- Wi-Fi does not work
- Wi-Fi adapter is not working
- Wi-Fi adapter is not recognized
- Wi-Fi connection breaks off
Let’s go step by step to root cause research.
Problem 1: Raspberry Pi via WiFi often unreachable
A typical error description would be: “I’m constantly losing the WiFi connection to my Raspberry Pi. It’s one meter off the Wi-Fi router, and yet it’s not working properly.”
Possible cause (a) Problem 1: Low power supply
The current carrying capacity of the existing USB ports on Raspberry Pi are limited. As a result, especially power-hungry WiFI adapters on the USB too fast draw too much power. In the process, the voltage breaks down and leads to an unstable system with a variety of faulty images up to total failure.
Different solutions (a) to problem 1
- Use a good power adapter for the operation of Raspberry Pi.
- Increase current drain from the USB ports (usually not necessary).
- Operate the WiFI adapter via an active USB hub (usually not necessary).
If a WiFI adapter on Raspberry Pi seems to work basically, but occasionally fails and Raspberry Pi is then no longer available on the network, then this may be due to an inappropriate power supply. This is usually only the half truth. The problem of the WiFI adapter is that it briefly draws high current and the relevant power supply cannot deliver this and therefore the voltage breaks down and Raspberry Pi takes the USB port out of operation.
The problem described can be solved by another power supply. But not always. There are Wi-Fi adapters that simply draw too much power for a short time and are therefore completely unsuitable for Raspberry Pi. Under certain circumstances, an active USB hub can also help. Then the WiFI adapter is supplied with power via this USB hub.
Alternatively, you can try to add the parameter “max_usb_current = 1” in the file “/boot/config.txt” in order to increase the permitted current consumption via the USB ports.
Possible cause (b) Problem 1: WiFI adapter in power-saving mode
Some Wi-Fi adapters have a low power mode enabled by default. They go after a certain period of inactivity in the power save mode. In the client mode, this does not matter because the WiFI adapter immediately goes back into operation during activity. But if you try to access Raspberry Pi from the outside, it is not reachable. In such a case, you should turn off the power saving mode.
Possible solutions (b) to Problem 1: Turn off power saving mode
For each wireless adapter, switching off the power save mode looks different.
Possible cause (c) about problem 1: bad WiFi connection
Anyone who expects a radio connection to be stable and all users of a wireless network can always be contacted is wrong. Even if WiFI devices are installed in a fixed location and therefore stable conditions are given, WiFIconnections can always be partially or completely canceled for unknown reasons. Or not even go into operation.
The wireless radio technology is based on a shared medium (shared medium), which may use several radio systems and wireless networks. That is, you never have the same conditions, because any neighbor WiFI or even another radio system in the same frequency range can interfere.
It is not always clear where the problem comes from. Since the range of radio signals is limited, it usually helps to find the polluters in their own four walls.
Possible solutions (c) to problem 1
- Switch to a cable connection
- Use another WiFI adapter with external antenna.
Otherwise, the following measures generally help:
- Change router position
- Change antenna orientation on the router
- Remove signal-damping objects (hydrous or metallic material, mirrors, flowers, …)
problem 2: Network Manager does not display WiFi or a specific WiFi network
A typical error description would be: “I do not get an error message, but I’m not assigned an IP address, my problem is that I do not even know exactly where it hooks.”
In this situation, you know that a particular WiFI exists. With other systems, you can connect to this WiFI, which are then stable. Only with the Raspberry Pi is it not possible to connect because the WiFI is not displayed in the list of available WiFIs. In extreme cases, no Wi-Fi is displayed in the list.
Possible cause (a) about problem 2: Incorrect system configuration
WiFI is not equal to WiFI. There are regulatory differences for each country. These differences are defined in country profiles. This is necessary to comply with the WiFI standards and to correctly select the frequency ranges and channels. If your own wireless router is set to the country profile “Japan”, then the clients must be the same.
If the wrong country profile is selected, then it may be that the WiFI adapter used does not detect WiFI and therefore can not establish a connection.
Possible solution (a) to problem 2: Set the correct WiFI country code
Typically, the country profile is correctly selected when locating the location, time zone, and language. Raspbian knows, however, its own configuration option, which can be completely forgotten in the first basic configuration.
To set the Wi-Fi country code correctly, use the command-line tool “raspi-config”. The corresponding setting is under “International Options”. This configuration option can also be accessed in the graphical user interface in the Raspberry Pi configuration tool: Localization Options / Change Wi-fi Country: JP Japan
After a reboot, the WiFI profile required for Japan is loaded. Under certain circumstances, this already solves many WiFI problems with Raspberry Pi.
Possible cause (b) of problem 2: Channel assignment
Typically, the frequency ranges around 2.4 and 5 GHz are used for WiFIconnections.
Channels 1 to 14 exist at 2.4 GHz, with only 1 to 13 in Europe and only 1 to 11 in the USA. Sometimes problems occur when the WiFI access point is operating on channels 12 or 13. Then this WiFI may not be displayed in the WiFI client. This may be because the WiFI adapter generally has problems with channels 12 and 13. As a rule, the wrong country profile will simply be set that does not include channels 12 and 13.
In the frequency range around 5 GHz it is similar. Here are the channels 36 to 140, although not all channels may be used in all countries. Which these are are defined in the country profiles.
To make matters worse, some manufacturers in the 5 GHz band only support the 36 to 48 channels. But if the WiFI access point now works between 52 and 64 or 100 and 140, then this WiFI does not exist for this client.
Possible solution (b) to problem 2: Change channel assignment manuallyGenerally, the recommendation is that the WiFi access point can choose which channel to use. For this purpose exist in almost all access points automatisms to determine the least occupied WiFi channel. But what if you use a system or a WiFiclient that has problems with the selected channel? Then only helps to set the wireless access point to another channel manually. In the frequency range around 2.4 GHz, for example, on the channels 1, 6 or 11. And in the frequency range around 5 GHz between 36 and 48. Here, however, the problem arises that just these frequency ranges are heavily overloaded, because many wireless LAN manufacturers the Save support for the channels from 52 to 140.
Possible cause (c) to Problem 2: Miscellaneous
Conceivable would be the following causes:
- unfavorable location and thus too high spatial distance
- faulty hardware or firmware version
- Misconfiguration by the operator
- other interfering radio systems
Possible solutions (c) to Problem 2: MiscellaneousIt is helpful if you have a replacement access point for such problems, with which you can test problematic WiFi clients. At a basically functioning access point you might not play around. Maybe you can find out which device is problematic. If necessary, you can research problems with the devices via manufacturers and device names on the Internet. Other disturbing radio systems can only be detected by physically separating a test system and trying to put it into operation. You then have to look at which systems are located. Gladly hiding here one or the other problematic wireless mouse or keyboard.
Problem 3: WiFi connection is only after several times plugging in the WiFi adapter in operation
A typical error description might look like this: “If you start Raspberry Pi, you have to unplug and unplug the WiFi adapter several times until the WiFi works at some point.
Possible cause (a) in case of problem 3: WiFi stick has a data carrier mode
There are WiFi adapters, for example, the popular Fritz WiFi sticks of AVM, which have a data carrier mode. That means, if the WiFi adapter goes into operation, then only in a data carrier mode. If necessary, an operating system like Windows can simply load the necessary driver from the WiFi adapter. Then the WiFi adapter switches to WiFi operation. Under certain circumstances, the change does not take place in the WiFi operation, which means that the wireless adapter is not recognized as such. In another case, switching from disk mode to Wi-Fi operation takes longer than expected, causing the connection to a WiFi to take longer or fail.
Possible solution (a) for problem 3: patience or another wireless adapter
There are two possibilities. One is waiting. It may take several minutes for a Wi-Fi connection to start up and then successfully complete the network configuration. If it just takes too long or if you never switch to Wi-Fi, you’ll need to use a different Wi-Fi adapter. Sometimes this problem is known and some time later there is a driver update for the corresponding chipset of the WiFi adapter.
Possible cause (b) with problem 3: The WiFi adapter is scrap
We do not want to paint the devil on the wall. But it may be that the wireless adapter is just scrap.
Various Wi-Fi problemsSometimes you have no connection problem with the WiFi, but just sporadic error messages. Otherwise there are no connection problems.
Error message: A start job is running …When booting, the message “A start job is running …” appears and a timer is running. This will take several seconds. Here a function wants to access the network. In the case of the DHCP client, who wants to pick up an IP configuration from the DHCP server. The problem is that the connection to the WiFi has not yet been established. This then causes the boot process to wait at this point.
There is a simple solution. You create a fallback in the IP configuration in the file /etc/dhcpcd.conf.
#define static profile profile static_wlan0 static ip_address = 192.168.1.200 / 24 static routers = 192.168.1.1 static domain_name_servers = 192.168.1.1 # fallback to static profile on wlan0 interface wlan0< fallback static_wlan0
Error message: Calling CRDA to update world regulatory domain
The following error message appears constantly on the command line:
cfg80211: Calling CRDA to update world regulatory domain ... cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
The error message states that the cfg80211 module is looking for the crda package to request data. That fails, which is why the module reports at some point that it can not reach the package “crda”.
The problem is that the package “crda” is not installed. So you just have to install the package.
sudo apt-get install crda
In the course of the package installation usually come with other packages. For the package to become active, the system must be restarted.