Bluetooth : les stacks


Article publié le 05-05-2006

Une page sur les stacks, la partie la plus importante dans un périphérique Bluetooth.

Pour commencer, définissons la "stack" : c'est le logiciel qui va permettre d'utiliser le Bluetooth sur un système.
La stack peut être vue comme un driver pour le Bluetooth, mais elle intègre aussi les utilitaires nécessaires à son fonctionnement.
Le gros défaut des différentes stacks, c'est qu'il faut qu'elles intègrent les Profils pour faire fonctionner le matériel. Les stacks implémentent bien les Profils de base, mais certaines fonctions, comme l'A2DP, ne sont pas toujours présentes.

Normalement, comme les contrôleurs Bluetooth sont standardisés, on peut utiliser n'importe quelle stack avec un dongle. Mais habituellement, le dongle est fourni avec une stack bien précise, et le changement peut poser problème. De plus, certaines stacks sont payantes.

Passons maintenant les quelques stacks disponibles en revue.

La Stack Apple

bluetooth-stack-apple



Pour les Macs, on n’a pas le choix. Il existe une seule stack disponible, et elle est intégrée à l'OS, c'est la stack d'Apple.
Pour utiliser le Bluetooth, il faut au minimum Mac OS X en version 10.2.8 (Jaguar). Sous cette version de l'OS, seuls le Bluetooth 1.1 et le Bluetooth 1.2 sont supportés. Pour tirer parti du Bluetooth 2.0 (et de l'EDR) il faut au moins Mac OS X 10.3 (Panther).

Pour les Macs récents, le Bluetooth est intégré d'origine (ou au moins proposé en option interne). Le contrôleur habituel est un modèle compatible Bluetooth 2.0 EDR interfacé en USB 2.0. Mais n'importe quel dongle Bluetooth est reconnu par la stack Apple.

Au niveau des Profils supportés, on retrouve :

  • Dial Up Networking Profile (DUN)
  • Human Device Interface (HID)
  • Serial Port Profile (SPP)
  • Object Push Profile (OPP)
  • File Transfer Profile (FTP)
  • Synchronization Profile (SYNC)
Tout ce qui est nécessaire est présent, le HID pour la souris et le clavier Apple, la synchro pour iSync, l'envoi de fichiers, etc.

La mise à jour 1.5 propose en plus le Hardcopy Cable Replacement (HRCP) et le Headset Profile (HSP) pour utiliser une oreillette avec iChat.

Quelqies images de l'utilitaire de configuration Apple :

bluetooth-stack-apple-02


bluetooth-stack-apple-03


bluetooth-stack-apple-04



Les stacks PC

Sur PC (Windows) on trouve plusieurs stacks.

La stack Microsoft

bluetooth-stack-microsoft



Microsoft propose sa propre stack Bluetooth. Elle est installée automatiquement avec le Service Pack 2 de Windows XP.
Seul problème, elle est fortement limitée et supporte très peu de Profils. Dans la majorité des cas, il vaut mieux installer une des 3 autres stacks disponibles.

Les Profils supportés :

  • Personnal Area Network (PAN)
  • Hardcopy Cable Replacement (HRCP)
  • Dial Up Networking Profile (DUN)
  • Human Device Interface (HID)
  • Serial Port Profile (SPP)
  • Object Push Profile (OPP)
Il manque le FTP, le HSP (pour les oreillettes) et disposer du Sync aurait été intéressant aussi.

Comme d'habitude, Microsoft propose le minimum.
Autre problème, la stack Microsoft et le driver Microsoft sont automatiquement installés, même si un autre driver est disponible. Donc parfois l'installation d'une autre stack peut devenir le parcours du combattant.

Quelques captures :
Ajout d'un périphérique Bluetooth :

bluetooth-stack-microsoft-03



Les services proposés sur un Sony-Ericsson T68i :

bluetooth-stack-microsoft-04



Le cas Vista

Microsoft a modifié sa stack Bluetooth avec Vista, et elle gère désormais les fonctions sonores (Profils HSP, HFP et A2DP). Des captures seront disponibles dans quelques semaines.

La stack Toshiba

bluetooth-stack-toshiba



Toshiba propose une stack Bluetooth, utilisée essentiellement par les PC et dongle de la marque, ainsi que par certains PC Sony.
Elle est très complète.

Les Profils supportés :

  • Service Discovery Application Profil (SDAP)
  • Basic Imaging Profile (BIP)
  • Human Device Interface (HID)
  • Serial Port Profile (SPP)
  • Dial Up Networking Profile (DUN)
  • Hardcopy Cable Replacement (HRCP)
  • HeadSet Profile (HSP)
  • Fax Profile (FAX)
  • Lan Access Profile (LAN)
  • Advanced Audio Distribution Profile (A2DP)
  • Personnal Area Network (PAN)
  • Audio Video Remote Control Profil (AVCRP)
  • Object Push Profile (OPP)
  • File Transfer Profile (FTP)
  • Audio Video Control Transport Profile (AVCTP)
Difficile de faire plus exhaustif, même l'A2DP est supporté. On est loin de la stack Microsoft.

La stack BlueSoleil