Connect SkyController 2's Wifi to an access point


#1

Product: [SkyController 2 + Disco]

Hi,

I’m trying to connect my SC2 to a Wi-Fi Access Point which is a bridge in between the SC2 and Disco.
This is not possible unless the AP is listed in drone_manager.cfg and has the Parrot specific vendor element with a PIxxxxxxxxxxxxxxxx serial number in it.

However, I am able to force connect my SC2 to an arbitrary AP by using wifid-cli on my SC2 (via adb). However, mppd detects the change in Wi-Fi connection and re-connects to the drone_manager.cfg’s AP.

Is there any way I can change this behaviour? As far as I know, mppd is not part of the SDK, so its source code is not publicy available, am I right?

Thanks for your help!

SoftIce


#2

Hi

I’m trying to connect my SC2 to a Wi-Fi Access Point which is a bridge in between the SC2 and Disco.
This is not possible unless the AP is listed in drone_manager.cfg and has the Parrot specific vendor element with a PIxxxxxxxxxxxxxxxx serial number in it.

Correct. We use the wifi beacons to detect whether an access point is from a Parrot drone, or from another access point. Then we use the serial number (PIxxx…) to choose on which access point to connect. This allow us to have a strong pairing which is not lost if the user changes the name of the drone’s access point.

However, I am able to force connect my SC2 to an arbitrary AP by using wifid-cli on my SC2 (via adb). However, mppd detects the change in Wi-Fi connection and re-connects to the drone_manager.cfg’s AP.

Is there any way I can change this behaviour? As far as I know, mppd is not part of the SDK, so its source code is not publicy available, am I right?

No, you can’t change this behavior. As you’ve seen, the SC2 firmware is closed source, so you can’t modify the software*. The product was designed to achieve a high reliability of the wifi connection, so the wifi network selection, wifi connection, and drone connection are tightly linked inside the mppd process. We don’t provide any configuration to delegate the wifi selection to another process.

Regards,
Nicolas.

*: You can build your own software since we provide the kernel sources and the toolchain for the product, as per GPL requirements, but it would be rather complicated to replace mppd with your own software, because mppd does basically all the work in the product.


#3

Hi Nicolas,

Thank you so much for your answer. Unfortunately, that’s what I thought…

I have the following setup:
SC2 <-Wifi-> RaspberryPi <-Wifi-> iPhone (Wifi tethering) <4G-> Huawei E3372 Dongle <-USB-> Disco
In other words, I’m flying my Disco over 4G and it works.=) I successfully replicated the vendor elements with the serial number in the RPi’s AP. However, it’s a bit over-engineered to bring the RPi3 with battery pack along to just simulate the vendor elements (which an iPhone AP cannot do).
Do you have any smart idea how I can achieve
SC2 <-Wifi-> iPhone (Wifi tethering) <4G-> Huawei E3372 Dongle <-USB-> Disco

Any help appreciated.
(Well aware that I’m abusing the original design and probably lose my warranty…)
Thanks,
SoftIce


#4

Parrot Disco over LTE/4G Demo (softmod)
https://www.youtube.com/watch?v=1Txyy7Xstms

any reason why mppd cannot be made open source?

Thanks,
SoftIce


#5

Hi Softice,

How did this project work for you?

I’m very interested in how you used the RiP to mimic the beacon need for the SC2. Can you share the of this?

Thanks,
Daimian


#6

Hi Daimian,

Just curious, are you working on a 4G softmod or something else?

Not all Wifi modules are able to broadcast vendor elements. The built-in Wifi in the Raspberry Pi 3 for example can’t do it. I’m using a TL-WN723N USB Wi-Fi Module. Basically, I’m running hostapd and I set the parameter vendor_elements to a similar string as the one the Disco is broadcasting.
You then need to add a matching record into SC2’s /data/lib/mppd/drone_manager.cfg

Hope that helps,

SoftIce


#7

Hi Softice

I saw the Vedio “Parrot Disco over LTE/4G Demo” few days ago. I’m very interested at this and try to do the mods on my Parrot Disco. I am collecting all the info about this,but it’s need profound linux knowledge to work on this project so still a bit hard for me.

Now I can only telnet to Disco and adb to Skycontroller2. The problems I have to face are listed below:

  1. How to build the PPP tunnel between Disco and Skycontroller2.
  2. Changing the light color of Skycontroller2 while connected to Disco via LTE/4G
    3.The detail of modifying the vendor elements of RPi3

I would apppreciate if you gave me some guides or any info you’re willing share. Thanks in advance

Li


#8

Hi Li,
you can find more info on the 4G softmod @ https://www.rcgroups.com/forums/showthread.php?2728773-Official-Parrot-Disco-***Owner-s-Thread***

Feel free the PM me there (softice123)

Softice