I'm sharing this because hopefully someone will find it, and get their problem solved. I wish someone else had posted this specific solution. It would have saved me 5 days of headache.
I've read and tried all the advice in this thread and other places this week, and I've STILL been tearing my hair out. I just bought a new Samsung Galaxy S II Skyrocket with AT&T, and it installed PERFECTLY on my Laptop, (WITHOUT Kies, by the way!) but NOT my desktop.
What I THINK happened was that when I first got the phone, I just assumed that Windows would recognize the phone on it's own. Silly me. When I first plugged it into my desktop, I had NOT installed the drivers. My Windows told me that it had found (in succession) a SAMSUNG_Android, a Samsung LTE Card USB Drive, and a Samsung LTE USB Drive, but EACH TIME, it immediately said that it could not find the right driver. Then I got the dreaded "UNKNOWN DEVICE" note, and then of course "A USB DEVICE HAS MALFUNCTIONED".
INSTALLING THE DRIVERS AFTER THE FACT WILL THEN LIKELY BE USELESS
I've spent about 6 HOURS EACH DAY this week pulling my hair out trying to determine the reason. I've found and followed more recommendations than I can count. Installed Kies. Uninstalled Kies. Install drivers, uninstall drivers, delete all the USB connections in device manager and let windows rediscover them, try to update the "Unknown Device" with any and all of the INF files in the Samsung USB Drivers directory. Ran two different Registry Cleaners.
NO LUCK.
SO I did it the hard way
Set Device Manager to show you ALL devices, even the hidden ones, and unused ones. There's countless sets of instructions on how to do that on the web. Just Google it.
1. Uninstalled Samsung Drivers.
2. Uninstalled Kies (You really don't need it anyway.)
3. Did a plain old "Search" for any remaining SAMSUNG folder in My computer and deleted them.
4. Deleted all Unknown Devices under USB in Device Manager.
5. Edited the System Registry to remove all references to Samsung or Kies.
6. Ran a registry cleaner
Here's the hard part:
Dug into System Devices on XP on my LAPTOP (The machine with the "Known Good Configuration" that works). I determined that there are 2 ENTRIES EACH IN THE FOLLOWING AREAS FOR THE SAMSUNG GALAXY S II SKYROCKET on a computer that operates correctly:
Under DISK DRIVES: SAMSUNG LTE CARD USB DEVICE and SAMSUNG LTE USB DEVICE
Under Storage Volumes: 2 (Two) GENERIC STORAGE VOLUMES
Under USB Controllers: 2 (Two) USB MASS STORAGE DEVICE entries.
CAREFULLY examine the Driver Details Tab for these 6 (Six) entries, and write them down!
It's the USB Controller entries that seem to be key, however: The Details will look something like this:
USB\VID_04E8&PID_685B\10F918B6
Whatever the string is, search your registry on that same computer for the last 8 digits: in my case, 10F918B6, and also for the PID_685B entries (Make sure "Match whole string is NOT checked)
I ended up with 3 keys: HKLM\System\ControlSet001\Enum\USB\VID_04E8&PID_68 5B; HKLM\System\ControlSet002\Enum\USB\VID_04E8&PID_68 5B; and HKLM\System\CurrentControlSet\Enum\USB\VID_04E8&PI D_685B
ALSO: Under those you'll note a DRIVER value that might start with: 36FC9E60...
SEARCH FOR THAT TOO! I found: HKLM\System\ControlSet001\Control\Class\36FC9E60... But for THIS key, export ONLY subfolder that is referenced in the DRIVER value of the previous 3 keys for instance, mine was \0070. My computer had other subfolders referencing other programs NOT related to my phone, or software.
SEARCH ALSO for "Samsung": You should also find: HKLM\Software\Samsung\USB\Driver Under that will be a string that starts: D0795B21...
If you THEN search for D0795B21... you'll find HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall, and under it will be references to the Samsung USB Driver Directory files in Windows Explorer.
EXPORT ALL OF THESE KEYS TO A LOCATION OF YOUR CHOOSING. 6 (six) if I counted right.
Now that you have these keys exported to a Flash Drive or something, go to the machine that DOESN'T recognize your Skyrocket.
Make sure you've uninstalled as good as you can, all the old attempts to install. Remove the Unknown Device, Uninstall the Samsung Directory, Do a search for SAMSUNG in "Search", and delete all the folders. Search your registry for Samsung (and you might as well search for the same keys you found on your good machine.) and remove all the old stuff.
Run a registry cleaner if you have one.
REBOOT.
Install the Samsung Drivers again!
I then verified in my registry that Samsung already was in it's place in HKLM\Software\Samsung\USB\Driver and so was the D0795B21 string. Also present was the HKLM\Software\Microsoft\Windows\CurrentVersion\Uni nstall entry with the references to the Driver folders.
On a whim, I tried to have XP recognize the Skyrocket again, but mine AGAIN failed.
I checked the registry, but the 3 registry keys containing 10F918B6 and the connected Class Key (36FC9E60) were NOT present (Yet!)
Plug in your Flash Drive. Click each registry icon on the flash drive to incorporate the keys from your known good configuration into the registry of the computer that DOESN'T work. You'll have to confirm that you REALLY want to plug those entries into your computer.
I then went back into my Skyrocket. Went into USB. Tapped Connect. Plugged the cable in.
My computer IMMEDIATELY recognized a SAMSUNG_Android, a Samsung LTE Card USB Drive, and a Samsung LTE USB Drive.
Bingo. Done. I tried to attach my pertinent Registry Keys, and I'm not sure why, but I couldn't upload as RAR. I changed the extention to ZIP. You might have to change it back to RAR before unpacking. As noted, I didn't need the Samsung Key, or the Uninstall Key, as reinstalling the Drivers added those, but I did need CS001, CS002, CCS, and Class.
If you've tried everything else, I hope this helps!