I am developing a USB MTP device for use with macOS.
When the device is connected while Preview is running, I observe the host send OpenSession, then GetDeviceInfo, and then no further MTP commands. I do not see a later CloseSession.
Problem is that once this happens, exclusive access to the USB interface is retained, so another application cannot connect to the device. From the device side, there is no obvious way to recover except forcing a USB disconnect/reset or shutting down the USB interface.
My questions are:
- Is this expected behavior for Preview, or for a Preview-related macOS helper?
- Is it expected on macOS that a client may open an MTP session and then leave it idle without sending CloseSession?
I am mainly trying to understand whether this is expected macOS behavior, or whether this should be considered a bug.