Hi, I would like to request some help in understanding the relationship beween firmware and device drivers. My understanding of firmware is software that is generally stored on the ROM/EEPROM/flash of a device controller and performs specific functions pertaining to that device. But a device driver also helps the user in interacting with the device. So how does the functionality of the device driver differ from that of the firmware ? Does the device driver communicate with the firmware to control the device or are these two mutually exclusive ? I am newbie to this concept and would request someone to clarify the above or provide links which clearly explain the distinction.