The title says it all. I have legacy virtual device that is no longer supported. Its status is shown as “Offline”. I want to attempt a fix by changing its driver but the “Driver” selection is grayed out. Why can’t I change driver when device is offline?
I presume it is because there might be a need for a new driver to communicate with the device to configure it and ‘offline’ can be an indication of communication problems. I think the mobile app is behaving sensibly in this case.
The Advanced Web App will probably let you change it.
With IoT, I think the driver must not assume the device is always online. It must handle the situation when device is not reachable regardless. This is especially true if previous driver is bugged and making it unable to keep the device status online.
I agree with this, particularly since my understanding (which may be wrong) is that the edge Driver doesn’t actually do anything with the firmware on the device itself. It is installed on the hub and affects what the hub sends to the device and when. But, again, unless I’m mistaken, I don’t think the device knows what edge Driver is being used, I think that information has to come from the hub. So I agree, you should be able to change edge drivers as long as the hub is available, regardless of whether the device is off-line. And, as you note, it might be that the previous driver is flawed, and so the device was getting marked as off-line when it actually wasn’t.
If I’m wrong on all this, I hope someone will correct me, but that was my understanding of how the edge Drivers worked.
And of course, it may be that some specific edge drivers do a configuration step when they are first used for a device, which might complicate the issue. But I would prefer to see that handled by the new driver rather than blocking its assignment.
OK let me rephrase my earlier response:
The mobile app doesn’t know why the device is offline and has to assume the user doesn’t either. It doesn’t know whether changing the driver might be beneficial or not, or indeed if it might be harmful, and again it has to assume the user doesn’t either. So disabling changing the driver seems a perfectly reasonable option.
The Advanced Web App, the CLI and the API are just three of the options freely available to users who are more confident in their understanding of what they are doing and who wish to change their drivers.