Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Dec 2011 23:34:12 +0530
From:      Naresh <gbal.naresh@gmail.com>
To:        freebsd-drivers@freebsd.org
Subject:   Firmware upgrade for CNA
Message-ID:  <9E03496F-B9A3-499E-9C50-9F0D1EC6FF4F@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi All,

Our product is a CNA i.e it supports both 10G Ethernet and Storage. We need t=
o 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=20=

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=20=

converted to loadable module, load image module and then invoke driver using=
 sysctl to start flashing.=20

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

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

Is there a approach in FreeBSD something similar to Linux ?

Thanks all for your help.

-Naresh

Sent from my iPhone=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9E03496F-B9A3-499E-9C50-9F0D1EC6FF4F>