daveio
 lvl.2
Flight distance : 1890 ft
United Kingdom
Offline
|
So after a bit of debugging, I've figured out what the issue is with the Spark and the Pixel XL, and I have a workaround.
A brief history of wifi
On 2.4GHz, the channels supported everywhere run from 1 to 11. In various locations 12, 13, and 14 are permissible. This is very simple and well-supported.
On 5GHz, where channels run from 36 to 165, things get more complicated. Not only do various countries have their own individual power limits and channel list, but the over-the-horizon radar capabilities of each nation often clash with the frequencies inside the band. Instead of blocking those frequencies completely, an interesting compromise was reached - DFS, or Dynamic Frequency Selection. With DFS, devices broadcasting a network regularly stop and listen for radar activity. If they find it, they take a variety of actions, including switching frequency, dropping transmit power, or if they can't do anything else, shutting the radio off completely for a period of time. DFS is a good thing - since radar activity isn't common, it's a decent compromise that gives us way more spectrum to play with than we would otherwise have.
The trouble is, when DFS activates, it can be incredibly difficult to understand why. Users just see their network dropping out. For this reason, some manufacturers choose to just avoid DFS support entirely, and block access to DFS channels.
Now, back to the Spark. When it starts up, unless configured otherwise, it tries to find somewhere quiet on the 2.4GHz band. If it finds one, great - no problem. If it doesn't, which is quite common in built-up areas, it switches to 5GHz and things start to go sideways.
The trouble is that the Spark will happily use both DFS channels, and channels used outside your region. This is a questionable design decision, but it's what we've got. The end result is that it finds itself somewhere quiet around channel 149, and broadcasts away.
The Pixel XL does not support DFS channels and it enforces region restrictions. As a result, the Pixel XL will not even scan on channel 149. The Spark thinks it's done the right thing and everything's fine, and the Pixel XL can't see it because it's outside its working band.
What DJI need to do
I would like to see DJI allow us to lock it to 2.4GHz, even if the band is noisy. That way at least we can connect to the quad. If DJI want to warn about strong interference on wifi at that point, that would make sense.
What you can do in the meantime
Until that happens, the workaround is fairly simple - reset the wifi each time you power the quad on. Power up, give it a few seconds to finish startup, then hold the power button for 9 seconds - you'll hear one, then two, then three beeps. Release the power button, and the quad will reset its wifi and force itself to the best 2.4GHz channel it can find, at which point the front LEDs will light up green. You'll then be able to connect.
You will have to do this every time you power the quad up, and of course custom SSIDs and keys will be unusable. You're also not getting around the root issue, that the wifi control channel is very noisy (using the hardware remote controller might be a way around that, but I don't have one to test with), so be very, very careful when you're flying, and make sure your RTH settings are correct. If the quad loses wifi connectivity for 20 seconds it'll automatically RTH, and the odds of that happening with a noisy wifi band are high.
|
|