Tab. 13-10 Bluetooth: LMP-PDUs (Protocol Data Units)
 Geräteeigenschaften
NAME REQUEST
LMP_name_req DM1 DV M <==> S 1 Byte Parameter
LMP_name_res DM1 -- M <==> S 16 Byte Parameter
Abfrage eines benutzerdefinierten Gerätenamens. Ist dieser länger als die Kapazität eines DM1-Pakets, wird er fragmentiert und mit mehreren Teilprozeduren abgefragt.
 
Zustimmung, Ablehnung
LMP_accepted DM1 DV M <==> S 1 Byte Parameter
LMP_not_accepted DM1 DV M <==> S 2 Byte Parameter
Diese Antwort-PDUs können in vielen Prozeduren verwendet werden, um Annahme oder Ablehnung eines Kommandos anzuzeigen.
 
LMP VERSION
LMP_version_req DM1 DV M <==> S 5 Byte Parameter
LMP_version_res DM1 DV M <==> S 5 Byte Parameter
Zur Aufrechterhaltung der Kompatibilität zwischen verschiedenen Bluetooth-Generationen sollten sich neue Geräte auf die reduzierten Fähigkeiten älterer Partner einstellen können.
 
SUPPORTED FEATURES
LMP_features_req DM1 DV M <==> S 8 Byte Parameter
LMP_features_res DM1 DV M <==> S 8 Byte Parameter
Nicht alle Pakettypen müssen von allen Geräten unterstützt werden: nur ID, NULL, POLL, FHS, DM1 und DH1 sind Pflicht. Die übrigen dürfen nur verwendet werden, wenn beide Partner sie kennen.
 
QUALITY OF SERVICE
LMP_quality_of_service DM1 DV M ==> S 3 Byte Parameter
LMP_quality_of_service_req DM1 DV M <==> S 3 Byte Parameter
Die Partner können aushandeln, in welchen Zeitabständen der Slave mindestens angesprochen werden muss.
 
CONTROL OF MULTI-SLOT PACKETS
LMP_max_slot DM1 DV M ==> S 1 Byte Parameter
LMP_max_slot_req DM1 DV M <== S 1 Byte Parameter
Es wird ausgehandelt, ob der Slave außer1 Slot- auch 3 Slot- oder 5 Slot-Pakete senden darf.
 
PAGING SCHEME
LMP_page_mode_req DM1 DV M <==> S 2 Byte Parameter
LMP_page_scan_mode_req DM1 DV M <==> S 2 Byte Parameter
Eine Paging Prozedur müssen alle Geräte beherrschen. Daneben gibt es mehrere optionale, deren Anwendung hier ausgehandelt wird.
  Steuerung der Betriebszustände
DETACH
LMP_detach DM1 DV M <==> S 1 Byte Parameter
Unter Angabe von Gründen können Master oder Slave die Verbindung jederzeit "kündigen"
 
SWITCH OF MASTER SLAVE ROLE
LMP_switch_req DM1 DV M <==> S --
Ein Rollentausch zwischen Master und einem Slave kann nötig sein, wenn sich beim Paging das falsche Gerät als Master "vorgedrängt" hat. Die Aufforderung zum Wechsel kann auch abgelehnt werden.
 
HOLD MODE
LMP_hold DM1 DV M <==> S 2 Byte Parameter
LMP_hold_req DM1 DV M <==> S 2 Byte Parameter
Mit diesem Kommando kann die ACL-Verbindung für einen vereinbarten Zeitraum unterbrochen werden. Dies ermöglicht eine Abschaltung des Transceiver-Teils. Mögliche Anlässe:
- voraussichtlich längere Zeit kein Übertragungsbedarf
- Gerät möchte Inquiry einleiten.
- Gerät möchte sich vorübergehend mit einem anderen Piconetz verbinden.
 
SNIFF MODE
LMP_sniff DM1 -- M ==> S 9 Byte Parameter
LMP_sniff_req DM1 -- M <==> S 9 Byte Parameter
LMP_unsniff_req DM1 DV M <==> S --
Bei niedrigem Übertragungsbedarf kann die Anzahl der Zeitschlitze reduziert werden, in denen übertragen werden kann. Der Parameter Sniff-Offset definiert den ersten Zeitschlitz, Sniff-Intervall den Abstand zum nächsten.
 
PARK MODE
LMP_park_req DM1 DV M <==> S --
LMP_park DM1 -- M ==> S 16 Byte Parameter
LMP_set_broadcast_scan_window DM1 -- M ==> S 5 Byte Parameter
LMP_modify_beacon DM1 -- M ==> S 12 Byte Parameter
LMP_unpark_BD_ADDR_req DM1 -- M ==> S 16 Byte Parameter
LMP_unpark_PM_ADDR_req DM1 -- M ==> S 6 Byte Parameter
Ein vorübergehend nicht benötigter Slave wird aufs "Abstellgleis" verschoben. Er verliert seine AM_ADDR, wird aber in regelmäßigen Abständen wieder synchronisiert. Bei dieser Gelegenheit können ihm auch Broadcast-Nachrichten übermittelt werden oder einer der beiden Partner kann die Verbindung wiederaufnehmen.
  Steuerung des Kanals
SLOT OFFSET INFO
LMP_slot_offset DM1 DV M <==> S 8 Byte Parameter
Dient zum Phasenabgleich verschiedener Piconetze
 
CLOCK OFFSET REQUEST
LMP_clkoffset_req DM1 DV M ==> S
LMP_clkoffset_res DM1 DV M <== S 2 Byte Parameter
Master kann abfragen, welche Offsets die einzelnen Slaves benutzen und mit dieser Information die Paging Prozedur beschleunigen.
 
POWER CONTROL
LMP_incr_power_req DM1 DV M <==> S 1 Byte Parameter
LMP_decr_power_req DM1 DV M <==> S 1 Byte Parameter
LMP_max_power DM1 DV M <==> S --
LMP_min_power DM1 DV M <==> S --
Ist ein Empfangssignal zu schwach oder zu stark, kann der Sender aufgefordert werden, seine Sendeleistung zu erhöhen oder zu erniedrigen. Der aufgeforderte Partner macht eine entsprechende Mitteilung, wenn er eine Grenze erreicht hat.
 
CHANNEL QUALITY DRIVEN CHANGE BETWEEN DM AND DV
LMP_auto_rate DM1 DV M <==> S --
LMP_preferred_rate DM1 DV M <==> S 1 Byte Parameter
Partner wird aufgefordert, je nach Signalqualität DH-Pakete und damit die volle Kanalkapazität oder DM-Pakete mit Fehlersicherung und reduzierter Kapazität zu verwenden.
 
TIMING ACCURACY INFORMATION REQUEST
LMP_timing_accuracy_req DM1 DV M <==> S --
LMP_timing_accuracy_res DM1 DV M <==> S 2 Byte Parameter
Master kann abfragen, wie stark ein Slave im HOLD- oder PARK-MODE möglicherweise abdriftet.
 
LINK SUPERVISION
LMP_supervision_timeout DM1 DV M <==> S 2 Byte Parameter
Für jede Verbindung gibt es einen Timer, der ihren Ausfall überwacht. Hier werden die Zeitkonstanten dafür festgelegt.
  Steuerung der Verbindung
CONNECTION ESTABLISHMENT
LMP_setup_complete DM1 DV M <==> S --
LMP_host_connection_req DM1 DV M <==> S --
Durch Paging wurde eine ACL-Verbindung aufgebaut, die zunächst nur für LMP zur Verfügung steht. Durch diese Prozedur kann ACL für den Host und damit für L2CAP und höhere Protokolle geöffnet werden.
 
SCO LINKS
LMP_SCO_link_req DM1 DV M <==> S 6 Byte Parameter
LMP_remove_SCO_link_req DM1 DV M <==> S 2 Byte Parameter
Auch die Einrichtung einer oder mehrerer SCO-Verbindungen ist Aufgabe von LMP. Die Gruppe umfasst Prozeduren zum Aufbau der Verbindung mit Festlegung der Anfangs- und Folgezeitschlitze und zum Verbindungsabbau.
  Verschlüsselung
PAIRING
LMP_in_rand DM1 -- M <==> S 16 Byte Parameter
LMP_comb_key DM1 -- M <==> S 16 Byte Parameter
LMP_unit_key DM1 -- M <==> S 16 Byte Parameter
LMP_au_rand DM1 -- M <==> S 16 Byte Parameter
LMP_sres DM1 DV M <==> S 4 Byte Parameter
Prozedur zur Erzeugung eines gemeinsamen Verbindungsschlüssels zwischen zwei Geräten
 
AUTHENTICATION
LMP_au_rand DM1 -- M <==> S 16 Byte Parameter
LMP_sres DM1 DV M <==> S 4 Byte Parameter
Authentisierung ist die gegenseitige Abfrage, ob der Partner vertrauenswürdig ist, d.h. ob er den gleichen Schlüssel verwendet und deshalb verschlüsselte Nachrichten empfangen und verarbeiten kann.
 
CHANGE LINK KEY
LMP_comb_key DM1 -- M <==> S 16 Byte Parameter
LMP_unit_key DM1 -- M <==> S 16 Byte Parameter
Änderung des gemeinsamen Verbindungsschlüssels ohne PAIRING Prozedur
 
CHANGE CURRENT LINK KEY
LMP_temp_rand DM1 -- M ==> S 16 Byte Parameter
LMP_temp_key DM1 -- M ==> S 16 Byte Parameter
LMP_use_semi_permanent_key DM1 DV M ==> S --
Zeitweise Verwendung eines anderen Schlüssels, wenn z.B. verschlüsselte Broadcast-Nachrichten gesendet werden sollen.
 
ENCRYPTION
LMP_encryption_mode_req DM1 DV M <==> S 1 Byte Parameter
LMP_encryption_key_size_req DM1 DV M <==> S 1 Byte Parameter
LMP_start_encryption_req DM1 -- M ==> S 16 Byte Parameter
LMP_stop_encryption_req DM1 DV M ==> S --
Nach erfolgter Authentisierung wird festgelegt, ob und für welche Verbindungen Verschlüsselung verwendet wird. Anschließend wird die Schlüssellänge ausgehandelt. Nach der Verständigung über den Zeitpunkt des Verschlüsselungsbeginns kann der Austausch verschlüsselter Daten beginnen.