Med vennlig hilsen / Kind regards
Tore Dalaker
Rosenkrantzvegen 19
N-4353 Klepp Stasjon
+4798024965

On Fri, 8 Feb 2008, Wolfgang Spraul wrote:

Dear Community,

Some of our chips or chipsets contain proprietary firmware in flash memory. For example, in GTA02 these include the Wi-Fi, GPS, and GSM chipsets. Ideally, we would have liked to use chipsets for which even the firmware code would be free, but they don't exist right now.
So we accepted proprietary firmware, as long as it was in flash or ROM.

Then we ran into problems when bugs were found in the firmware, and we wanted to update handsets out in the field. The vendors would give us firmware updates and reflashing tools, but they wouldn't let us redistribute those tools to our users. We asked for special licenses to allow us to distribute those flashing tools to our users, and got them in some cases, after months of licensing negotiations. Next we discovered that those reflashing tools had further issues: for example, they would only allow loading cryptographically signed firmware into the chipset flash memory. The tools do this because vendors are worried that people would disassemble, patch, and reassemble the firmware, triggering regulatory reclassification of their chipsets (software controlled radio). Furthermore, we see that for upcoming chipsets, vendors are switching from storing the firmware in flash memory to loading the firmware into RAM at run time. One reason for this is that RAM needs less power and is cheaper. In this case the firmware, whether original or updated, has to be loaded each time the device boots, requiring that the binary-only, restrictively licensed firmware updater be included in the OpenMoko distribution.

This got quite frustrating, until we met Richard Stallman last weekend. And he cleared it up for us rather quickly :-)

He suggested we treat any chipset with proprietary firmware as a black-box, a circuit. He suggested we ignore the firmware inside. If the firmware is buggy and the vendor needs the ability to update the firmware, we instead ask the vendor to reduce the firmware to the bare minimum, so that it can be very simple and bug free, and move the rest of the logic into the GPL'ed driver running on the main CPU. This way we completely avoid the issue of distributing proprietary firmware updates and binary firmware updaters with restrictive licensing that load only cryptographically signed firmware.

We liked his advice. It speeds up our decision making and allows us to focus on what we do best: Developing Free Software that is available in full source code, running on the main CPU, that we and anyone else can modify and optimize. There are downsides: We will no longer offer reflashing tools to update proprietary firmware, under any license. For critical firmware bugs, we will accept returns, or in some cases fix the bug in-house.

Maybe you could do something like a ssh in to the phone and update it remotely? This would be a lot easyer than returning devices both for users and openmoko..

We will push vendors to simplify the functionality of their proprietary firmware, so we can implement more of this on the main CPU as Free Software. Maybe some vendors will even open up firmware for Free Software development, that would be the ideal outcome we are working towards.

We hope this helps clarify OpenMoko's current position on proprietary firmware: Ignore them while they stay inside of a chip or chipset, and refuse to touch them. Focus on what Free Software can do.
Feedback and comments are always very welcome.
Best Regards,
Wolfgang

_______________________________________________
OpenMoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community


_______________________________________________
OpenMoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to