2013-08-22 10 views
8

Próbuję utworzyć skrypty, aby wykryć i sparować urządzenia bluetooth na platformie wbudowanego arch-linux i nie mogę uzyskać żadnych odpowiedzi na polecenia dbus-send.Nie mogę uzyskać odpowiedzi na dbus-send

Komunikat o błędzie jest prawie zawsze taki sam (metoda nie istnieje), jednak wydaje się, że składnia wysyłania jest poprawna.

Mam wyszukiwane przeze mnie i wyszukiwane tutaj poprawną składnię i błędy, ale nie mogłem znaleźć żadnych rozwiązań.

[[email protected] ~]# dbus-send --system --dest=org.bluez --print-reply/org.bluez.Manager.GetProperties 
Error org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.bluez.Manager" doesn't exist 


[[email protected] ~]# dbus-send --system --print-reply --dest=org.bluez /org/bluez/134/hci0 org.bluez.Adapter.GetProperties 
Error org.freedesktop.DBus.Error.UnknownObject: Method "GetProperties" with signature "" on interface "org.bluez.Adapter" doesn't exist 

Bluez jest zainstalowana, i mogę korzystać z narzędzi hcitool i bluetoothctl ręcznie odkryć i powiązań między urządzeniami, jednak ta metoda nie jest wykonalne dla użytkownika końcowego i trzeba utworzyć interfejs WWW dla nich wykonać odkrycie i parowanie.

Wygląda na to, że dbus jest preferowaną metodą, ponieważ bluetoothctl nie akceptuje argumentów linii poleceń, aby umożliwić parowanie adresu urządzenia.

Każda pomoc/sugestie będą mile widziane.

+0

hcitool nie używa bluez, bezpośrednio komunikuje się z jądrem, sprawdza, czy działa bluez (bluetoothd), ponieważ demon bluetoothd nie działa – ashish

+0

Dzięki, tak działa: [root @ alarmpi ~] # ps aux | grep bluetooth root 134 0.0 0.4 4220 1908? Ss Aug21 0:00/usr/lib/bluetooth/bluetoothd – crankshaft

+0

1 więcej sprawdź, czy "sdptool przeglądaj lokalne" daje o/p – ashish

Odpowiedz

4
  1. Sprawdź, bluetoothd pracuje,
  2. zainstalować program o nazwie d-feet który jest debugger D-Bus i sprawdzić, czy org.bluez jest obecny na karcie magistrali systemowej,
  3. Jeśli jest nawigować do miejsca docelowego obiekt, interfejs i sposób, który jest „/”, „org.bluez.Manager” i „GetProperties” odpowiednio
  4. dwukrotnie kliknij nazwę metody (GetProperties) i kliknij wykonać bez żadnych argumentów
  5. Dane wyjściowe powinny być podobne do: {u'Adapters': ['/org/bluez/709/hci0']}, jeśli nie - problem z urządzeniem bluetoothd,
Btw. twoje polecenie jest poprawne.
Powiązane problemy