use new deviceConnectionUpdate api. improve robustness