Modify gfiber-agent to handle LE_ADV_IND filter
Change-Id: I72bb71676b66b14049b9ec0f19b88b92c50d687a
diff --git a/test/gfiber-agent b/test/gfiber-agent
index 9e86d62..0597d86 100755
--- a/test/gfiber-agent
+++ b/test/gfiber-agent
@@ -109,27 +109,43 @@
mgr.UnregisterAgent(AGENT_PATH)
print("Agent unregistered")
+def set_le_adv_ind_filter(adap_path, dev_addr):
+ name = adap_path.split('/')[-1]
+ path = "/sys/kernel/debug/bluetooth/%s/le_adv_ind_filter" % name
+ try:
+ f = open(path, 'w')
+ f.write(dev_addr)
+ f.close()
+ except IOError as e:
+ print("%s" % e)
+
def dev_pair_and_connect(path):
bus = g['bus']
obj = bus.get_object(BLUEZ_BUS, path)
dev = dbus.Interface(obj, DEVICE_INTF)
props = dbus.Interface(obj, PROPERTY_INTF)
+ adap_path = props.Get(DEVICE_INTF, "Adapter")
paired = props.Get(DEVICE_INTF, "Paired")
+
if paired == True:
print("%s is already paired" % (path))
return
def dev_pair_reply():
print("Device pairing completed for %s" % path)
+ set_le_adv_ind_filter(adap_path, '00:00:00:00:00:00')
props.Set(DEVICE_INTF, "Trusted", True)
dev.Connect()
def dev_pair_error(error):
print("Device pairing failed for %s" % path)
+ set_le_adv_ind_filter(adap_path, '00:00:00:00:00:00')
err_name = error.get_dbus_name()
print("Device pairing error: %s" % err_name)
dev.CancelPairing()
+ dev_addr = props.Get(DEVICE_INTF, "Address")
+ set_le_adv_ind_filter(adap_path, dev_addr)
dev.Pair(reply_handler=dev_pair_reply, error_handler=dev_pair_error, timeout=15.0)
def get_name_and_addr(path):