Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. BTADAPTER=""
  4.  
  5. function set_default_adapter() {
  6. RV=$(dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.DefaultAdapter)
  7. if [ $? -ne 0 ]; then
  8. return -1
  9. fi
  10. BTADAPTER=$(echo $RV | sed 's/^.*"\(.*\)".*$/\1/')
  11. return 0
  12. }
  13.  
  14. if ! set_default_adapter ; then
  15. echo "error: cannot get default bluetooth adapter"
  16. exit 1
  17. fi
  18.  
  19. if [ "$1" == "scan" ]; then
  20. hcitool scan
  21.  
  22. elif [ "$1" == "list" ]; then
  23. for mac in `dbus-send --system --dest=org.bluez --print-reply $BTADAPTER org.bluez.Adapter.ListDevices | grep dev_ | sed 's/.*dev_\(.*\)\"/\1/' | tr _ :`; do
  24. cat /var/lib/bluetooth/*/names | grep $mac
  25. done
  26.  
  27. elif [ "$1" == "names" ]; then
  28. cat /var/lib/bluetooth/*/names
  29.  
  30. elif [ "$1" == "trusts" ]; then
  31. cat /var/lib/bluetooth/*/trusts
  32.  
  33. elif [ "$1" == "props" ]; then
  34. if [ "$2" == "" ]; then
  35. echo "usage: $1 props 11:22:33:44:55:66"
  36. exit 1
  37. fi
  38. BTDEV=$(echo $2 | tr '[:lower:]' '[:upper:]' | tr : _)
  39. dbus-send --system --dest=org.bluez --print-reply $BTADAPTER/dev_$BTDEV org.bluez.Device.GetProperties
  40.  
  41. elif [ "$1" == "remove" ]; then
  42. if [ "$2" == "" ]; then
  43. echo "usage: $1 remove 11:22:33:44:55:66"
  44. exit 1
  45. fi
  46. BTDEV=$(echo $2 | tr '[:lower:]' '[:upper:]' | tr : _)
  47. if ! dbus-send --system --dest=org.bluez --print-reply $BTADAPTER org.bluez.Adapter.RemoveDevice objpath:$BTADAPTER/dev_$BTDEV >/dev/null 2>&1 ; then
  48. echo "failed to remove $2"
  49. exit 1
  50. fi
  51. echo "success"
  52.  
  53. elif [ "$1" == "pair" ]; then
  54. if [ "$2" == "" ]; then
  55. echo "usage: $1 pair 11:22:33:44:55:66"
  56. exit 1
  57. fi
  58. echo "pairing with $2 ..."
  59. if ! /hacks/bin/agent 0000 "$2" ; then
  60. echo failed
  61. exit 1
  62. fi
  63. echo "success, setting $2 as trusted ..."
  64. BTDEV=$(echo $2 | tr '[:lower:]' '[:upper:]' | tr : _)
  65. if ! dbus-send --system --dest=org.bluez --print-reply $BTADAPTER/dev_$BTDEV org.bluez.Device.SetProperty string:Trusted variant:boolean:true >/dev/null 2>&1 ; then
  66. echo "failed"
  67. exit 1
  68. fi
  69. echo "ok"
  70.  
  71. elif [ "$1" == "ping" ]; then
  72. if [ "$2" == "" ]; then
  73. echo "usage: $1 ping 11:22:33:44:55:66"
  74. exit 1
  75. fi
  76. l2ping "$2"
  77.  
  78. else
  79. echo "usage: $0 [scan|list|names|trusts|props|remove|pair|ping]"
  80. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement