Where is the Windows ADB Driver for the Pixel C?

BioeJD picture BioeJD · Jan 13, 2016 · Viewed 13.5k times · Source

I cannot find the proper drivers for ADB for my Google Pixel C tablet. I'm developing on Windows 8.1. I have the latest USB drivers from Google, but they aren't recognized as compatible when I select them for this device. I'm guessing if I manually chose the ADB Interface from my list of drivers, it would work, but Windows gives a warning when doing so. Has Google released their drivers anywhere with the Pixel C in mind?

Answer

Stealth Rabbi picture Stealth Rabbi · Feb 25, 2016

I was able to use the current Google USB drivers, but had to modify the android_winusb.inf to include the PID and VID for the Pixel C. I can now connect the Pixel C to my windows comptuer using either a USB 3 cable or a USB 2 cable (with one end being USB type C).

  1. Backup your android_winusb.inf, typically found in C:\Users\%USERNAME%\AppData\Local\Android\android-sdk\extras\google\usb_driver
  2. Open android_winusb.inf for Edit
  3. Under [Google.NTx86] section, add:
;Google Pixel C     
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_5203     
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_5203&MI_01
  1. Under [Google.NTamd64] add:
;Google Pixel C
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_5203
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_5203&MI_01
  1. Plug in Pixel C to your windows machine
  2. Go to your device manager where the "unknown ADB device" is listed. Update the driver, and point it to the location where the driver is installed (where the INF file is).
  3. Follow prompts to install driver. I got a notice saying that the drivers were from an unrecognized source. Update: Note, when I try this these days, I don't get a notice about the driver not being signed / recognized, they simply do not work. I had to do "Let me pick from a list of device drivers", select "Show All Devices", and then select one of the android selections, ADB bridge, I believe. Then it should work.

Her'es the full contents of the INF file for reference.

;
; Android WinUsb driver installation.
;
[Version]
Signature           = "$Windows NT$"
Class               = AndroidUsbDeviceClass
ClassGuid           = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider            = %ProviderName%
DriverVer           = 08/28/2014,11.0.0000.00000
CatalogFile.NTx86   = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat

[ClassInstall32]
Addreg = AndroidWinUsbClassReg

[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1


[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64


[Google.NTx86]

;Google Pixel C
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_5203
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_5203&MI_01

;Google Nexus One
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;Google Nexus Q
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_2C11

;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE2&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE4&MI_02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE7

;Google Glass
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_9001
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_9001&MI_01

;Project Tango (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D02&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D04&MI_02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D06&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D07


[Google.NTamd64]

;Google Pixel C
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_5203
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_5203&MI_01

;Google Nexus One
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;Google Nexus Q
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_2C11

;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE2&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE4&MI_02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4EE7

;Google Glass
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_9001
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_9001&MI_01

;Project Tango (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D02&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D04&MI_02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D06&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4D07


[USB_Install]
Include = winusb.inf
Needs   = WINUSB.NT

[USB_Install.Services]
Include     = winusb.inf
AddService  = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install

[WinUSB_Install]
KmdfLibraryVersion  = 1.9

[USB_Install.HW]
AddReg  = Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"

[USB_Install.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll  = 1
WdfCoInstaller01009.dll = 1

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll  = 2
WdfCoInstaller01009.dll = 2

[Strings]
ProviderName                = "Google, Inc."
SingleAdbInterface          = "Android ADB Interface"
CompositeAdbInterface       = "Android Composite ADB Interface"
SingleBootLoaderInterface   = "Android Bootloader Interface"
WinUSB_SvcDesc              = "Android USB Driver"
DISK_NAME                   = "Android WinUsb installation disk"
ClassName                   = "Android Device"