implementing openDevice and claimInterface