Firmware upgrade for CNA

Naresh gbal.naresh at gmail.com
Sun Dec 4 18:33:17 UTC 2011


Hi All,

Our product is a CNA i.e it supports both 10G Ethernet and Storage. We need to provide firmware upgrade facility through our FreeBSD nic driver.

The driver should be able to flash any version of the firmware when provided.

Asuuming driver is already loaded flashing steps should be something like 
1) User will invoke flashing by providing the image name and file path.
2) Driver should load the image from the path and start flashing.
3) Return the flashing status to the user.

I looked into load_firmware FreeBSD mechanism. But it requires image to be 
converted to loadable module, load image module and then invoke driver using sysctl to start flashing. 

Is there any standard way other than load_firmware ? Can we open and read a file in the driver?

In Linux, we copy the image to /lib/firmware and invoke flashing using something like "ethtool -f eth0 image". 
Then kernel loads the image file from 
/lib/firmware to a data buffer and invokes the driver. The driver then flashes and return status.

Is there a approach in FreeBSD something similar to Linux ?

Thanks all for your help.

-Naresh

Sent from my iPhone


More information about the freebsd-drivers mailing list