When you buy a Wi-Fi infrastructure device such as an access point or router, you do not pay extra for the software; it is included with the purchase price of the product. The same is true when a device maker buys a Wi-Fi radio module or card that is embedded or used in the device. Even though there is no extra charge for Wi-Fi software, that software provides most of a Wi-Fi product's functionality in areas such as connectivity, roaming, security, quality of service, and management. Software also enables a Wi-Fi vendor to differentiate its offering by implementing features that address specific market and device requirements better than competitive products do.
Reference Driver: Not Enough
The core software component of a Wi-Fi product is the device driver for the Wi-Fi radio that operates in the device. That driver provides the interface between the device's operating system and the radio. Intel, Atheros, Broadcom, Marvell, and other silicon providers may be known for making Wi-Fi chips out of silicon, but they employ teams of software engineers that develop device drivers for APs, routers, laptops, and other devices that use the radios with those chips inside.
While drivers from silicon providers (often called reference drivers) are sufficient for mainstream client devices such as laptops, they are not designed for mobile medical devices. For starters, a driver may not run on a medical device because the driver was written for a different operating system than the one that runs on the device. Even when it runs on a mobile medical device, a driver may not address the requirements of that device, especially requirements for reliable connectivity when the device is in motion.
Even though laptops and other mainstream Wi-Fi devices often are called mobile devices, the better term for them is nomadic devices. The typical usage scenario for a laptop is this:
- User becomes stationary (e.g. sits down) and opens laptop lid
- User uses laptop
- User closes laptop lid and moves to another location
- User goes back to step 1
A laptop is nomadic and not mobile, then, because the laptop is not used while it is in motion. In contrast, many medical devices are used while they are in motion. These devices must establish and maintain secure Wi-Fi connections in an environment, such as a hospital, that presents challenges to wireless connectivity.
To function well on a mobile medical device, a Wi-Fi device driver usually needs dozens of modifications and enhancements, and silicon providers don't make such mods. So who does?
Customizing a Driver
To modify a driver, you must have the source code for that driver. Because silicon providers, like other Wi-Fi vendors, differentiate their products through software, they are reluctant to make source code for their drivers widely available. Silicon providers typically license source code for Windows drivers only to very large customers that provide a strong business case. While some believe that everything in the Linux world is open source, the reality is that some silicon providers do not post their Linux drivers to the world at large but license them on a restricted basis. Click here for a piece on the difficulty of obtaining source code for Wi-Fi radio device drivers and radio firmware.
Of course, obtaining the source code for a reference driver is just the beginning. Modifying that driver so that the Wi-Fi radio operates well on the target device typically requires experience with drivers and knowledge in several specialized areas such as radio frequency (RF) technology and Wi-Fi security. Programmers must be self-reliant, because silicon providers rarely offer development support. Silicon providers do not support driver modifications made by third parties, either, so programmers must agree to support and maintain the modified code or, at a minimum, document the changes that they make so that someone can fix bugs or extend the modifications down the road.
Who Does the Work?
Experienced Wi-Fi driver developers are in short supply. Many medical device makers have none on staff and rely on Wi-Fi radio suppliers or contractors to deliver drivers that work on medical devices. Ironically, many Wi-Fi radio suppliers have no driver developers on staff, either. These firms typically pass along reference drivers delivered to them in object code. When driver modifications are required, a firm without a driver developer on staff either engages with a contract programmer or tries to find a workaround with the existing driver.
In my next post, I'll reveal which operating system is gaining popularity among medical device vendors because of the availability of Wi-Fi device drivers for that operating system.
Look to Dr. Baker at http://www.welchallyn.com and what they have done to develop their own 802.11a radio for the MicroPaQ. Also, you may desire to read that paper that he and I co-authored for IEEE.
The paper that you and Dr. Baker wrote, “Medical-Grade, Mission-Critical Wireless Networks”, is excellent. Tim Gee recommended it in his post on 27 April 2008. I encourage everyone to read it.
Dave - I don’t want to put words in your mouth, but you seem to be implying that an alternative approach is to build your own component radio as an alternative to buying an embedded radio a la OEM.
This is certainly an option, but not a very popular one. Welch Allyn and Hospira are the only vendors who’ve told me they rolled their own radio.
To some of Chris’ points, most of the R&D for those roll your own radios were outsourced to engineering services firms with considerable radio experience.