Cannot connect to simulated drone

I’m running Ubuntu 18.04 LTS in a VM and picked up one of the recommended Wifi adapters in order to use Sphinx to simulate a Bebop 2. When I start Sphinx, sometimes the AP starts and sometimes it doesn’t. When it does, sometimes I can connect to it and sometimes I can’t. When I am able to connect to it, I am able to ping 192.168.42.1 from the phone, but Freeflight Pro never sees the drone.

I am able to connect to a real Bebop 2 with Freeflight Pro.

My .drone config is stock except I’ve set with_front_cam=“false” and low_gpu=“true”. I have run “fdc drop_all firmwares” and “rm /usr/share/firmwared/firmwares/*”

Adapter is an EDUP EP-N8531 with a USB filter to pass it through to the guest OS, in which I can manage it reliably.

$ iwconfig
wlan0 IEEE 802.11 Mode:Master Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off

Other system requirements are met:

$ glxinfo | grep “OpenGL version”
OpenGL version string: 3.1 Mesa 20.0.8
$ uname -r
4.15.0-130-generic

Here’s the sphinx log:

$ sphinx --log-level=dbg /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone
Parrot-Sphinx simulator version 1.8

connecting to firmwared version: 1.8
starting Telemetryd to capture true data…
I telemetryd: Creating daemon with rate 50 ms
I libtelemetry: clear logger filter
I telemetryd: Loading plugins from ‘/opt/parrot-sphinx/usr/bin/…/lib/tlm-plugins/’
I telemetryd: Loading ‘/opt/parrot-sphinx/usr/bin/…/lib/tlm-plugins//tlm-web-gndctrl.so’
I telemetryd: Loading ‘/opt/parrot-sphinx/usr/bin/…/lib/tlm-plugins//tlm-blackbox.so’
I tlmblackbox: setEnabled 1
I tlmblackbox: setCompressed 1
I tlmblackbox: setCompressionLevel 6
I tlmblackbox: setCompressionMethod zlib
I tlmblackbox: setLogDir ‘.’
I tlmblackbox: setLogName ‘log.tlmb’
I tlmblackbox: setLogCount 4
I tlmblackbox: setFilter *
I libtelemetry: clear logger filter
I tlmblackbox: setFlushPeriod 10000 ms
I tlmblackbox: setMaxSize -1 bytes
I tlmblackbox: rotate logs: ‘./sphinx-11345-log.tlmb.3’ → ‘./sphinx-11345-log.tlmb.4’
I tlmblackbox: rotate logs: ‘./sphinx-11345-log.tlmb.2’ → ‘./sphinx-11345-log.tlmb.3’
I tlmblackbox: rotate logs: ‘./sphinx-11345-log.tlmb.1’ → ‘./sphinx-11345-log.tlmb.2’
I tlmblackbox: rotate logs: ‘./sphinx-11345-log.tlmb’ → ‘./sphinx-11345-log.tlmb.1’
I tlmblackbox: Creating file ‘./sphinx-11345-log.tlmb’
I telemetryd: Loading ‘/opt/parrot-sphinx/usr/bin/…/lib/tlm-plugins//tlm-gndctrl.so’
I telemetryd: Entering loop
Gazebo multi-robot simulator, version 7.0.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
–removed url–

[Msg] Waiting for master.
Gazebo multi-robot simulator, version 7.0.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
–removed url–

[Msg] Connected to gazebo master @ --removed url–://127.0.0.1:11345
[Msg] Publicized address: 127.0.0.1
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ --removed url–://127.0.0.1:11345
[Msg] Publicized address: 127.0.0.1
[Dbg] [Plugin.hh:177] Registering plugin fwman (libsphinx_fwman.so)
[Dbg] [FwManPlugin.cc:314] Loading plugin firmware manager…
[Msg] created parameter server on http:8383
[Dbg] [Iio.cc:72] Creating IfIio object ‘iio_simulator.sock’
[Msg] World params for ‘default’:
[Msg] spawn_points:
[Msg] - name: default
[Msg] pose: 0 0 0.2 0 -0 0
[Dbg] [Iio.cc:72] Creating IfIio object ‘iio_simulator.sock’
[Dbg] [MachineManager.cc:622] bebop2: Machine(name = “bebop2”, firmware = “http://plf.parrot.com/sphinx/firmwares/ardrone3/milos_pc/latest/images/ardrone3-milos_pc.ext2.zip”)
property interface = eth1
property stolen_interface = wlan0:eth0:192.168.42.1/24

[Dbg] [FwManPlugin.cc:496] Disabling physics
[Dbg] [Plugin.hh:177] Registering plugin wind (libsphinx_wind.so)
[Dbg] [SimpleWind.cc:136] Setting exprtk parameter direction_expr
[Dbg] [SimpleWind.cc:136] Setting exprtk parameter elevation_expr
[Dbg] [SimpleWind.cc:136] Setting exprtk parameter magnitude_expr
[Msg] connected to firmwared
[Dbg] [Firmwared.cc:249] OnPompConnected
I shd: wind: created: generation=2 sample_count=4000 sample_size=24 sample_rate=1000 metadata_size=125
[Dbg] [Firmwared.cc:259] OnPropertyAdded
[Dbg] [MachineManager.cc:647] PrepareFirmwares
[Msg] Preparation of firmware http://plf.parrot.com/sphinx/firmwares/ardrone3/milos_pc/latest/images/ardrone3-milos_pc.ext2.zip
I shd: wind: opened: sample_count=4000 sample_size=24 sample_rate=1000 metadata_size=125
[Dbg] [Machine.cc:1331] OnFirmwarePrepared
[Dbg] [MachineManager.cc:726] OnFirmwarePrepared
[Dbg] [MachineManager.cc:860] OnFirmwaresShown
[Msg] firmware /usr/share/firmwared/firmwares//ardrone3-milos_pc.ext2.zip.a3223a5b-4bd8-9583-54ad-cb89d0a34087.firmware supported hardwares:
[Msg] milosboard
[Dbg] [MachineManager.cc:882] PostFirmwaresShown
[Dbg] [Machine.cc:1382] OnInstancePrepared
[Dbg] [Machine.cc:562] cannot open hardware revision file /tmp/fd_mount_points/instances/8c51ed39d1417e7d9ae2eb925910fedf4f654151/union//simulator/models/milosboard/hwrev
[Dbg] [Machine.cc:1421] OnInstancesShown
[Dbg] [IoBackend.cc:157] start listen on socket /tmp/fd_mount_points/instances/8c51ed39d1417e7d9ae2eb925910fedf4f654151/union/simulator/iio_simulator.sock
[Msg] Selected params to build .sdf file for bebop2:
param flir_pos = tilted
param kalamos_clip_far = 35
param kalamos_clip_near = 1.5
param low_gpu = 1
param with_external_cams = 0
param with_flir = 0
param with_front_cam = 0
param with_hd_battery = 0
param with_kalamos = false
param xmlns =
[Dbg] [Plugin.hh:177] Registering plugin ultrasound (libsphinx_sensor_ultrasound.so)
[Dbg] [Plugin.hh:177] Registering plugin hand_launch (libsphinx_handling.so)
[Dbg] [Plugin.hh:177] Registering plugin calibration (libsphinx_handling.so)
[Dbg] [Plugin.hh:177] Registering plugin omniscient (libsphinx_omniscient.so)
[Dbg] [Plugin.hh:177] Registering plugin time (libsphinx_time.so)
[Dbg] [IoBackend.cc:157] start listen on socket /tmp/fd_mount_points/instances/8c51ed39d1417e7d9ae2eb925910fedf4f654151/union/simulator/iio_time.sock
[Dbg] [Iio.cc:72] Creating IfIio object ‘iio_time.sock’
[Dbg] [Plugin.hh:177] Registering plugin vertical_camera (libsphinx_camera.so)
[Wrn] [BaseCameraSensor.cc:331] vertical_camera: parameter ‘num_buffers’ is now deprecated.
[Dbg] [BaseCameraSensor.cc:348] vertical_camera: pool size = 25
[Dbg] [Plugin.hh:177] Registering plugin battery (libsphinx_battery.so)
[Dbg] [Plugin.hh:177] Registering plugin motherboard (libsphinx_motherboard.so)
[Dbg] [Plugin.hh:177] Registering plugin barometer (libsphinx_barometer_ng.so)
[Dbg] [Plugin.hh:177] Registering plugin gps (libsphinx_gps.so)
[Dbg] [Plugin.hh:177] Registering plugin magnetometer (libsphinx_magnetometer.so)
[Dbg] [Plugin.hh:177] Registering plugin actuator (libsphinx_propulsion_ardrone3.so)
[Dbg] [Plugin.hh:177] Registering plugin aerodimensional (libsphinx_aerodimensional.so)
[Dbg] [Plugin.hh:177] Registering plugin imu (libsphinx_imu.so)
[Dbg] [Drone.cc:384] All plugins for drone bebop2[8c51ed39d1417e7d9ae2eb925910fedf4f654151] loaded
I shd: omniscient_bebop2: created: generation=2 sample_count=4000 sample_size=192 sample_rate=1000 metadata_size=1125
I shd: time_bebop2: created: generation=2 sample_count=4000 sample_size=24 sample_rate=1000 metadata_size=128
I shd: battery_bebop2: created: generation=2 sample_count=4000 sample_size=8 sample_rate=1000 metadata_size=48
I shd: gps_bebop2: created: generation=2 sample_count=4000 sample_size=48 sample_rate=1000 metadata_size=245
I shd: gps_bebop2: opened: sample_count=4000 sample_size=48 sample_rate=1000 metadata_size=245
I shd: battery_bebop2: opened: sample_count=4000 sample_size=8 sample_rate=1000 metadata_size=48
I shd: time_bebop2: opened: sample_count=4000 sample_size=24 sample_rate=1000 metadata_size=128
I shd: omniscient_bebop2: opened: sample_count=4000 sample_size=192 sample_rate=1000 metadata_size=1125
[Msg] Drone bebop2[8c51ed39d1417e7d9ae2eb925910fedf4f654151] loaded
[Dbg] [Machine.cc:1641] CreateCommandLineboxinit cmdline = LD_PRELOAD=librt.so:libc.so.6:libpthread.so.0:libstdc++.so.6 /sbin/boxinit ro.boot.console=/pts/2 ro.hardware=milosboard ro.debuggable=0 ro.debug_ipaddr=10.202.0.1 wifid.bridge=0 ro.simulator.kernel.version=4.15.0-130-generic ro.simulator.kernel.build=#134-Ubuntu_SMP_Tue_Jan_5_20:46:26_UTC_2021 ro.simulator.host.arch=x86_64 ro.simulator.host.ip0=10.0.2.15 ro.simulator.host.mac0=08:00:27:a1:15:0b ro.simulator.gpu.hardware=SVGA_II_Adapter ro.simulator.gpu.driver=driver=vmwgfx_latency=64 ro.simulator.gpu.nvidia.info=UNDEFINED ro.simulator.host.name=ubuntu-1804 ro.simulator.os.version=Ubuntu_18.04.5_LTS ro.simulator.sphinx.version=1.8 ro.with-front-cam=0 ro.factory.hd_battery=0 ro.flir=-1
[Dbg] [Machine.cc:1274] OnInstancePropertiesSet
[Dbg] [Machine.cc:523] Instances property check for bebop2
[Dbg] [Machine.cc:529] Checking cmdline
[Dbg] [Machine.cc:529] Checking stolen_interface
[Dbg] [Machine.cc:529] Checking interface
[Dbg] [MachineManager.cc:1028] OnInstancePropertiesSet
[Dbg] [MachineManager.cc:1034] All machines have had their properties set
[Msg] WEB DASHBOARD IS ACCESSIBLE at --removed url–://localhost:9002
[Msg] Instance risible_fionola[8c51ed39d1417e7d9ae2eb925910fedf4f654151] started
[Msg] All drones instantiated
[Dbg] [MachineManager.cc:551] Enabling physics

[Dbg] [Iio.cc:105] Pomp connected on iio_time.sock. nb cnx: 1
[Dbg] [Iio.cc:105] Pomp connected on iio_simulator.sock. nb cnx: 1
[Dbg] [IioObject.cc:717] SetTrigger: trigger9 for mpu6050.0
[Dbg] [IioObject.cc:717] SetTrigger: trigger9 for ms5607
[Dbg] [IioObject.cc:717] SetTrigger: trigger9 for ak8963
[Dbg] [IioObject.cc:717] SetTrigger: trigger9 for ultrasound
[Dbg] [IioObject.cc:717] SetTrigger: trigger9 for bldc-cypress-i2c
[Dbg] [IioObjectPrivate.hh:81] Ring buffer full for bldc-cypress-i2c
[Dbg] [ShmFrameServer.cc:301] vertical_camera: Connect client
I sphxpomp_handler: pid=6687,uid=1000,gid=1000 → pid=6995,uid=0,gid=0
[Dbg] [IioObjectPrivate.hh:81] Ring buffer full for bldc-cypress-i2c (8 times)
[Dbg] [Socket.cc:446] SocketFdAvailable 22
[Dbg] [DataProvider.cc:238] Reading message on file descriptor 78 22 bytes buffered.
[Dbg] [DataProvider.cc:244] Pushing message from file descriptor 78
[Dbg] [Socket.cc:446] SocketFdAvailable 0
[Dbg] [Socket.cc:446] SocketFdAvailable 14
[Dbg] [DataProvider.cc:238] Reading message on file descriptor 78 14 bytes buffered.
[Dbg] [DataProvider.cc:244] Pushing message from file descriptor 78
[Dbg] [Socket.cc:446] SocketFdAvailable 0
[Dbg] [Socket.cc:446] SocketFdAvailable 16
[Dbg] [DataProvider.cc:238] Reading message on file descriptor 78 16 bytes buffered.
[Dbg] [DataProvider.cc:244] Pushing message from file descriptor 78
[Dbg] [Socket.cc:446] SocketFdAvailable 0
[Dbg] [Socket.cc:446] SocketFdAvailable 16
[Dbg] [DataProvider.cc:238] Reading message on file descriptor 78 16 bytes buffered.
[Dbg] [DataProvider.cc:244] Pushing message from file descriptor 78
[Dbg] [Socket.cc:446] SocketFdAvailable 0
[Dbg] [Socket.cc:446] SocketFdAvailable 16
[Dbg] [DataProvider.cc:238] Reading message on file descriptor 78 16 bytes buffered.
[Dbg] [DataProvider.cc:244] Pushing message from file descriptor 78
[Dbg] [Socket.cc:446] SocketFdAvailable 0

Any ideas? Thanks