Meraki MR の BLE で major 0 minor 0 を避ける方法

Meraki MR にはほとんどの型番に Bluetooth Low Energy (BLE) のラジオが備わっています。MR20 と MR70 はエントリーモデルとなっているため、このラジオは付いていません。BLE はアプリ開発のために使用されます。Meraki のダッシュボードではこの BLE の機能を有効にする事ができ、各 MR に固有の major 値 と minor 値を自動で設定する事ができます。しかし、問題なのは 0 も自動で振られる数字に含まれてしまう事です。BLE の世界でも 0 は特別な意味を持つ事があり、any と解釈するアプリも存在します。よって、major 値 と minor 値で 0 を避けるのが一般的です。Meraki では全て自動で固有な major 値と minor 値を配るか、全て同じの major 値と minor 値を配るの 2 肢しかないので、「Meraki で 0 を避ける方法はないのか。」とお客さんから聞かれた事があります。これが理由で Meraki の MR が採用されないのは心苦しいので、回避策を模索しました。

Major 値と minor 値の範囲を指定し直接 0 を避ける方法はありませんが、回避策はありました。Meraki ダッシュボードでは、ある法則で major 値と minor 値が振り分けられています。その法則とは、major 値はビーコニングを有効にしたネットワークの順、minor 値はそのネットワークに追加されたアクセスポイントの順に割り振られるというものです。つまり、ダミーネットワークとダミーアクセスポイントを使用すれば 0 を避けることができます。手順をまとめると下記の通りです。

  1. オーガナイゼーションを作成
  2. ネットワーク A を作成
  3. ネットワーク A でビーコニングを有効 (major = 0)
  4. ネットワーク B を作成
  5. ネットワーク B でビーコニングを有効 (major = 1)
  6. ネットワーク B にアクセスポイント A を追加 (minor = 0)
  7. ネットワーク B にアクセスポイント B を追加 (minor = 1)
  8. ネットワーク A を削除
  9. ネットワーク B からアクセスポイント A を削除

オーガナイゼーション内にビーコニングを有効にしたネットワークが 1 つでも存在すれば、その次にビーコニングを有効にしたネットワークの major 値はその前にビーコンニングを有効にしたネットワークに振られた major 値の次の値が振られます。3 ではビーコニングを有効にしたネットワークはオーガナイゼーション内で他に存在しなかったので、ネットワーク A には major 値として 0 が与えられます。5 でネットワーク B でビーコニングを有効にしましたが、ネットワーク A がオーガナイゼーションに存在するので、0 の次である 1 が major 値として振られました。8 でネットワーク A を削除しますが、ネットワーク B でビーコニングが有効なので、次にビーコニングを有効にしたネットワークには 2 が major 値として振られます。また、ビーコニングが有効になっている全てのネットワークをオーガナイゼーションから削除すると major 値はリセットされ 0 から再配布されます。

ネットワークはアクセスポイントに minor 値を一旦与えると、その他のアクセスポイントにその minor 値を与えることはありません。つまり、9 でアクセスポイント A を削除しても、次に追加されるアクセスポイント C には minor 値 2 が配られます。逆に、アクセスポイント A をネットワークに再度追加すると、アクセスポイント A には minor 値 0 が振られます。

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.