without using AT commands how can we get signal strength of 3g modem? The gdbus object for NetworkManager don't have any method like getSignalStrength
.
Network manager is locking device file preventing to use AT commands.
nm-applet was able to display signal strength in system tray. so there should be a way to get signal strength form network manager!
nmcli
is command line counter part of nm-applet. Can i get signal strength using nmcli
? nothing about signal strength is mentioned in its man pages.
I was working on a homework, in which I had to determine the indoor location by means of signal strengths of access points in a building. I was using
iwlist wlan0 scanning
command in order to see get the signal strength of the access points nearby. Then I was processing the output of it in Bash and redirecting it to C++ executable file, which is easy in Bash. I hope it will help you.
Finally got the answer!
In c++ use libnm-glib to act on dbus proxy. From command line use..
gives u the signal strength of gsm modem.
One can listen to
org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
signal usingNetworkManager uses ModemManager for mobile broadband modem control. Instead of looking at the NetworkManager DBus APIs, you can look at the ModemManager ones, which will actually expose the connection/registration details, including signal quality.
If targeting to develop an application using C++ to gather information from the modem, I'd suggest to use libmm-glib (GLib-based library) to access the ModemManager DBus API transparently (i.e. without needing to know DBus).