Keep local IRK in permanent storage 55/115655/1
authorSeungyoun Ju <sy39.ju@samsung.com>
Fri, 10 Feb 2017 08:42:11 +0000 (17:42 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 21 Feb 2017 04:06:36 +0000 (13:06 +0900)
commit048e271467f30c40a86e7500697e75a44397d4bb
tree7fb0caffe646a5a9f342a4951a6965e7dc8274f2
parent3ac1b2357abf7aa28ab75f8f4c42d5e65eed35a4
Keep local IRK in permanent storage

[Model] COMMON
[BinType] AP
[Customer] OPEN

[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A

[Problem] When local IRK is changed, iOS rejects re-pairing request (iOS issue).
 This issue happens in below scenario.
 1. Pair with iOS
 2. Factory-reset DUT
 3. Try to pair with iOS again without unpairing on iOS
 4. iOS sends SMP pairing error with "Unspecified reason". So until user
   unpairs DUT on iOS, re-pairing is not possible.

 And when local IRK is not distributed at BLE pairing with some android
 devices, those devices cannot connect to DUT again via BLE (Android issue).
 1. Pair with Galaxy A5 2016 / Note 4 via BLE
 2. Disconnect
 3. Try to connect again via BLE
 4. A5 2016 / Note 4 try to connect to DUT using 00:00:00:00:00:00
   address. So it is failed.

 To solve these issues, DUT distributes a IRK. And after resetting DUT,
 retain the IRK.
[Cause & Measure] Compatibility issues with other OS's.
[Checking Method]
 ===
 1. Pair with iOS
 2. Factory-reset DUT
 3. Try to pair with iOS again without unpairing on iOS
 4. iOS sends SMP pairing error with "Unspecified reason". So until user
   unpairs DUT on iOS, re-pairing is not possible.
 ===
 1. Pair with Galaxy A5 2016 / Note 4 via BLE
 2. Disconnect
 3. Try to connect again via BLE
 4. A5 2016 / Note 4 try to connect to DUT using 00:00:00:00:00:00
 ===

[Team] Basic connection
[Developer] Seungyoun Ju
[Solution company] Samsung
[Change Type] Specification change

Change-Id: Ib8d2d2746d27583aa1ed36be785f0df44a95918e
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
src/adapter.c