diff --git a/xvf3800.py b/xvf3800.py index b8a0e01..9f4ce99 100644 --- a/xvf3800.py +++ b/xvf3800.py @@ -46,16 +46,12 @@ class XVF3800: def __init__(self, usb_device): self.dev = usb_device - # Detach kernel driver if attached, so we can send vendor control transfers - try: - if self.dev.is_kernel_driver_active(0): - self.dev.detach_kernel_driver(0) - except Exception: - pass - self.dev.set_configuration() self.serial = usb_device.serial_number or "unknown" self.bus = usb_device.bus self.address = usb_device.address + # Vendor control transfers work without claiming an interface — + # don't call set_configuration() or detach_kernel_driver(), + # the audio driver needs to keep its interface. def _read(self, resid: int, cmdid: int, length: int) -> bytes: """Read parameter via USB control transfer.