마지막으로 답변을 얻었습니다!
C++에서는 libnm-glib를 사용하여 dbus proxy에서 작동합니다. 명령 행에서 사용하십시오 ..
gdbus call --system --dest org.freedesktop.ModemManager --object-path /org/freedesktop/ModemManager/Modems/0 --method org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
은 gsm 모뎀의 신호 강도를 제공합니다. MM 연결하면서 신호 품질을 얻을 수 없다고하면 하나의 모든 명령 및 데이터 포트가 때문에
, 그것은이다. 따라서 AT 포트 이 연결되면 신호 품질을 수집하기 위해 AT 명령을 보낼 수 없습니다. 더 많은 AT 포트가있는 더 좋은 모뎀을 얻거나 을 QMI 또는 MBIM으로 구동되는 것과 같이 비 AT 모뎀으로 전환해야합니다. - 알렉산더 모르가이
하나는 Q. 프록시 신호마다 asynchonously 또는 ModemManager 조사 모뎀 주기적으로 신호 강도의 변화가 신호 품질을 거기에 도착하는 것입니다합니까
gdbus monitor --system --dest org.freedesktop.NetworkManager --object-path /org/freedesktop/NetworkManager/Modems/0
사용 org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
신호를들을 수 있습니다 ?
A. 사용중인 모뎀에 따라 다릅니다. 모뎀이 원치 않는 품질 변경 표시를 지원하는 경우이를 사용합니다. 그렇지 않으면 MM은 모든 30s를 폴링하여 신호 품질 값을 찾습니다. 새로운 값을 얻으면 인터페이스의 속성 값은 으로 업데이트됩니다 (다소 차이가 있음). - 알렉산더 모르가
내 장치가 3g 모뎀입니다. 'iwlist ppp0 scanning'을 사용할 수 있습니까? 나는 밖으로 시험 할 것이다. – neckTwi
작동합니까? 같은 것을하기 위해 C++ 라이브러리를 찾고 있었지만 할 수 없었습니다. 나는 안드로이드에서 발견했다. 그렇다면 Bash + C++는 내 문제를 효율적으로 해결했습니다. 희망은 당신을 위해 또한 작동합니다. – Tlos
아직 시도하지 않았습니다. 나는이 [link] (http://arachnoid.com/linux/linux_mobile_internet_access.html)을 따르고있다. 그것도 당신을 도울 수 있습니다. – neckTwi