Can you check at which point it gets stuck? the fact gathering process
looks at system devices and /proc for a lot of info, it is possible
that one of those reads is causing this issue on the usb.
In any case there is a timeout that should prevent this from being
permanent but it does not always work when python uses an underlying
library that does a blocking call.