Sometimes on my Nexus 9 (LMY48M)ADB sideload doesn't work as the device doesn't have a driver. This is true for both stock and TWRP. However, ADB from booted Android works perfectly. I have ADB version 1.0.32 (Windows 10 x64) and latest SDK with Google USB driver installed. How to solve this? I am searching on XDA, in case I find a solution I'll post it for general knowledge.
I needed to edit the
android-winusb.inf driver descriptor file for the Google USB driver.
Add in the device hardware ID from Device manager under the Google Nexus(Generic) section for the unrecognized device connected in sideload mode as (for both the x86 and x64 sections):
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D002
Switch off Windows Driver Signature Enforcement,
- Add the modified USB driver manually to the listed device in Device manager,
- Let it install the unsigned driver, and now it works.