2016-06-22 1 views
0

Mon petit projet consiste à écrire des commandes HCI sur une clé USB Bluetooth et à obtenir une réponse pour les commandes HCI.Ecriture de la commande HCI vers une clé USB BT

Je pourrais imprimer toutes les adresses de points d'extrémité de mon dongle USB Bluetooth comme ci-dessous (en utilisant libusb). Selon la spécification de l'interface de contrôle de l'hôte du système Bluetooth [couche de transport], l'adresse de point de terminaison (section 2.1) 0x00 est utilisée pour écrire les commandes HCI. Mais je ne pouvais pas trouver l'adresse de point de terminaison 0x00 dans mon dongle Bluetooth.

config[0]->interface[0]->altsetting[0]->endpoint[0]->bEndpointAddress=0x81 packetsize=16 
config[0]->interface[0]->altsetting[0]->endpoint[1]->bEndpointAddress=0x02 packetsize=64 
config[0]->interface[0]->altsetting[0]->endpoint[2]->bEndpointAddress=0x82 packetsize=64 
config[0]->interface[1]->altsetting[0]->endpoint[0]->bEndpointAddress=0x03 packetsize=0 
config[0]->interface[1]->altsetting[0]->endpoint[1]->bEndpointAddress=0x83 packetsize=0 
config[0]->interface[1]->altsetting[1]->endpoint[0]->bEndpointAddress=0x03 packetsize=9 
config[0]->interface[1]->altsetting[1]->endpoint[1]->bEndpointAddress=0x83 packetsize=9 
config[0]->interface[1]->altsetting[2]->endpoint[0]->bEndpointAddress=0x03 packetsize=17 
config[0]->interface[1]->altsetting[2]->endpoint[1]->bEndpointAddress=0x83 packetsize=17 
config[0]->interface[1]->altsetting[3]->endpoint[0]->bEndpointAddress=0x03 packetsize=25 
config[0]->interface[1]->altsetting[3]->endpoint[1]->bEndpointAddress=0x83 packetsize=25 
config[0]->interface[1]->altsetting[4]->endpoint[0]->bEndpointAddress=0x03 packetsize=33 
config[0]->interface[1]->altsetting[4]->endpoint[1]->bEndpointAddress=0x83 packetsize=33 
config[0]->interface[1]->altsetting[5]->endpoint[0]->bEndpointAddress=0x03 packetsize=49 
config[0]->interface[1]->altsetting[5]->endpoint[1]->bEndpointAddress=0x83 packetsize=49 
  1. Est-ce que cela veut dire que, mon dongle Bluetooth ne prend pas en charge l'envoi de commandes HCI
  2. Si oui, est-il autre moyen d'envoyer des commandes HCI à mon dongle Bluetooth

Répondre

2

Endpoint 0x00 est "réservé" pour le transfert de contrôle entre l'hôte et le périphérique et du fait que chaque périphérique doit avoir ce point de terminaison il n'a pas de descripteur de point de terminaison. Bien que votre hôte utilise ce point de terminaison pour énumérer et configurer votre périphérique, vous avez toujours la possibilité de l'utiliser pour votre communication. Tout ce que vous avez à faire est de démarrer un transfert de contrôle sur le point de terminaison 0x00. Vous n'avez pas besoin de configurer le périphérique ou revendiquer une interface pour le faire mais je vous recommande de le faire quand même (peut avoir certains avantages pour la vitesse et autres).

+0

Merci pour votre information. J'ai essayé wit point de terminaison 0x00 et maintenant je suis capable d'écrire des données (commandes HCI) à l'appareil connecté. – Sandy

+0

Pas de problème. Content que cela fonctionne maintenant. – dryman