Jump to content

Looking for universal signed Android ADB interface driver


UCyborg

Recommended Posts

I found this, which isn't really universal since it defines a bunch of specific device IDs to identify them and is outdated anyway. There's also this pull request posted on that project's GitHub page and also another repo containing a dead link to already singed driver (or more precisely, signed INF that identifies ADB interface by the universal compatible ID).

So what are my options? Anyone found such a driver/INF that can be just installed and forgotten about or do I have to go the signing the modified android_winusb.inf with self-signed certificate route if I don't want to disable driver signature enforcement and such?

So far, my phone has used like 6 different device IDs to identify itself and under certain circumstances, I even have to re-install the official driver/INF for it to work again and confirming that I do want it installed, even if device ID doesn't match.

Windows should really have universal ADB driver at this point, like it does for USB mass storage devices...

Link to comment
Share on other sites


Which HardwareID do you use? 
Which Windows Build number do you use?

Windows 10 default winusb.inf supports the ADB interface out of the box nowadays.

[Generic.Section.NTamd64]
%USB\MS_COMP_ADB.DeviceDesc%=ADB,USB\Class_ff&SubClass_42&Prot_01
If I recall correctly, ADB was missing in Win 10 1507, but was added later.

Fastboot mode USB\Class_ff&SubClass_42&Prot_03 is not supported in winusb.inf.
Link to comment
Share on other sites

Thanks, I didn't look in system winusb.inf and manufacturer supplied INF must have been downloaded from Windows Update, placing the entry in Device Manager that usually appears under Universal Serial Bus devices under a different category, so I didn't realize it was already supported out-of-the-box.

I use Win10 versions 1809 and 1909 on my two machines. Depending on the software currently running on the phone, hardware ID differs, so who knows which is the "right" one. Vendor ID is always VID_0FCE, as should be.

That problem requiring re-install was actually encountered when putting the phone in fastboot mode. I suspect a conflict happened due to an old entry having a different compatible ID (adb vs fastboot and the fact that fastboot ID is missing from winusb.inf), but the same vendor and device ID. The ID when in fastboot mode is constant, but otherwise it seems to depend on the OS running, even though it should be constant as well as long as we're talking about the same phone model, in this case Xperia E3.

I did some cleaning up in Device Manager and removed two drivers that were downloaded from Windows Update for ADB, so now I have phone's entries under Universal Serial Bus devices, not under some custom categories like before. I also added USB\Class_FF&SubClass_42&Prot_01 ID to the list of Prevent installation of devices that match any of these devices ID group policy, so the OS won't try "updating" them. Manually installing ADB Device through update wizard in Device Manager while phone is in fastboot mode also works and makes it visible to fastboot utility.

If I encounter that problem again with fastboot mode requiring driver re-install, maybe I can just add the USB\Class_FF&SubClass_42&Prot_01 ID to the CompatibleIDs value under device key in registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB in hope to prevent it in the future.

Edited by UCyborg
Link to comment
Share on other sites

22 hours ago, UCyborg said:

Xperia E3

Just to confirm, there are XP and later manufaturer drivers. Most likely you used this one in the past.
https://developer.sony.com/file/download/xperia-e3-xperia-e3-dual-driver/
The manufacuter so0109adb.inf file uses the same driver and settings for ADB and fastboot mode.
winusb.sys is used in both cases.

https://en.wikipedia.org/wiki/Android_software_development
ADB and fastboot is a generic Android feature.


Back to Windows 10 default files.  No drivers added.
ADB is installed out of the box.
At fastboot  select winusb.sys manually.

Install Xperia "S1Boot Fastboot" device:

Run device manager, goto "Other devices".
Is there a "S1Boot Fastboot" device with a yellow question mark? 
Verify the Compatible Id "USB\Class_ff&SubClass_42&Prot_03"

Select
'Update Driver', 'Browse my computer for driver software', 
'Let me pick from a list of available drivers on my computer',
'Universal Serial Bus devices',
Manufacturer: WinUsb Device / Model: ADB Device
Confirm the 'Update Driver Warning'

Is there a "S1Boot Fastboot" device at 'Universal Serial Bus devices'?
It is used the driver winusb.sys?

 

Link to comment
Share on other sites

1 hour ago, cdob said:

Just to confirm, there are XP and later manufaturer drivers. Most likely you used this one in the past.
https://developer.sony.com/file/download/xperia-e3-xperia-e3-dual-driver/

Correct.

1 hour ago, cdob said:

The manufacuter so0109adb.inf file uses the same driver and settings for ADB and fastboot mode.
winusb.sys is used in both cases.

The device ID when in fastboot mode is VID_0FCE&PID_0DDE, so that *.inf couldn't help the OS detect it as compatible with the driver. But you can still set it for use with fastboot mode by manually selecting it in driver update wizard.

1 hour ago, cdob said:

Back to Windows 10 default files.  No drivers added.
ADB is installed out of the box.
At fastboot  select winusb.sys manually.

Install Xperia "S1Boot Fastboot" device:

Run device manager, goto "Other devices".
Is there a "S1Boot Fastboot" device with a yellow question mark? 
Verify the Compatible Id "USB\Class_ff&SubClass_42&Prot_03"

Select
'Update Driver', 'Browse my computer for driver software', 
'Let me pick from a list of available drivers on my computer',
'Universal Serial Bus devices',
Manufacturer: WinUsb Device / Model: ADB Device
Confirm the 'Update Driver Warning'

Is there a "S1Boot Fastboot" device at 'Universal Serial Bus devices'?
It is used the driver winusb.sys?

Yup, yes to all questions. Already got it to work that way.

It's good that at least for ADB mode, it works out of the box either way. Though by default settings, OS might still see fit to download "drivers" from Windows Update, even though no specialized driver is usually involved since it's all just about the .inf file identifying and setting up the device to be driven using winusb.sys.

Link to comment
Share on other sites

On 12/20/2019 at 6:57 PM, UCyborg said:

Yup, yes to all questions. Already got it to work that way.

Thanks for the confirmation.

I got curious and asked myself about a challenge:
Windows 10 1507 x64 and a Xperia Z3.

Xperia Manufacturer offers Emma to flash a device. 
Emma dosn't use fastboot mode, flashmode is used instead.
Emma does use a Gordons Gate driver ggsomc.sys, signed by 'Sony Mobile Communications AB'.
https://developer.sony.com/develop/open-devices/get-started/flash-tool/download-flash-tool/

Sony dosn't offer a fastboot driver themself.
https://developer.sony.com/develop/open-devices/get-started/unlock-bootloader/how-to-unlock-bootloader/
Sony recommends android.com USB drivers, android.com recommends Sony OEM dirvers.
Loop closed, no signed fastboot drivers.

There is a custom build FlashTool Xperia Driver Pack, the hash catalog file dosn't match the .inf file, it's not signed.
USB\VID_0FCE&PID_0DDE is a generic Xperia fastboot HardwareID.
https://forum.xda-developers.com/showthread.php?t=2635830
https://github.com/johnantoni/fastboot-adb/blob/master/Win32/Drivers/ADB%2BFastboot/android_winusb.inf


Back to Windows 10 1507. There is winusb.sys driver integrated.
But neither ADB nor fastboot inf file.
Xperia Z3: Both ADB and fastboot does work, by selecting winusb manually at device manager.

To summarize this:
Windows 10 1511 and later supports ADB out of the  box. A signed driver is integrated.
As for fastboot, select winusb manually at device manager.

Link to comment
Share on other sites

It looks like clearing old entries in Device Manager that was setup by INF file that came with those drivers from Windows Update, deleting said drivers, setting up fastboot device entry using device update wizard and picking built-in ADB Device helped with the issue of the said device entry for fastboot mode being reset under certain circumstances.

PJmeBJ5.png

I plugged the phone with ADB enabled with the same OS builds and recoveries I was experimenting with the last time and cannot reproduce the issue anymore when rebooting into fastboot mode afterwards.

Edited by UCyborg
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...