[Openib-windows] FW update chicken-and-egg problem

Fab Tillier ftillier at silverstorm.com
Thu Aug 10 13:46:07 PDT 2006


Hi Leonid,

The MTHCA driver will check the firmware version on the HCA when handling
the IRP_MN_START_DEVICE PnP IRP.  If it finds an out-of-date firmware, it
fails the IRP and logs an event to the event log.  This results in the HCA
not starting, which means that the firmware can't be updated using the FW
update tools (mst and flint).

The ideal solution would be to put the HCA in a restricted mode, and succeed
the START_DEVICE request.  The driver could then limit what operations it
allows to the minimum needed to allow performing the FW upgrade.  This would
allow users to update the driver, disable the device, re-enable, and move
on.

The less ideal solution, but likely simpler to implement, would be to have a
registry flag that will disable the FW check, so that users can disable the
check in the registry, disable/enable the device, and update the firmware.
The drawback of this solution is that users have to set the registry flag
and then remember to clear it again when they are done upgrading the
firmware.

As it stands, the users have two options.  The first is to open the system
and move the jumper to put the HCA in live-fish mode.  The second is to load
the MT23108 driver (only works with mem-full HCAs), and do the firmware
update using that driver since it does not perform the FW version check.
Neither of these are acceptable IMO, especially if dealing with a large
cluster installation.

Could you look into providing a fix?

Thanks,

- Fab






More information about the ofw mailing list