add setDeviceEx interface