Getting rid of obsolete Microsoft Windows Mobile Remote Adapter s
As a windows mobile programmer I have to fight with ActiveSync aka Windows Mobile Device Center. The newer WM devices come with enhanced network function via USB ActiveSync/WMDC and then each time a new device is connected, you will get a new Mobile Remote Adapter with a new number at the end.
First, I dont need any partnership and so I change my system to do GuestOnly connections with WMDC (Windows Mobile 7, 64Bit system).
OK, second annoyance is the awlays coming up WMDC or WMDC+Mobile Registration Wizard. These Popups can be avoided by changing the call to WMDC.exe to WMDCbase.exe. See also this post.
So, I can connect one of the several devices I have currently for development support (about 10-30) without annoying popups.
But then I found, that for each device and sometimes multiple times, Windows installs a new “Microsoft Windows Mobile Remote Adapter” in Device Manager. I found about 88 instances, where only ONE is needed. Before you can see the inactive adapters, you have to enable Show_Hidden_Devices. One way to show hidden devices is this []:
- Click Start, point to All Programs, point to Accessories, and then click Command Prompt.
- At a command prompt, type the following command , and then press ENTER:
set devmgr_show_nonpresent_devices=1
- Type the following command a command prompt, and then press ENTER:
start devmgmt.msc
- Troubleshoot the devices and drivers in Device Manager.
NOTE: Click Show hidden devices on the View menu in Device Manager before you can see devices that are not connected to the computer.
- When you finish troubleshooting, close Device Manager.
- Type exit at the command prompt.
To remove the hidden, inactive Mobile Remote Instances, you can now right click on every instance, then click UnInstall and then [OK]. But for 88 instances, that is a bunch of clicking.
As programmer, I searched of a way to remove these instances programmatically. OK, I digged google and found DevCon, a tool to manage devices and instances from the command line. Unfortunately, I had to download a CD image of Windows WDK to get DevCon.exe. Then I found a site which described howto install DevCon only.
With the help of DevCon.exe, I produced a list of “Microsoft Windows Mobile Remote Adapter” instances, removed to not numbered one and then built a list of DevCon commands to remove the obsolete instances.
List all Windows Mobile Remote Adapters into a file:
devcon findall "USB\VID_067E&PID_1003&REV_0000" >wm_remote_adapters.txt
“USB\VID_067E&PID_1003&REV_0000” is the identifier for Windows Mobile Remote Adapter (you can find this by right clicking the instance in device manager and select properties).
USB\VID_067E&PID_1003\0040056A-0E9D-0801-0DE0-01130400682B : Microsoft Windows Mobile Remote Adapter #59 USB\VID_067E&PID_1003\0040056A-0E9D-0801-1B10-010E04000801 : Microsoft Windows Mobile Remote Adapter #6 USB\VID_067E&PID_1003\0040056A-0E9D-0801-0B70-000E0400BA61 : Microsoft Windows Mobile Remote Adapter #24 USB\VID_067E&PID_1003\0040056A-0E9D-0801-1990-001104000E40 : Microsoft Windows Mobile Remote Adapter #77 USB\VID_067E&PID_1003\99461300-B56A-0801-DD17-0FBB99944738 : Microsoft Windows Mobile Remote Adapter #89 ...
Then, in the list wm_remote_adapters.txt, I replaced all line starts etc and built this cmd list:
devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-0590-010E0400A43B" devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-5AD3-B56444802FC3" devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-B87A-D1874E00C078" devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-1640-01100400B075" ...
Then I saved this cmd list as remove-adapters.cmd and started it from the command prompt. And, voila, all obsolete adapters are gone for now.
From time to time I have to rebuild the lists again to get rid of these many obsolete adapters.
There is a nice tool to remove obsolete (ghost) drivers: GhostBuster [http://ghostbuster.codeplex.com/]
DevCon.exe did not work any more on my Win7 x64 system and instead of manually deleting all 35 entries in my DeviceManager I managed to use GhistBuster.
Downloading the Windows DDK and VS2013 was not an option just to get an actual version of DevCon.exe
Some articles about AS/WMDC troubleshooting:
http://www.pocketpcfaq.com/faqs/activesync/usb-advanced-functionality.htm
http://support.microsoft.com/kb/915152
and Some logging for WMDC on your PC:
http://www.pocketpcfaq.com/faqs/wmdc/debug/index.htm
Thanks for the post. I also had this issue and your procedure worked. Do not download the devcon.exe from the Microsoft support site as it does not work on Windows 7 64bit. Listing the devices will work, but removing the devices will fail. Instead I found an updated devcon.exe from the website.
http://delphintipz.blogspot.ca/2012/07/disable-failed-no-devices-disabled.html
Here is my updated procedure
List all Windows Mobile Remote Adapters into a file:
devcon findall “USB\VID_067E&PID_1003” >wm_remote_adapters.txt
“USB\VID_067E&PID_1003&REV_0000″ is the identifier for Windows Mobile Remote Adapter (you can find this by right clicking the instance in device manager and select properties).
USB\VID_067E&PID_1003040056A-0E9D-0801-0DE0-01130400682B : Microsoft Windows Mobile Remote Adapter #59
USB\VID_067E&PID_1003040056A-0E9D-0801-1B10-010E04000801 : Microsoft Windows Mobile Remote Adapter #6
USB\VID_067E&PID_1003040056A-0E9D-0801-0B70-000E0400BA61 : Microsoft Windows Mobile Remote Adapter #24
…
Open text file in Excel
The Text import wizard will appear
Select Fixed width file type and click Finish.
Copy the hardware id from the first column into a new text file
USB\VID_067E&PID_1003040056A-0E9D-0801-2330-011102009A5F
USB\VID_067E&PID_1003\99461300-B56A-0801-FC12-742C6B4F585D
USB\VID_067E&PID_1003040056A-0E9D-0801-0C90-01150000724D
…
Using notepad, replace the string ‘USB’ with ‘devcon remove “@USB’
The close quotation mark at the end is not required for the command to work.
devcon remove “@USB\VID_067E&PID_1003040056A-0E9D-0801-0C90-01150000724D
devcon remove “@USB\VID_067E&PID_1003040056A-0E9D-0801-1660-01190000180B
devcon remove “@USB\VID_067E&PID_1003\99461300-B56A-0801-4B68-D11B9B567C1C
…
Save the file as a .cmd file.
Execute the file and the adapters should be removed.