Hi Brian, On 10/01, Gix, Brian wrote: > The problem, I think, is using the iv_upd_state (which we need to do > IV Index recovery) as a proxy for the actual state of the IVU bit. Agreed. The IV Recovery flag should be tracked separately from IV Update state. FYI: We ended up implementing two separate state machines to process IV Update procedure: one for 'not synced' and one for 'synced' operation. Node starts in 'not synced' machine and moves to 'synced' when it receives its first SNB. The move is one-way, so it's not possible to move from 'synced' back to 'not synced' without resetting the node. Both machines are fairly simple and nearly identical... but moving from 'not synced' to 'synced' is far from trivial. In the end, the whole machinery is rather complex. Reflecting this approach in BlueZ would require quite an invasive patchset, essentially reworking the whole IV Update logic. I'm going to try to document the whole solution and get back to you. regards -- Michał Lowas-Rzechonek <michal.lowas-rzechonek@xxxxxxxxxxx> Silvair http://silvair.com Jasnogórska 44, 31-358 Krakow, POLAND