pamela wrote:
> How can I re-install an Android driver on WinXP?
>
> In the past, I've attached my Kit Kat tablet (Hudl 2) to XP without
> any problem. The tablet shows up as an extra drive in XP and basic
> file transfer can be done.
>
> Recently, I attached the tablet and this time XP tried to reinstall
> the driver. XP correctly detected an Android device was attached and
> that an MTP driver was needed. but the re-installation failed with
> the message: "Cannot Install This Hardware ... A service installation
> section in this INF is invalid". Now in Device Manager there's now
> a yellow question mark over the Android driver and the driver details
> say: "No driver files are required or have been loaded for this
> device".
>
> I guess the driver is still on the XP system somewhere. How can I
> re-assign it to the Android entry in Device Manager?
>
> Is there a way I can get the old driver assigned to Android in XP's
> device manager without installing some mega pack of Microsoft drivers
> such as something I found on the web called "MTP Porting Kit Setup".
> Whatever that it. My XP is heavily customised over 10 years and can
> be a bit fragile when applying packs like this.
I don't have any MTP devices here to experiment with.
So all I can point at, is "materials".
The purpose of posts like this, is to give you "search terms"
or "breadcrumbs". As without a device to experiment with,
it might be difficult to identify any extra steps needed.
The drivers are actually in Windows Media Player installer kit.
The MTP Porting Kit (I have three copies on disk here), on
one of them I added the word "useless" to the file name. And
an examination today confirms this. I can't see a damn thing
of interest in there. Maybe some earlier version of the Kit
actually had a driver. I don't see a driver in the version
I've got. WMP11 should be a good source. (Note - WMP itself
likes to validate that the OS is genuine, so expect some
blow-back from using this. When doing "experiments" on
your computer, you should have a recent backup of C:
at your disposal!!!)
*******
I happen to have this on disk already as well.
wmp11-windowsxp-x86-enu.exe Date Published: 2010-06-22
File Size: 25,740,256 bytes
https://www.microsoft.com/en-ca/download/windows-media-player-details.aspx?751be11f-ede8-5a0c-058c-2ee190a24fa6=True&a03ffa40-ca8b-4f73-0358-c191d75a7468=True
Using 7ZIP (
7-zip.org), I can see wmfdist11.exe inside it.
Which could be extracted, or by using "Open inside" you
can get the stuff out of the inside of it.
An interesting file in there is wpdmtp.inf . Unlike a lot of
files of INF type that Microsoft writes, it doesn't have the name
of the file inside the header of the file. Which implies the
file does not get renamed in C:\Windows\INF when installed.
It should still have that name. You probably already have that
file in your INF (hidden) folder. You can adjust the File Explorer
viewing properties, to make the folder visible.
If the Android in Device Manager with the yellow mark is still
there, you could "Update driver" and point it at wpdmtp.inf perhaps.
;
;Device is identified by Microsoft OS descriptor
;If your device does not support it, use specific VID & PID for identification <---
;
[Generic.NTx86]
%GenericMTP.DeviceDesc%=MTP, USB\MS_COMP_MTP
[Generic.NTamd64]
%GenericMTP.DeviceDesc%=MTP, USB\MS_COMP_MTP
You can see someone editing that file, in order to get
their device working properly. (Strictly speaking, it's
dumb to do this. Real manufacturers have their INF simply
"include" the Microsoft one.) Modern devices should
be using that PNP identifier. For devices that don't,
you have to craft VID & PID detection.
http://forum.xda-developers.com/showthread.php?t=1291293
Now, an example of a service installation section
in the file, would be this. I think this might be a
kernel USB filter driver. Something MTP specific
rides on top of this, possibly in userspace. So
this could actually be the stanza causing the
error message.
; =================== WPDUSB ===================
[MTP.WpdUsb.AddService]
DisplayName = %WpdUsb.SvcDesc%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\wpdusb.sys
LoadOrderGroup = Base
*******
As another example, I have "SAMSUNG_USB_Driver_for_Mobile_Phones_v1.5.45.0".
In 25_escape\ssudmtp.inf is an example of how a company that does not use
the right DeviceDesc does it. They match on VID and PID, and their
INF simply "calls" the Microsoft driver.
;*********************************** Begin ssudmtp.inf ****************************************
;
; Name : ssudmtp.inf
;
; Function : Install SAMSUNG Escape USB Media Transfer Protodol driver
;
; Copyright (c) DEVGURU Co., Ltd. (
www.devguru.co.kr)
;
;***********************************************************************************************
[Version]
Signature="$Windows NT$"
Class=WPD
ClassGUID={EEC5AD98-8080-425f-922A-DABF3DE3F69A}
Provider = %Provider%
DriverVer=06/10/2014,2.11.10.0
CatalogFile=
ssudmtp.cat
[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%ssud% = ssud, NTx86.5.1, NTamd64.5.1, NTx86.6.0, NTamd64.6.0
[SSUD.NTx86.6.0]
[SSUD.NTamd64.6.0]
[SSUD.NTx86.5.1]
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_685C
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_6860&MI_00
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_6862&MI_02
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_686A&MI_00
[SSUD.NTamd64.5.1]
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_685C
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_6860&MI_00
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_6862&MI_02
%USB\SAMSUNG_MOBILE&MTP.Desc% = ssud.Install, USB\VID_04E8&PID_686A&MI_00
[ssud.Install]
Include = wpdmtp.inf, WINUSB.INF
Needs = WPD.MTP, WINUSB.NT
[ssud.Install.hw]
Include = wpdmtp.inf
Needs = WPD.MTP.Registration
[ssud.Install.Services]
Include = wpdmtp.inf
Needs = WPD.MTP.Services
[ssud.Install.CoInstallers]
Include = wpdmtp.inf
Needs = WPD.MTP.CoInstallers
[ssud.Install.Wdf]
Include = wpdmtp.inf
Needs = WPD.MTP.Wdf
UmdfServiceOrder=WpdMtpDriver
; no sys copyfiles - the sys files are already in place
[Strings]
ssud = "SAMSUNG Electronics Co., Ltd. "
Provider="SAMSUNG Electronics Co., Ltd. "
USB\SAMSUNG_MOBILE&MTP.Desc="SAMSUNG Mobile MTP Device"
;*********************************** End ssudmtp.inf ****************************************
So while the Samsung package is 16,007,072 bytes in size, it
still manages to have a dependency on outside resources (wpdmtp.inf).
For that part at least, it's a kind of "stub installer". The folder
also has a ton of other stuff, so the package solves more
than just an MTP issue.
And this is the info Microsoft provides to developers.
"The MTP Setup Information (.inf) File"
https://msdn.microsoft.com/en-us/library/windows/hardware/ff597687(v=vs.85).aspx
By searching for the specific Android device you've got,
perhaps you can determine any device specific things
that need to be done.
I haven't a clue how the AddService thing could be
throwing an error. There isn't likely to be a typo
in there.
Also, to see how the driver install process is going,
on WinXP you are lucky to have "setupapi.log" to inspect.
The newest entries are at the end of the file. Each
entry has a date stamp, like
[2016/08/25 10:45:02 980.11 Driver Install]
and using that, you can see what "noise" was generated
in recent days. For example, on Aug25, I plugged in a
USB flash stick :-) That's the time stamp for it.
C:\WINDOWS\setupapi.log
Paul