Search code examples
c++qtqtnetwork

qt - QNetworkConfigurationManager::configurationAdded signal not working


I have two environments (DEV and PROD). Both are Linux running Connman as network manager. In my DEV environment the signal configurationAdded is working properly when I plug/unplug ethernet cable. On the other hand, in PROD env, with computer with the same hardware specifications, this signal is not emitted. My question in this topic is: which it is based Qt, in particular QtNetwork, to emit this signal? What their dependencies? I am assuming that I have any missing dependencies in PROD env by which this is not working properly.

I have read this QNetworkConfigurationManager::configurationChanged signal not getting called for ETHERNET config changes but in this question the user is asking for Windows, not for Linux. In any case it was not resolved.

EDIT: Checking QNetworkConfigurationManager::capabilities, the result in DEV environment is QFlags(0x1|0x10|0x20|0x40) while in PROD env is QFlags() (empty). So this can be a problem with QtNetwork backend in PROD env.


Solution

  • The issue is that app binary not getting right plugins path. In this case, the plugin needed is bearer. You can check this debugging with QLibraryInfo::location(QLibraryInfo::PluginsPath). If your path is not right, you can solve it using qt.conf file or setting paths. Both methods are specified in this Qt documentation article