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
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)
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 :
Les
stacks PC
Sur PC (Windows) on trouve plusieurs stacks.
La 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)
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 :
Les services proposés sur un Sony-Ericsson T68i :
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
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)
La stack BlueSoleil
Une stack que l'on retrouve parfois avec les dongles. Elle est
téléchargeable en version démo (limitation à des transferts de
5Mo). Pour la version complète, soit on paye (11 €) soit le
constructeur du dongle a payé pour nous.
Les Profils supportés :
- Personnal Area Network (PAN)
- Serial Port Profile (SPP)
- Dial Up Networking Profile (DUN)
- Lan Access Profile (LAN)
- File Transfer Profile (FTP)
- Human Device Interface (HID)
- Hardcopy Cable Replacement (HRCP)
- HeadSet Profile (HSP)
- Fax Profile (FAX)
- Object Push Profile (OPP)
- Service Discovery Application Profil (SDAP)
- Basic Imaging Profile (BIP)
- Advanced Audio Distribution Profile (A2DP)
- Audio Video Remote Control Profil (AVCRP)
- Audio Video Control Transport Profile (AVCTP)
- Synchronization Profile (SYNC)
La stack Widcomm
La stack Widcomm est la plus courante, et la plus réputée des
stacks sous Windows. Elle est payante, sauf si le constructeur du
dongle a payé la licence (une majorité). Actuellement, elle
appartient à BroadCom, qui a racheté la société. Elle supporte
énormément de Profils, et est assez simple à utiliser.
Les Profils supportés :
- Serial Port Profile (SPP)
- File Transfer Profile (FTP)
- Object Push Profile (OPP)
- Dial Up Networking Profile (DUN)
- Fax Profile (FAX)
- Personnal Area Network (PAN)
- Synchronization Profile (SYNC)
- Human Device Interface (HID)
- Hardcopy Cable Replacement (HRCP)
- HeadSet Profile (HSP)
- Basic Imaging Profile (BIP)
- Advanced Audio Distribution Profile (A2DP)
- Audio Video Remote Control Profil (AVCRP)
- Audio Video Control Transport Profile (AVCTP)
- Basic Printing Profile (BPP)
C'est la stack livrée par Logitech avec ses ensembles Bluetooth, par exemple.
Quelques captures :
Ajout d'un périphérique Bluetooth :
Les services proposés sur un Sony-Ericsson T68i :
Les stacks PDA
Sur les PDA aussi, on trouve différente stack. La différence, c'est
qu'elles ne se changent pas facilement.
La stack Microsoft
Une fois n'est pas coutume, Microsoft propose sa stack avec son
système WindowsMobile (Pocket PC).
Les Profils supportés :
- Serial Port Profile (SPP)
- Dial Up Networking Profile (DUN)
- HeadSet Profile (HSP)
- Hands Free Profile (HFP)
- Synchronization Profile (SYNC)
- Human Device Interface (HID)
- Object Push Profile (OPP)
- Personnal Area Network (PAN)
La mise à jour AKU2 de Windows Mobile 05 peut apporter les Profils Advanced Audio Distribution Profile (A2DP) et Audio Video Remote Control Profil (AVCRP) mais c'est facultatif.
La stack Toshiba
Toshiba propose sa stack Bluetooth pour les PDA. Les Pocket PC de
la marque l'ont utilisée, ainsi que certains modèles récents
d'autres constructeurs.
Les Profils supportés :
- Service Discovery Application Profil (SDAP)
- Basic Imaging Profile (BIP)
- Serial Port Profile (SPP)
- HeadSet Profile (HSP)
- Dial Up Networking Profile (DUN)
- Advanced Audio Distribution Profile (A2DP)
- Lan Access Profile (LAN)
- Audio Video Control Transport Profile (AVCTP)
- Personnal Area Network (PAN)
- Audio Video Remote Control Profil (AVCRP)
- Object Push Profile (OPP)
- File Transfer Profile (FTP)
La stack Widcomm
Même chose que sous Windows, la stack Widcomm est courante et
efficace.
Les Profils supportés :
- Serial Port Profile (SPP)
- File Transfer Profile (FTP)
- Object Push Profile (OPP)
- Dial Up Networking Profile (DUN)
- HeadSet Profile (HSP)
- Hands Free Profile (HFP)
- Human Device Interface (HID)
- Personnal Area Network (PAN)
- Basic Imaging Profile (BIP)
- Advanced Audio Distribution Profile (A2DP)
- Audio Video Remote Control Profil (AVCRP)
- Audio Video Control Transport Profile (AVCTP)
La stack Palm
La stack de base proposée par Palm est assez légère, et supporte
peu de Profils.
Les Profils supportés :
- Serial Port Profile (SPP)
- Object Push Profile (OPP)
- Dial Up Networking Profile (DUN)
- Lan Access Profile (LAN)
La stack Sony
Une partie des Clié ont eu accès au Bluetooth. Soit en interne soit
en externe via une Memory Stick.
La stack est très limitée, mais est une des seules à intégrer le
BIP (sur un PDA) : avec un appareil photo Sony en Bluetooth, on
pouvait commander l'appareil à distance avec son Clié.
Les Profils supportés :
- Serial Port Profile (SPP)
- Object Push Profile (OPP)
- Dial Up Networking Profile (DUN)
- Lan Access Profile (LAN)
- Basic Imaging Profile (BIP)
Les stacks Linux
Pour terminer ce tour d'horizon, voici les 3 stacks proposées sous Linux. Elles sont très limitées, mais l'OpenSource aidant, elles peuvent supporter au final énormément de périphériques. C'est aussi à partir de ces stacks très modulaires que les attaques via le Bluetooth sont lancées.
La stack BlueZ
C'est la stack de base sous Linux (intégrée dans le noyau). Elle
supporte peu de Profils en natif, mais permet d'utiliser des
modules proposés pas les autres. Elle est OpenSource.
Les Profils supportés :
- Serial Port Profile (SPP)
- Human Device Interface (HID)
- Hardcopy Cable Replacement (HRCP)
- Advanced Audio Distribution Profile (A2DP)
La stack OpenBT
Une autre stack en OpenSource, mais dont le développement est
arrêté actuellement. Elle a été créée par la société Axis.
Les Profils supportés :
- Serial Port Profile (SPP)
- Dial Up Networking Profile (DUN)
- Lan Access Profile (LAN)
La stack Affix
Une autre stack en OpenSource. Elle gère beaucoup de Profils
comparativement aux 2 autres.
Les Profils supportés :
- Service Discovery Application Profil (SDAP)
- Serial Port Profile (SPP)
- Dial Up Networking Profile (DUN)
- Lan Access Profile (LAN)
- Object Push Profile (OPP)
- File Transfer Profile (FTP)
- Personnal Area Network (PAN)
- Fax Profile (FAX)
- Human Device Interface (HID)
Source