check version compatibility and detect device type