Open sloretz opened 1 year ago
Problem is cyclonedds is selecting the wrong network. The Android-13 device has a valid sim, while the Android-11 device does not. It was selecting the mobile data network interface instead of the wireless interface. This will need to be configurable.
~~This is a work in progress towards compatibility with Android 13 With CycloneDDS on an Android 13 device I saw a bunch of avc events
{ read }
with name"wireless"
. I assumed this was because CycloneDDS tries to read/proc/net/wireless
. I don't see the same events on an Android 30 device. Communication works on the Android 11 device, but silently does not work on the Android 13 device.~~ Fixed on main.With this I tried switching to Fast-DDS. It comes with a couple problems. The first is the code size is massive and the apk becomes 200Mb. The second is Fast-DDS requires two type supports (even
rmw_fastrtps_dynamic_cpp
does), so I can't use static linking and LTO to shrink it.This still does not solve the communication problem on Android 13 device. I see a new avc event with Fast-DDS, although this time I see it on both the Android 11 and Android 13 devices. The communication behavior is the same: I can communicate with the Android 11 device but not the Android 13 device. This makes me think there's something else happening on the Android 13 device.Fixed on Main.Next idea: try holdingWifiManager.MulticastLock
and see if that allows communication? https://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock