Firmware download functions
Holger Schurig
hs4233 at mail.mn-solutions.de
Tue Jun 5 11:09:25 EDT 2007
Hi everybody !
In my current code, I can sucessfully download the helper image
and normal firmware image. That's all done in 160 lines of code.
However, my firmware images are just "flat" files, e.g. files
without the fwheader or FWData internal structure. Therefore I
wasn't using the functions provided by fw.c.
On the other side, I cannot just ignore fw.c, because it does
many things besides downloading the firmware. For example:
libertas_init_fw()
- allocates and initializes wlan_adapter
- does something with some command timer which I don't really
understand yet
- calls wlan_setup_station_hw(), which downloads the firmware
- does some 802.11d initialization
However, even wlan_setup_station_hw() does other things besides
downloading the firmware:
- request the firmware
- check the firmware format
- call priv->hw_prog_firmware() to download the firmware
- release firmware
- initialized adapter->current_addr
- read the hardware spec
- read the current rate
As a start, the check for the format should be put into if_usb.c,
simply because I have a very different format of my firmware.
Also, it won't really help me if I just request one firmware
file, I have two of them (ca. 2600 bytes for helper, ca. 96000
for firmware image). So this request/check thingy should go into
if_usb.c as well.
However, after this fw.c is empty of any firmware stuff.
Therefore I mandate to put the remaining functions into main.c.
Or to rename fw.c into adapter.c.
Thoughts?
More information about the libertas-dev
mailing list