The Eye-Fi firmware is composed of a ROM-resident proprietary BSP (board support package) for the AR6001 chip, the eCos embedded operating system, a proprietary WLAN driver from Atheros and Eye-Fi’s own application code. The eCos license stipulates that:
“The license does not require users to release the source code of any applications that are developed with eCos. However, if anybody makes any changes to code covered by the eCos license, or writes new files derived in any way from eCos code, then we believe that the entire user community should have the opportunity to benefit from this.”
We address this stipulation by making sure that the Atheros driver and the eCos are not integrated in a manner that makes it a part of eCos (in other words, it does not appear as a device driver that abides by eCos device driver interfaces in the linkage). The Eye-Fi application itself uses eCos at the well-defined interfaces exported by eCos and remains a stand-alone application per the above definition. Where we’ve made improvements and bug fixes, we have contributed back to eCos (and lwIP, the TCP/IP stack included in eCos).
Beyond the baseline eCos distribution, we’ve applied the SACK (selective acknowledgment) patches for lwIP TCP/IP found in the link below.
Download the eCos source distribution that the Eye-Fi Card firmware is based on below.