... I don't think the problem with the USB is hardware related...
I've studied this problem for several months because it was an interesting challenge and because I had a drive that I just HAD to get working with my Surface Pro 3.
And now it does!
I've come to conclude that the problem is NOT fundamental to the Surface Pro 3 hardware, but with the implementation of Microsoft's Connected Standby power management.
Connected Standby started with Windows 8 to support tablets and laptops to extend battery lifetime.
It aggressively conserves power by detecting when a device has been 'idle' too long and then suspends it (deep sleep).
But to give a suspended USB device the next command, the device has to be woken up.
Here is where that can be a problem: if the traffic to the device is 'power managed' then the request will stall if the driver that is the Power Policy Owner (PPO)-- the one in charge of putting the device to sleep and waking it up-- is not the first
driver in the 'stack' of driver software managing the device. Often, the Microsoft mass storage driver (usbstor.sys) is the PPO but sometimes the device manufacturer's drivers are added to the stack to provide advanced functionality (like encryption, controls
for the LED lights on an enclosure, etc.) So if one of these drivers is put at the head of the queue and is not capable of doing the power management, then Windows cannot resume a suspended device!
You will have trouble if your USB device driver stack is not quite compliant with Microsoft's power management scheme.
Devices will disappear without notice if a command stalls while the device is suspended, or Windows itself might even hang.
Many of us have seen this happen (including me for a Buffalo drive that uses hardware encryption).
Others see behavior that is probably related to Selective Suspend--instead of just quietly suspending the USB drive, itsometimes disconnects entirely (causing a
'surprise-removal' tone) and just as suddenly it will reconnect. These problems ramped up when Windows 8.1 came out in 2013, so many different laptops and tablets have been affected, not just Surface Pro 3.
Here is how it is supposed to work on the Surface Pro 3:
if the storage device hasn't been accessed for some fairly short time (30 seconds to a minute), then Windows suspends it.
Once you ask to use the device again (call up a file, look at the folder in Windows Explorer, etc.), then it is supposed to come back to life in a second or maybe two.
In testing the several types of USB hard drives I have, the typical behavior is for the drive to spin down (lights go out, drive stops rumbling) then to spin back up quickly once it is awakened by a request. Only the Buffalo drive problem made me track
down and apply the registry fix that sets its power state to D0 (always ON).
That's the reason you see many people saying they had luck after following some directions from the Windows 8.1 forum from 2013 -- it showed how to turn off the power save feature, one particular device at a time.
Here are my drives that sleep after 30 - 45 seconds idle time and then come back up rapidly when accessed again:
- Buffalo Ministation Extreme 1T
Model HD-PZ1.0U3 (new USB3) this one cannot wake if it goes to sleep because when it sleeps it loses its ability to read the hardware-encrypted drive; any attempt to
work with files still listed in Windows Explorer hangs the system.
So I set it to never sleep (ran the script to set the registry hack
http://answers.microsoft.com/en-us/windows/forum/windows8\_1-hardware/windows-81-causes-external-hard-drives-to-auto/c03b9212-9972-44b9-bfec-1cd7e70ec67e?page=4)).
- Western Digital My Passport 1T PNWDBACX0010BBK-01 (1 yr old USB3) it's activity light goes from steady (light vibration when drive is active) to slow
blink when it is asleep (no vibration). Takes it a few seconds to come back when asked for a file after it wakes from sleep, so this one is the slacker
- Seagate Free Agent GoFlex 1.0T
PN 92FANA-500 (2 yr old USB3)
- Seagate Free Agent GoFlex 1.5T
PN 92FAD1-500 (3 yr old USB3) It rumbles to life again in a second or so when asked to wake up)
- Western Digital
250 GB Model WD2500XMS-00 (6 yr old USB2 I can't believe this old drive still works!)
- Envoy USB 60 GB (Recycled 5-yr-old Macbook Air SSD -- this one, being a solid state device, makes no noise when "waking"; I just see the status light
change.
- Seagate Backup Plus 2T PN 1K9AP7-501 (new USB3)
- Silicon Power 1T Model D33B29 (new USB3)
We are supposed to be able to turn off power management if it poses problems like it did for my Buffalo drive, but it is hard to find the settings--they are NOT in the system
Power Options. You need to go to Device Manager and find the problem drive and then go to its power options.
But once there, checking the box to Never suspend the device may not work-- many people said they tried turning off selective suspend everywhere, including at the USB device level, without making any difference.
It turns out (at least, 2 months ago when I tried it) that the checkboxes couldn't change the power setting value unless there was already a setting for it in the registry; you couldn't change the value until after you created a first instance of it!.
The fact that the Microsoft crew named the keyword DeviceHackFlag should tell us something-- this was a workaround of whitelisting the problem devices, adding settings to the registry if one of these devices is detected in order to turn off its power management.
Apparently, the list was growing in 2013 and into 2014 and so Surface Pro 3 owners were affected too (see
http://answers.microsoft.com/en-us/windows/forum/windows8\_1-hardware/windows-81-causes-external-hard-drives-to-auto/c03b9212-9972-44b9-bfec-1cd7e70ec67e?page=4).
That was the story as of a month ago, and I'm not sure if Microsoft updates have pushed out an update to improve compatibility.
I was able to manually fix my must-have USB hard drive and never did see any performance problems with the others.
I don't know if the registry hack is still needed -- maybe the ongoing Windows 8.1 updates finally fixed the problems.
But maybe not, because this thread is still showing plenty of frustrated people.
I see that many believe the Surface Pro 3 port is under-powered, and that is possible, but can't be the main problem because we had USB drive dropout problems even when using the Surface Pro 3 dock.
Maybe someone had a bad cable, and maybe someone else had bad sectors on a drive.
Those are different problems mixed in with the larger one of getting Selective Suspend to work right.
If you are desperate for a fix (if several devices don't wake from sleep) you can turn off Connected Standby for the entire PC or for USB devices as a class --
it takes another registry hack, though (see this, starting halfway down
https://en.discussions.tomtom.com/go-and-start-40-50-60-series-go-400-500-600-5000-6000-mydrive-176/random-disconnects-on-surface-3-pro-968783).
It is a shame to throw out such a good idea for power saving, so I'm leaving Connected Standby turned on (except the Buffalo drive).
I hope that Windows updates get it working the way it should work, at least for most drives.
There will be some, though, that are just not compatible, even with Selective Suspend disabled.