Microsoft will combat driver installation woes in Windows with a much tougher approval regime -- and it's looking increasingly likely USB 3.0 won't be supported in Windows 7.
It's no exaggeration to say that USB connectivity has revolutionised the PC hardware marketplace, making connecting devices of all stripes a far simpler process. Yet despite the central role that USB plays in getting equipment connected, earlier versions of Windows have done a relatively poor job of helping users out on those occasions when things do go wrong.
In Windows 7, Microsoft has for the first time started accurately tracking USB installation problems. "We have the ability now in Windows 7 to collect some valuable topology and usage information that we never had before," Lars Giusiti, a member of the USB core development team, explained in a presentation at WinHEC, Microsoft's annual conference for hardware developers. Remarkably, despite USB's near ubiquity, it hasn't previously been included in the Customer Experience Improvement Program online error tracking service in a meaningful way, Giusiti said.
Microsoft has also beefed up its ability to track what goes wrong when your USB device doesn't get detected. "We took the Event Tracing for Windows framework and we instrumented USB events. We enabled traceability for USB events in Windows 7, and we didn't really have that before. Diagnosing and troubleshooting USB problems and issues has been a very painful, time consuming and expensive process."
The new tracking systems make better use of 'minidumps', hardware-specific log files to isolate problems. "The Windows USB core team did not do a good job on slicing those crashes and creating sub-buckets to determine what crashes were third-party related and what were Windows USB core related," Giusiti said — a problem he hopes will be resolved by the new event tracing approach.
With luck, the new focus on error tracking might help put an end to such infamous problems as 3G modems only working if you plug them in exactly the same slot every time, or devices failing to reappear when PCs wake up from sleep mode. While Microsoft isn't currently releasing the data to its hardware partners, that could change, Giusiti said. "We're looking at ways we can open that up to third-party use."
Plugging in to new logo rules
At the same time as tracing USB problems more accurately, Microsoft is also cracking down on the conditions for USB devices to receive Windows certification via its logo program, which essentially provides an MS-backed assurance that the hardware will work. From June 1, 2009, new logo requirements will include a set of three tests designed to ensure that USB devices don't suffer from "failure to wake".
"We were starting to see a number of instances of problems with power state changes," Giusiti said. "Devices would disappear and not come back after a number of suspend and resumes. The new tests are like new stress tests that help us weed out some of those issues."
From mid-2010, Microsoft will also require all USB devices to meet the USB Consortium's fundamental USB IF specifications. "Today, it's implied that they're required to be USB spec-compliant, but we've seen a number of issues come through on systems where they pass the Windows Logo test but some of the USB devices don't meet the USB spec requirements. USB devices that have both the USB IF certification and the Windows Logo have much less issues and problems than those that do not." While those requirements are unlikely to make much difference to no-name hubs you buy in white box stores, they will impact PC builders who'll have to ensure that onboard hardware fully meets the requirements.
USB speed limitations
Despite all those shifts in position, several proposed future changes to the USB specification won't be appearing in Windows 7 any time soon. In yet another mini-fight with Intel, Microsoft won't be backing proposed power management improvements proposed by the chip giant as part of its EHCI v1.1 specification.
"We believe that these are good features and provide good functionality, but MS is heavily invested in USB 3.0 and xHCI, and these functionalities and features are going to come with xHCI," Giusiti said.
Despite that position, it looks unlikely that USB 3.0, which promises speed increases of up to 10 times on current systems, will be supported in the first released version of Windows 7. While the specification (which Microsoft has helped develop along with other members of the USB 3.0 Promoters Group) is due for completion this quarter, there simply aren't any devices available for testing. That makes it hard to justify including supporting code in Windows 7, which is aiming for a release in the next 18 months.
"Microsoft is actively working on the specification with the rest of the promoter group, but we're challenged," Giusiti said. "USB 3.0 as a technology does not fall nicely in line with the Windows product release road map. Because the USB 3.0 specification is not signed off, we won't have support for 3.0 at RTM for Windows 7.
"Microsoft is currently evaluating which OSes we should support USB 3.0 on. It's a difficult decision and a difficult choice because there are all these moving parts. Our early indications tell us that most partners think we should support USB 3.0 on at least Windows Vista or better." That support could come to Vista, Windows 7 and Windows Server 2008 via an update, but there's nothing scheduled right now.