Prerequisite - minimal system requirements¶
Parrot-Sphinx can run only on Linux 64 bits, more precisely on the following distributions:
- Ubuntu 16.04 (xenial)
- Ubuntu 18.04 (bionic)
- Debian 9 (stretch)
- Debian 10 (buster)
A minimum of 1 GByte of storage is necessary to run Parrot-Sphinx.
The PC must support OpenGL in version 3.0 or higher. To check your version, you can type:
$ glxinfo | grep "OpenGL version"
Matching the minimal system requirements is not sufficient to enjoy every simulator features. This is particularly true if you let the drone front camera enabled (the default) or if you want to access the simulated drone WiFi from a FreeFlight application on your smartphone. See the recommended system requirements just below for more information.
Optional and recommended system requirements¶
A Ubuntu 18.04 with a 4.15 Linux kernel is recommended.
An NVIDIA graphics card using the latest proprietary drivers is strongly recommended. Besides, when activating the front camera, a high-end GPU (e.g. GTX 1060 Ti) becomes necessary.
An internet connection is also required as Parrot-Sphinx may have to fetch models or drone firmwares from some Internet servers.
A CSR (Cambridge Silicon Radio Ltd.) based bluetooth device may be required on your system if you want to test your minidrone bluetooth controller (e.g. FreeFligh Mini on your smartphone).
To check if your current bluetooth device is based on a CSR chipset, you must first find your USB or PCI bluetooth vendor/device ID (XXXX:YYYY):
$ lsusb | grep -i bluetooth $ lspci -nn | grep -i bluetooth
If the above command does not give you enough information besides the device ID, additional information may be available in the output of the following commands:
$ lsusb -vd XXXX:YYYY $ lspci -vd XXXX:YYYY $ cat /sys/kernel/debug/usb/devices | grep "CSR" -B2 $ cat /sys/kernel/debug/usb/devices | grep -i "vendor=0a12" -C1
At Parrot, we usually use the following reference
Parrot-Sphinx can create on your host system (real) WiFi access points attached to the simulated drone. This is useful for example if you want to test your drone controller or smartphone application (e.g FreeFlight).
Note that without a WiFi access point, you can still access your simulated drones through the virtual ethernet interface. To disable the WiFi access point feature, you must delete the XML element <stolen_interface> from your .drone file (Anatomy of a ‘.drone’ file).
This section describes the requirements to enable the WiFi access point feature.
A WiFi 802.11n/ac device supporting the AccessPoint (AP) / Infrastructure mode on your Linux distribution is required to access the simulated drone from your drone controller.
Note that the AP mode requirement is not so easily satisfied in practice. On Linux, the WiFi driver also has to be based on the mac80211 driver framework in order to be compatible with hostapd (most recent drivers do ).
To check if your current hardware supports the Access Point mode, you can type the following command and verify that the AP mode is listed in the “supported interfaces modes” section:
$ iw list | grep -A20 "Supported interface modes" Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * mesh point * P2P-client * P2P-GO
If the AP mode is listed in the output of the command above, your wifi device will most probably work fine with Parrot-Sphinx and you’ll be able to control your simulated drone via FreeFlight. Currently known exceptions to this simple rule include TP-Link TL-WN822N and TL-WN823N adapters based on the Realtek chipset RTL8192CU which have been reported to not work properly in AP mode despite the fact that this particular mode is listed in the output of the above command.
In case you would need to acquire new hardware, we recommend you to choose a USB WiFi adapters based on Ralink or Atheros chipsets using rt2800usb or ath9k_htc linux 802.11 drivers. Note that the new ath10k driver only supports PCI devices and does not currently support any USB adapter. The rest of this section is intended to help you choose and test new WiFi devices.
USB WiFi adapters
The following table gives you a non exhaustive list of WiFi adapters known to work with Parrot-Sphinx. Please note the exact product reference with the correct hardware version/revision (you may not get the correct chipset reference otherwise).
|EDUP EP-N8531 WiFi N 150Mb||RT5370||rt2800usb||802.11n 2.4GHz only|
|TP-LINK TL-WN722N v1.10||AR9272||ath9k_htc||802.11n 2.4Ghz only|
|TP-LINK TL-WDN4200 v1.0||RT3573||rt2800usb||802.11n 2.4/5GHz dual band|
|D-Link DWA-160 rev C1||RT5572||rt2800usb||802.11n 2.4/5GHz dual band|
|D-Link DWA-140 rev D1||RT5372||rt2800usb||802.11n 2.4Ghz only|
PCI/PCIe WiFi devices
For PCI/PCIe WiFi cards, we would recommend you to choose device based on Ralink or Atheros chipsets using rt2800pci or ath9k drivers. The simulator should also work with ath10k drivers for PCIe devices but this has not yet been verified. The following Intel WiFi devices should also work.
|WiFi device||Linux kernel version||Status|
|Intel Wireless 7260||3.10+||Unverified|
|Intel Wireless 3160||3.10+||Unverified|
|Intel Wireless 7265||3.13+||Verified|
|Intel Wireless 3165||4.1+||Unverified|
|Intel Wireless 8260||4.1+||Unverified|
|Intel Wireless 4165||4.1+||Unverified|
Intel WiFi devices not listed above and not driven by iwlwifi/iwlmvm
Intel Wireless WiFi 5XXX and
Intel Centrino XXXX in particular) are
NOT supported. 
To check what WiFi PCI device is currently installed on your system, you can type the following commands:
$ lspci | grep -i wireless $ lspci | grep -i intel
Other WiFi chipsets/drivers/vendor not mentioned in this section have not been tested. Again, any 802.11n/ac device that support AP mode on Linux should work with Parrot-Sphinx.
Anafi as an improved USB WiFi adapter
Both Anafi and Anafi-Thermal can be transformed into a WiFi adapter for Parrot-Sphinx. This way, the configuration related to WiFi gets available for the controller. Another advantage - more obvious - is that you do not need to purchase a dedicated WiFi USB adapter.
Here is the procedure to follow:
- Switch on your drone then connect it to your computer using a USB cable
- Mount the SD card on your computer
- Launch the dedicated configuration script:
- Unplug your drone
- Wait a few seconds
- Plug again your drone into your computer’s USB port. At this stage, you should see a new network interface named sphx_ana_XXXX. Note that it can take some seconds for the interface to appear. To verify, inspect the available network interfaces:
$ ip a | grep sphx
- Start Parrot-Sphinx with a modified
stolen_interface. The new interface must be provided to Parrot-Sphinx as the stolen interface. You can specify it in the .drone file (see Anatomy of a ‘.drone’ file) or in the command line as shown below:
$ sphinx my.drone::stolen_interface="sphx_ana_XXXX:eth0:192.168.42.1/24"
- You can then connect your simulated drone through WiFi. As explained in
this section using the SSID
ANAFI-???XXXXwhere XXXX is the same as in sphx_ana_XXXX. If any password is requested by the system, enter the drone WiFi key.
To reset the drone to its original configuration, just switch it off then on.
|||Linux 802.11 drivers table|
|||Linux 802.11 Intel iwlwifi drivers|