On the other hand, Apple does something ungodly with their iPhone/iPad/iPod devices. When connected to a computer via USB, they change their device ID depending on what state the operating system is in. They have separate USB device identifiers for both the booted iOS mode and each of the myriad of hardware recovery modes they can end up in. Causes downright awful behavior on Windows where when you go to do an iOS reinstall, the host things you unplugged your iPhone and plugged in something else and thus goes and does its painfully slow driver search all over again. I've written software that does lots of low-level interaction with iOS devices in these various states and we had to document how to change Windows' boneheaded driver search behavior so our customers aren't stuck with an hour-long "searching for drivers" headache.