micropython-lib icon indicating copy to clipboard operation
micropython-lib copied to clipboard

USB device removal appears to cause problems in Windows.

Open ayjaym opened this issue 1 year ago • 1 comments

Using the midi example code run from mpremote as per the instructions Verify that the example logs transmit events over MIDI Connect the Cockos Reaper DAW (most recent version, 7.20) [this can be downloaded for free] Observe that the Board USB device appears in Reaper's MIDI device list Create a track, assigning the board USB device as the input Verify that MIDI events are correctly received Exit Reaper Unplug the Pico from the USB port Plug the Pico back into the USB port Attempt to connect via mpremote. The COM port previously used is now marked 'in use' Attempt to restart the computer. It will hang during restart and require power to be cycled The current USB implementation appears to leave the device in an undetermined state. Reaper is a very mature and stable product and is highly unlikely to be the cause here. Presumably some event which ought to occur when a USB device is disconnected does not occur for the Pico, leaving resources locked and causing shutdown and port acquisition to both fail. I do appreciate that when the Pico was unplugged the midi example code was still running but for any practical implementation this will be the case as users are accustomed to unplugging USB devices at any time.

ayjaym avatar Aug 25 '24 11:08 ayjaym

I can't seem to get the MIDI example running after the USB device swaps (from a Mac). My Pico needs a hard reset to show up again, the serial device doesn't come back to be connected to.

Looks like for me, the issue is RP2350 related. On a 2040 board the example works as described!

Related: https://github.com/micropython/micropython/issues/16248

doodlebro avatar Mar 06 '25 21:03 doodlebro