un firmware, c'est le programme interne d'un appareil, qui lui permet de fonctionner. c'est l'équivalent du BIOS d'une carte mère/carte graphique, mais pour un matériel style lecteur CD, etc.
le driver, c'est le programme qui permet a un OS (systeme d'exploitation, Windows, Linux, MacOS, par exemple) de reconnaitre un matériel et de le faire fonctionner.
en général, ca marche comme ca :
tu demande un truc a windows
il demande au driver
le driver appelle les commandes du firmware qui font fonctionner la matériel