LMP

読み:エルエムピー
外語:LMP: Link Manager Protocol 英語
品詞:名詞

Bluetoothリンクマネージャー層通信プロトコルGAPの一部。

目次

ACL論理トランスポートで接続された二つのデバイス間における、リンクマネージャー(LM)間の通信に使われるプロトコルである。リンクマネージャーはベースバンド層リンクコントローラーの上にあり、ペアリングや暗号化はこのプロトコルで行なわれている。

二つのデバイス間における、接続やネゴシエーションなどあらゆる動作で使用されており、論理リンクの設定と制御、および物理リンクの制御が含まれている。全てのLMPメッセージは、送信側と受信側のデバイス間における、物理リンク、および関連付けられている論理リンクと論理トランスポートにのみ適用される。

二つのデバイス間での、デフォルトACL論理トランスポート上のACL-C論理リンク(ACL CONTROL LOGICAL LINK)を介して転送する際の一連のメッセージで構成されている。LMPメッセージが解釈された際にはLMに対して作用し、直接より高いプロトコル層に伝播しない。

パケット

LMPメッセージは、ベースバンド層のDM1パケット(ACLリンク)を使用して送信する。

ただし、HV1 SCOリンクが使用され、ペイロード長が9バイトに満たない場合、DVパケットが使用されることもある。DVパケットについては、Bluetooth 3.0/4.0仕様書では共に6.5.2.4に説明がある。

パケット構造

7ビットオペコード時

  • TID: 1ビット (0=PDUはマスター、1=PDUはスレーブ)
  • OpCode: 7ビット
  • Payload

OpCodeの値が特殊なエスケープ値124から127までの場合は、OpCodeが15ビットとなる。

  • TID: 1ビット (0=PDUはマスター、1=PDUはスレーブ)
  • Escape OpCode: 7ビット
  • Extended OpCode: 8ビット
  • Payload

オペコード(OpCode)

次の4つは拡張用。

  • Escape 1 ‐ 124
  • Escape 2 ‐ 125
  • Escape 3 ‐ 126
  • Escape 4 ‐ 127

以下、PDU一覧(LMP PDU名ABC順)。番号はすべて10進数。ペイロードの構造については仕様書を参照のこと。

  • LMP_accepted ‐ 3
  • LMP_accepted_ext ‐ 127/01
  • LMP_au_rand ‐ 11
  • LMP_auto_rate ‐ 35
  • LMP_channel_classification_req ‐ 127/16
  • LMP_channel_classification ‐ 127/17
  • LMP_clkoffset_req ‐ 5
  • LMP_clkoffset_res ‐ 6
  • LMP_comb_key ‐ 9
  • LMP_decr_power_req ‐ 32
  • LMP_detach ‐7
  • LMP_DHkey_Check ‐65
  • LMP_encapsulated_header ‐ 61
  • LMP_encapsulated_payload ‐ 62
  • LMP_encryption_key_size_mask_req ‐ 58
  • LMP_encryption_key_size_mask_res ‐ 59
  • LMP_encryption_key_size_req ‐ 16
  • LMP_encryption_mode_req ‐ 15
  • LMP_eSCO_link_req ‐ 127/12
  • LMP_features_req ‐ 39
  • LMP_features_req_ext ‐ 127/03
  • LMP_features_res ‐ 40
  • LMP_features_res_ext ‐ 127/04
  • LMP_host_connection_req ‐ 51
  • LMP_hold ‐ 20
  • LMP_hold_req ‐ 21
  • LMP_incr_power_req ‐ 31
  • LMP_in_rand ‐ 8
  • LMP_IO_Capability_req ‐ 127/25
  • LMP_IO_Capability_res ‐ 127/26
  • LMP_pause_encryption_req ‐ 127/23
  • LMP_resume_encryption_req ‐ 127/24
  • LMP_max_power ‐ 33
  • LMP_max_slot ‐ 45
  • LMP_max_slot_req ‐ 46
  • LMP_min_power ‐ 34
  • LMP_modify_beacon ‐ 28
  • LMP_name_req ‐ 1
  • LMP_name_res ‐ 2
  • LMP_numeric_comparison_failed ‐ 127/27
  • LMP_not_accepted ‐ 4
  • LMP_not_accepted_ext ‐ 127/02
  • LMP_packet_type_table_req ‐ 127/11
  • LMP_page_mode_req ‐ 53
  • LMP_page_scan_mode_req ‐ 54
  • LMP_park_req ‐ 25
  • LMP_passkey_failed ‐ 127/28
  • LMP_oob_failed ‐ 127/29
  • LMP_keypress_notification ‐ 127/30
  • LMP_preferred_rate ‐ 36
  • LMP_quality_of_service ‐ 41
  • LMP_quality_of_service_req ‐ 42
  • LMP_remove_eSCO_link_req ‐ 127/13
  • LMP_remove_SCO_link_req ‐ 44
  • LMP_SCO_link_req ‐ 43
  • LMP_set_AFH ‐ 60
  • LMP_set_broadcast_scan_window ‐ 27
  • LMP_setup_complete ‐ 49
  • LMP_Simple_Pairing_Confirm ‐ 63
  • LMP_Simple_Pairing_Number ‐ 64
  • LMP_slot_offset ‐ 52
  • LMP_sniff_req ‐ 23
  • LMP_sres ‐ 12
  • LMP_start_encryption_req ‐ 17
  • LMP_stop_encryption_req ‐ 18
  • LMP_supervision_timeout ‐ 55
  • LMP_switch_req ‐ 19
  • LMP_temp_rand ‐ 13
  • LMP_temp_key ‐ 14
  • LMP_test_activate ‐ 56
  • LMP_test_control ‐ 57
  • LMP_timing_accuracy_req ‐ 47
  • LMP_timing_accuracy_res ‐ 48
  • LMP_unit_key ‐ 10
  • LMP_unpark_BD_ADDR_req ‐ 29
  • LMP_unpark_PM_ADDR_req ‐ 30
  • LMP_unsniff_req ‐ 24
  • LMP_use_semi_permanent_key ‐ 50
  • LMP_version_req ‐ 37
  • LMP_version_res ‐ 38
  • LMP_sniff_subrating_req ‐ 127/21
  • LMP_sniff_subrating_res ‐ 127/22
  • LMP_power_control_req ‐ 127/31
  • LMP_power_control_res ‐ 127/32

フィーチャーマスク

LMP_features_req PDUを送信すると、相手のLMはLMP_features_res PDUを返す。reqはOpCode=39、resはOpCode=40、長さは共に9である。

フィーチャーは、LMPメッセージで転送されるビットマスクで表わされる。各ビットごとに、フィーチャーをサポートする場合は1、さもなくば0をセットする。

長さは常に8オクテット(64ビット)である。

  • 0オクテット目
    • 0-0 0 ‐ 3 slot packets
    • 0-1 1 ‐ 5 slot packets
    • 0-2 2 ‐ Encryption
    • 0-3 3 ‐ Slot offset
    • 0-4 4 ‐ Timing accuracy
    • 0-5 5 ‐ Role switch
    • 0-6 6 ‐ Hold mode
    • 0-7 7 ‐ Sniff mode
  • 1オクテット目
    • 1-0 8 ‐ Park state
    • 1-1 9 ‐ Power control requests
    • 1-2 10 ‐ Channel quality driven data rate (CQDDR)
    • 1-3 11 ‐ SCO link
    • 1-4 12 ‐ HV2 packets
    • 1-5 13 ‐ HV3 packets
    • 1-6 14 ‐ μ-law log synchronous data
    • 1-7 15 ‐ A-law log synchronous data
  • 2オクテット目
    • 2-0 16 ‐ CVSD synchronous data
    • 2-1 17 ‐ Paging parameter negotiation
    • 2-2 18 ‐ Power control
    • 2-3 19 ‐ Transparent synchronous data
    • 2-4 20 ‐ Flow control lag (least significant bit)
    • 2-5 21 ‐ Flow control lag (middle bit)
    • 2-6 22 ‐ Flow control lag (most significant bit)
    • 2-7 23 ‐ Broadcast Encryption
  • 3オクテット目
    • 3-0 24 ‐ Reserved
    • 3-1 25 ‐ Enhanced Data Rate ACL 2 Mbps mode
    • 3-2 26 ‐ Enhanced Data Rate ACL 3 Mbps mode
    • 3-3 27 ‐ Enhanced inquiry scan
    • 3-4 28 ‐ Interlaced inquiry scan
    • 3-5 29 ‐ Interlaced page scan
    • 3-6 30 ‐ RSSI with inquiry results
    • 3-7 31 ‐ Extended SCO link (EV3 packets)
  • 4オクテット目
    • 4-0 32 ‐ EV4 packets
    • 4-1 33 ‐ EV5 packets
    • 4-2 34 ‐ Reserved
    • 4-3 35 ‐ AFH capable slave
    • 4-4 36 ‐ AFH classification slave
    • 4-5 37 ‐ BR/EDR Not Supported (Bluetooth 4.0〜)
    • 4-6 38 ‐ LE Supported (Controller) (Bluetooth 4.0〜)
    • 4-7 39 ‐ 3-slot Enhanced Data Rate ACL packets
  • 5オクテット目
    • 5-0 40 ‐ 5-slot Enhanced Data Rate ACL packets
    • 5-1 41 ‐ Sniff subrating
    • 5-2 42 ‐ Pause encryption
    • 5-3 43 ‐ AFH capable master
    • 5-4 44 ‐ AFH classification master
    • 5-5 45 ‐ Enhanced Data Rate eSCO 2 Mbps mode
    • 5-6 46 ‐ Enhanced Data Rate eSCO 3 Mbps mode
    • 5-7 47 ‐ 3-slot Enhanced Data Rate eSCO packets
  • 6オクテット目
    • 6-0 48 ‐ Extended Inquiry Response
    • 6-1 49 ‐ Simultaneous LE and BR/EDR to Same Device Capable (Controller) (Bluetooth 4.0〜)
    • 6-2 50 ‐ Reserved
    • 6-3 51 ‐ Secure Simple Pairing
    • 6-4 52 ‐ Encapsulated PDU
    • 6-5 53 ‐ Erroneous Data Reporting
    • 6-6 54 ‐ Non-flushable Packet Boundary Flag
    • 6-7 55 ‐ Reserved
  • 7オクテット目
    • 7-0 56 ‐ Link Supervision Timeout Changed Event
    • 7-1 57 ‐ Inquiry TX Power Level
    • 7-2 58 ‐ Enhanced Power Control
    • 7-3 59 ‐ Reserved
    • 7-4 60 ‐ Reserved
    • 7-5 61 ‐ Reserved
    • 7-6 62 ‐ Reserved
    • 7-7 63 ‐ Extended features

拡張フィーチャーマスク

8オクテットのフィーチャーマスクで不足したため拡張された情報。フィーチャーマスク63(7オクテット目7ビット目)が1の場合、この機能がある。

LMP_features_req_ext PDUを送信すると、相手のLMはLMP_features_res_ext PDUを返す(対応している場合のみ)。reqはOpCode=127/03、resはOpCode=127/04、長さは共に12である。2オクテット目(0から数えた場合、以下同)がfeatures page、3オクテット目がmax supported page、4から11オクテット目がextended featuresである。

ページ0から255までがあり、各ページは64ビットであるため、都合16384ビットもあり拡張性は充分である。未実装のページを要求すれば、相手は全64ビットが0の結果を返すことになり、実装していないことを通知することになる。

なお、ページ0は従来のフィーチャーマスクを意味する。拡張された情報はページ1以降に存在する。

  • ページ1
    • 0オクテット目
      • 1-0-0 64 ‐ Secure Simple Pairing (Host Support)
      • 1-0-1 65 ‐ LE Supported (Host) (Bluetooth 4.0〜)
      • 1-0-2 66 ‐ Simultaneous LE and BR/EDR to Same Device Capable (Host) (Bluetooth 4.0〜)
用語の所属
Bluetooth

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club