Updating/replacing device drivers for a single device in a running system.
Original Publication Date: 2005-May-16
Included in the Prior Art Database: 2005-May-16
Disclosed is a method of dynamically updating a device driver for a single device on a running system.
Updating/replacing device drivers for a single device in a running system .
Today, a single device driver is used to control all of the devices within a system. To replace a device driver for a single card, you must bring down all of the operating cards on a system, replace the device driver module, and restart all of the cards. Any user configuration defined for the running cards is lost when the driver is unloaded, and must be re-entered by the user or an application program.
It would be desirable to replace a driver for a single device while the operating system is up and running. Specifically, to update the device driver that is controlling a specific device, and to have the new device driver inherit the configuration data from the original driver.
Consider a system with an operational system with a drawer containing twenty 10/100 ethernet adapters, or a drawer of twenty gigabit adapters. Assume they are labeled eth0, eth1,.. eth19. It would be desirable to replace the device driver for eth0, while leaving eth1,... eth19 up and running, and to have the configuration from eth0 be carried over to an updated eth0 that inherits the configuration for attributes such as duplex, speed, primary/backup modes, etc. without manual user involvement.
With such a technique, one could upgrade a computer system, and never have the entire network down. This concept extends to all external devices. It is not limited to network devices.
In this disclosed method, the device stru...