Lime Mini Problems on MacOS Sierra

OK, I need to update this, since I have a better understanding of the issue, but haven’t really found it yet. It turns out that the red button in grc is a hard exit, and prevents any destructors from running, which is, oddly, fine. The LimeSDR Mini is perfectly usable after this. So, in python, instead of allowing destructors to run in the normal way at exit, you call os._exit(0) instead of deleting the radio (or, specifically, stopping its streams), everything gets left in a perfectly resuable condition. This implies a problem with the destruction process of libusb connections on the MacOSX libusb flavor.

So, two points:

  1. using os._exit(0) is a temporary workaround for SoapySDR/LimeSuite/python which saves a lot of unplugging and replugging of the LimeSDR Mini.

  2. We need to take a hard look at how libusb is being called by LimeSuite, and what provokes the “aborting all transactions on interface 1 pipe 4” message. Apparently, it is fine to just cut off the connection hard (with SIGQUIT or SIGKILL), but not to stop it gently. This shouldn’t be too hard to find.