Introduction
Most IoT devices are equipped with RaspberryPi boards that have Wi-Fi enabled connection.
Often an accompanying app is used to upload a Wi-Fi connection into the IoT device. Sometimes, Wi-Fi configuration of the IoT device seems to go well, but it doesn’t work for no apparent reason.
Usual Initial Setup
Initial set-up of such devices usually looks like this:
- You must install and start an accompanying App
- IoT device must be turned on; it can be set in a sort of “pairing mode” that broadcasts its own Wi-Fi (for JOTO device, please do a “power cycle”. This means: press the power button for 2 seconds and let go; it turns off but in 10/15 seconds the red light will start blinking; during the blinking the Wi-Fi will show up in the list of available Wi-Fi connections on your App device)
- You must connect your App device to the newly appeared IoT device Wi-Fi
- The App asks for proper internet connected Wi-Fi and password
- The App uploads the proper internet connected Wi-Fi and password into the IoT device
- IoT device is now connected to the internet through Wi-Fi
IoT Devices Sometimes Only Support 2.4Ghz Wi-Fi
Since some IoT Devices only support 2.4Ghz Wi-Fi, the internet enabled Wi-Fi connection that you push to the IoT device using the app, must be a 2.4Ghz. connection, otherwise the credentials upload will succeed but the IoT device still won’t have any connection.
There are 2 common scenarios:
- Your Wi-Fi router has been configured to show both a 2.4Ghz. and 5Ghz. connection. This is most practical; just choose the right connection in the app.
- The more difficult scenario is when there is only 1 wireless network available that services both 2.4Ghz. AND 5Ghz. Your App running device must then be configured to force connect to 2.4Ghz. in order to make sure the 2.4Ghz. Wi-Fi connection is uploaded.
Android has Removed Option to Force Wi-Fi Band
HOWEVER, since Android 10+, Android has REMOVED the force Wi-Fi band option from the Wi-Fi > Advanced config screen!
There seem to be few ways to resolve this:
- Correct way: Make sure your router broadcasts both 5Ghz. and 2.4Ghz. connections
- Easy way: Use an older Android device to run the App (if the App can run on this older Adroid version)
- Hard way: There seems to be a way to force the preferred Wi-Fi band in deep Android settings: [Guide][Root] How to Set Preferred Wifi Band (No Option in…, but I would avoid this
By the way: I don’t know if Apple device also block choosing the band, so maybe do that.
IoT Devices in Corporate Networks (Firewall)
In a corporate environments, IoT devices should only run on a Guest network, separated from the corporate network.
Corporate networks (even Guest networks) are probably protected by a Firewall that blocks various ports. Please check the documentation of your IoT device for which ports should be opened on the Firewall.
The IoT port for JOTO is 8883 (I cannot find documentation of this, just a remark by JOTO support in in a Troubleshooting forum post); for me this worked.
The Above Hypothesis Tested on JOTO device
Steps taken
- Modify router to publish a 2.4Ghz. connection next to the 5Ghz. connection
- Corporate environment had the IoT port blocked (8883)
- After this, everything worked
I hope my journey to resolve this will help someone!
Good luck!