libqofono Не могу получить модемы из-за error_name = org.freedesktop.DBus.Error.MatchRuleNotFound - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь использовать libqofono-0.92 (разработанный Sailfish OS и перенесенный на Ubuntu и Yocto) на встроенной машине для извлечения модемов из DBus API ofono.Вот что я имею в коде из тестовых примеров:

QOfonoManager manager;
QOfonoModem modem;
QStringList modems = manager.modems();

Вывод modems равен нулю.Вывод мониторинга dbus выглядит следующим образом:

method call time=1537964753.056662 sender=:1.86 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.ofono'"
method call time=1537964753.056723 sender=:1.86 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string "org.ofono"
method return time=1537964753.056776 sender=org.freedesktop.DBus -> destination=:1.86 serial=5 reply_serial=8
   string ":1.62"
method call time=1537964753.056818 sender=:1.86 -> destination=org.freedesktop.DBus serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.ofono',path='/',interface='org.ofono.Manager',member='ModemRemoved'"
method call time=1537964753.056868 sender=:1.86 -> destination=org.freedesktop.DBus serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner
   string "org.ofono"
method return time=1537964753.056924 sender=org.freedesktop.DBus -> destination=:1.86 serial=6 reply_serial=10
   boolean true
method call time=1537964753.056974 sender=:1.86 -> destination=org.ofono serial=11 path=/; interface=org.ofono.Manager; member=GetModems
method return time=1537964753.057007 sender=:1.62 -> destination=:1.86 serial=95 reply_serial=11
   array [
      struct {
         object path "/hfp/org/bluez/hci0/dev_D8_5F_2A_5B_7B_E6"
         array [
            dict entry(
               string "Online"
               variant                   boolean true
            )
            dict entry(
               string "Powered"
               variant                   boolean true
            )
            dict entry(
               string "Lockdown"
               variant                   boolean false
            )
            dict entry(
               string "Emergency"
               variant                   boolean false
            )
            dict entry(
               string "Serial"
               variant                   string "D8:5F:2A:5B:7B:E6"
            )
            dict entry(
               string "Interfaces"
               variant                   array [
                     string "org.ofono.VoiceCallManager"
                     string "org.ofono.CallVolume"
                     string "org.ofono.Handsfree"
                     string "org.ofono.NetworkRegistration"
                  ]
            )
            dict entry(
               string "Features"
               variant                   array [
                     string "net"
                  ]
            )
            dict entry(
               string "Name"
               variant                   string "Samsung Galaxy S7"
            )
            dict entry(
               string "Type"
               variant                   string "hfp"
            )
         ]
      }
      struct {
         object path "/phonesim"
         array [
            dict entry(
               string "Online"
               variant                   boolean false
            )
            dict entry(
               string "Powered"
               variant                   boolean false
            )
            dict entry(
               string "Lockdown"
               variant                   boolean false
            )
            dict entry(
               string "Emergency"
               variant                   boolean false
            )
            dict entry(
               string "Interfaces"
               variant                   array [
                  ]
            )
            dict entry(
               string "Features"
               variant                   array [
                  ]
            )
            dict entry(
               string "Type"
               variant                   string "hardware"
            )
         ]
      }
   ]
method call time=1537964753.060383 sender=:1.86 -> destination=org.freedesktop.DBus serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.ofono',path='/',interface='org.ofono.Manager',member='ModemAdded'"
method call time=1537964753.060427 sender=:1.86 -> destination=org.freedesktop.DBus serial=13 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.ofono',path='/',interface='org.ofono.Manager',member='ModemRemoved'"
method call time=1537964753.060471 sender=:1.86 -> destination=org.freedesktop.DBus serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.ofono'"
method call time=1537964753.060517 sender=:1.86 -> destination=org.freedesktop.DBus serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.ofono'"
method call time=1537964753.060564 sender=:1.86 -> destination=org.freedesktop.DBus serial=16 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.DBus'"
error time=1537964753.060621 sender=org.freedesktop.DBus -> destination=:1.86 error_name=org.freedesktop.DBus.Error.MatchRuleNotFound reply_serial=16
   string "The given match rule wasn't found and can't be removed"

В конце мы получаем,

error_name=org.freedesktop.DBus.Error.MatchRuleNotFound reply_serial=16
       string "The given match rule wasn't found and can't be removed"

Так что, похоже, что-то происходит с dbus, но я не совсем уверенкакие.Может ли это быть ошибкой в ​​libqofono-0.92?Второе мнение или руководство очень ценится.Заранее спасибо.

...