Marvell microkernel
The microkernel on the Marvell 88W8388 wireless chip is one of 2 to 4 pieces of non-Free user-modifiable software on the XO laptop. (the others being the EC firmware, and possibly the touchpad and keyboard firmware) This is where we explain what needs to be done to create a Free replacement, who is doing it, and what progress we have made.
Problem definition
Richard Stallman, in conversation with Ed Cherlin at the Linux CABAL, said that this driver is the only reason he doesn't support the XO. Ed thinks that support from rms and others who feel the same way is worth some trouble.
Theo de Raadt of OpenBSD is very angry at his lack of a license to redistribute this proprietary firmware module.
"The Marvell chip has very specific features that are essential to us -- stores its routing table in RAM, can forward packets through the mesh at low power while the main CPU is off, etc."-- cjb
- ARM 946E-S processor
- ThreadX, a proprietary microkernel; Marvell does not own this code
- "The 88W8388 is a wireless controller chip made by Marvell. It is part of the unliberated Libertas chip family. Outside of this page, it is undocumented."
Participants
These people have had something to do with the issue, or expressed interest in helping.
- Ed Cherlin is herding the cats on this one.
- Alex Gibson says he has some volunteers to work on it from University of Technology Sydney.
- cjb Chris Ball
- mbletsas
- AlbertCahalan
- bobkeyes
- palfrey
At one time gumstix was said to be interested.
LinuxToGo has a related project.
To Do
We need data and code. Put some links here.
- Microkernel documentation from owner
- Create development environment with ARM cross compiler
- Driver source code: 8388 "libertas" driver from our kernel tree: git://git.infradead.org/users/marcelo/libertas managed by Marcelo Tosatti, discussion
- TinyOS?
- ARM 9 programming reference
- Extract and analyze firmware object code
Do we need an NDA from Marvell?
There appears to be no documentation of this chip on the Marvell Web site. They say that it is still in OEM sampling, and a developer's kit is available. OK, who has the kit?
History
- Bug 46 Eliminate dependency on licensed code in Marvell firmware
- Bug 429 wireless firmware not in-house
- The proprietary firmware implements an interface (Firmware Spec) which the Linux driver uses.
- Bug 2177 Need a document describing supported firmware features Includes errata for Marvell interface manual.
- Open-Source Substandard? thread
- Marvell's proprietary code and license including no-reverse-engineer clause "except to the extent that such restrictions are prohibited by applicable law."
- Discussions by the Jem Report with Richard M. Stallman (FSF) and Theo de Raadt (OpenBSD). TdR takes a much harder line against this non-free software module than rms does.