Structures required to execute `usbGenerateDisconnectPulse()` are not yet initialized, hence the call to `IOGetByTag(...)` return some rubbish most likely. @mikeller suggests returning the old boilerplate code for now, without using `IOGetByTag()` if I'm correct.