add gather_facts option to device.open()