For communication between wifi and ethernet devices, the DDS layer in ROS2 relies on the multicast ability of a given network.
This is often disabled on enterprise networks (at university or work etc) for (I think) security reasons .
To get around this, you have to configure CycloneDDS to comunicate in a unicast manner, and you must specify the local IPs of all the participants you want to communicate.
_I am using CycloneDDS instead of the default (for ROS2 humble at least) FastDDS, because I ran into lots of issues trying to get topic