Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playing around with Fast-DDS and Bundles for Play store release #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sloretz
Copy link
Owner

@sloretz sloretz commented Oct 13, 2022

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.

type=1400 audit(0.0:302): avc: denied { ioctl } for path="socket:[366356]" dev="sockfs" ino=366356 ioctlcmd=8927 scontext=u:r:untrusted_app:s0:c7,c257,c512,c768 tcontext=u:r:untrusted_app:s0:c7,c257,c512,c768 tclass=udp_socket permissive=0 app=com.github.sloretz.sensors_for_ros

Next idea: try holding WifiManager.MulticastLock and see if that allows communication? https://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock

@sloretz sloretz changed the title Playing around with combatibility with Android 12 (31) Playing around with combatibility with Android 13 Oct 13, 2022
@sloretz
Copy link
Owner Author

sloretz commented Oct 13, 2022

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.

@sloretz sloretz changed the title Playing around with combatibility with Android 13 Playing around with Fast-DDS and Bundles for Play store release Oct 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant