Armchair analysis of AX88772 driver pull

hkc_mgr.png

Last week, my Windows 8 Secrets co-author, Paul Thurrott, pinged me about the lack of USB Ethernet device support on Windows RT. (He wrote about it too.) He noted the increasingly noisy rumblings of the continued non-availability of a Windows RT driver for ASIX AX88772 chipsets in USB Ethernet devices (like the Pluggable USB2-E100, $13.95). I suspect the reason this is getting any attention is because the driver was once available and worked on Windows RT 8.0. Microsoft later -- without much explanation -- requested a take down of the driver. And as of the latest preview build of Windows RT 8.1, the driver is blocked from installation.

But why?

I reached out to Microsoft and haven't heard back yet and they declined to comment on the matter. But I pillaged my closet and found a ASIX-based dongle and ran it through some tests (with the driver in question) to determine how well it actually worked on Windows RT 8.0.

Here are my results.

It's not Windows RT certified

It's important to note that despite being signed by Microsoft, the ASIX drivers in question are not officially certified for use on Windows RT. I suspect these drivers were supplied to ASIX for internal development or testing and not meant for production use. Running the drivers through Windows Hardware Certification testing reveals a number of problems that likely led to the take down of the driver set.

Lack of network presence offloading

As part of its Windows 8 and Windows RT device certification requirements, Microsoft requires that wired LAN (Ethernet) devices support network presence offloading when used on Connected Standby (CS) systems. Over simplified, this means the device should support entering a low power state and respond to the usual indirect network chatter (i.e. ARP and NS ads) without waking the PC. This behavior improves power management and efficiency on CS systems (e.g. Surface RT).

Missing wake events

Wired LAN devices are also required, again on Connected Standby systems, to support various wake events -- the connection and disconnection of network media. That is, when a cable is connected or disconnected, the device should wake up and do whatever processing needed as a result.

Missing USB Selective Suspend support

In conjunction with the missing wake events (above), my device did not support entering a suspended state by way of USB Selective Suspend. This feature allows for the suspension of an individual port helping conserve battery power.

Other minor nits

Given work on this device began long ago, it's understandable that its driver contains some legacy code that needs cleaning up. My tests reported other nits that I feel are minor but worthy of documentation nevertheless.

So is Microsoft conspiring to kill Ethernet?

Absolutely.

No, I'm kidding. Let's be realistic here.

Obviously this driver isn't up to code. Neither Microsoft or its partners want this driver circulating the Internet and causing battery (and possibly stability) chaos on Windows RT. While a beta driver is commonly welcomed over no driver, the release of such would incur costs -- time and money -- for what amounts to a niche audience of RT enthusiasts. Instead, let's just exercise a bit more patience and wait for Microsoft or ASIX to publish updated drivers. (If that doesn't happen though, you do have the option of never upgrading to Windows RT 8.1...)