diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2004-07-25 07:36:18 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2004-07-25 07:36:18 +0000 |
commit | 01e800f18ea32d2b9d285bb245d303e3aa81fc3b (patch) | |
tree | 0db93b4363942379e82bddb3b55aff6892222238 /tools | |
parent | d92a0b2e959fa1e7c174bd877681568404c847b6 (diff) |
Use packet type and allow role switch
Diffstat (limited to 'tools')
-rw-r--r-- | tools/hcitool.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/hcitool.c b/tools/hcitool.c index 8f03ae86..df33412f 100644 --- a/tools/hcitool.c +++ b/tools/hcitool.c @@ -394,6 +394,7 @@ static void cmd_info(int dev_id, int argc, char **argv) char name[248]; unsigned char features[8]; struct hci_version version; + struct hci_dev_info di; struct hci_conn_info_req *cr; int opt, dd, cc = 0; @@ -425,6 +426,11 @@ static void cmd_info(int dev_id, int argc, char **argv) exit(1); } + if (hci_devinfo(dev_id, &di) < 0) { + perror("Can't get device info"); + exit(1); + } + printf("Requesting information ...\n"); dd = hci_open_dev(dev_id); @@ -443,7 +449,7 @@ static void cmd_info(int dev_id, int argc, char **argv) bacpy(&cr->bdaddr, &bdaddr); cr->type = ACL_LINK; if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - if (hci_create_connection(dd, &bdaddr, htobs(HCI_DM1 | HCI_DH1), 0, 0, &handle, 25000) < 0) { + if (hci_create_connection(dd, &bdaddr, htobs(di.pkt_type & ACL_PTYPE_MASK), 0, 0x01, &handle, 25000) < 0) { perror("Can't create connection"); close(dd); exit(1); @@ -618,7 +624,7 @@ static void cmd_cc(int dev_id, int argc, char **argv) uint16_t handle; uint8_t role; - role = 0; + role = 0x01; ptype = HCI_DM1 | HCI_DM3 | HCI_DM5 | HCI_DH1 | HCI_DH3 | HCI_DH5; for_each_opt(opt, cc_options, NULL) { |