WiFi support in OpenMoko
OpenMoko and WiFi
The OpenMoko project would love to add WiFi support to any the devices on the roadmap.
However, we simply are unable to locate a supplier with a suitable product!
Public call for WiFi
From this mailinglist posting:
We can't find a WiFi Chipset with GPL'ed drivers -- We know this has been discussed (to death) on this list, but as we're beginning work on the next summer hardware refresh we still can't seem to find a vendor that meets our strict requirements: Namely, we refuse to put anything binary in the kernel. Marvell has some nice for larger devices (the 8388). But we need one specifically for mobile phones (like the 8686). If somebody can help us find the right vendor, we'll give you a free Neo1973. If you're a vendor and want to work with us to GPL your driver, we'll give you lots of business -- and a free phone ;-)
Regular chipsets are NOT suitable
Please notice that it is impossible for us to use any of the standard desktop WiFi chipsets, commonly found in miniPCI cards or USB WiFi adapters.
We really need a chipset (and even beyond that: Somebody manufacturing SMT modules with that chipset) that is specifically targetted for mobile phones or other mobile devices such as portable media players.
Regular WiFi chipsets just draw way too much power and are too large by an order of magnitude.
List of available WiFi modules for mobile phone usage
- WLAN6100EB — IEEE 802.11g/b Chip Scale Module
- WLAN6061EB — IEEE 802.11b Embedded Module
According to some unofficial sources they use the Prism 3 chipset. SyChip states they support Linux.
NOTE: The Palm LifeDrive uses the SyChip 6061 chipset. several people have extracted the firmware that is being loaded from the driver into the 6061 chip. all indications are that the 6061 is actually using the firmware for the Marvell Libertas 88w8305 chipset. additionally, looking at some firmware for the 6100 series, seems to conclude that it is using the firmware for the Marvell Libertas 88w8385 chipset.
- CX53121 — Single-Chip 802.11a/b/g with SPI Interface.
In this article, they say Conexant Systems supports Linux.
BCM4326 is a low power device that is said to be linux friendly as per this document
Also, the bcm43xx project could provide a Free driver if Broadcom isn't willing.
- WiLink 6.0 (WL1271/WL1273) — mWLAN / Bluetooth / FM transmit and receive Chip solution WiLink 6.0
- WiLink 5.0 (WL1251/WL1253) — mWLAN / Bluetooth / FM receive Module solution WiLink 5.0
The Product literature claims to be Linux compatible
ACX 100 has reverse-engineered GPL drivers, and has done for several years. it is a wifi 802.11 chipset from TI that has been used for several years in the HTC smartphone products, including the HTC-designed iPAQs (HTC designs all of Compaq/HP's iPAQs)
I assume that you are happy to have binary-only firmware uploaded to turn chips into actual useful products.
Editing WiFi support in OpenMoko (section) - OpenMokoure/9397/75015597.pdf BGW200 Low-power WLAN 802.11b SiP]
The Product literature mentions reference design software support for Linux operating system.
Key Stream Corporation
Based in Japan. Linux support unknown. Has a few "low power" chips. Most useful info in Japanase. English site: http://www.keystream.co.jp/en/
ZyDAS ZD1211 chipset
ZyDAS ZD1211 is a chipset designed to work with small power consumption. It fits the power supply from USB and is used by many USB wifi adapters. Interestingly, it supports "access point mode" which allows other adapters to connect to.
Chipset specifications: * 802.11a/b/g support (few sticks support 802.11a though) * USB 2.0 support (802.11b only on USB 1.1) * typical current consumption: 150mA (idle), 200mA (sending) * WEP64/128/256, WPA-PSK * Station and Ad hoc mode
The source code of the driver was initially contributed by ZyDAS under the GPL license, the ZD1211 Linux driver is maintained by the open source community.
Comunity site of the driver: http://zd1211.ath.cx/
List of chipset vendors who are known to be at least partially GPL friendly
Libertas (includes the 88w8305,88w8381,88w8385 and 88w8388)
According to prplague on #openmoko, Zcomax XG-880M module might fit the requirements.
Embedded Works provides SMD versions of 88w8385 which are 9.6x9.6x1.7 mm big.
The new RT2501 Wireless Chipset from Ralink seems to have been released with GPL drivers. Ralink is very active in the Linux community, and provides source code for many of its client drivers to developers. Moreover esists an rt2x00 Open Source Project on Sourceforge aiming to create a stable and feature rich Linux driver for wireless 802.11b and 802.11g cards that are based on the Ralink rt2400 and rt2500 chipsets. This chipset has many interesting features as: Bluetooth Co-existence, Low Power with Advanced Power Management, Linux AP Driver.
The AR6K has a GPL host driver available today. The firmware that runs on the AR6K is quite closed, but that's the case with most any of these radios. No binary modules would need to be run in the kernel. A company called Card Access Inc. sells dev boards and kits and provides commercial support for the AR6K.
This sounds like a really great device
These guys have a have a mobile WiFi solution;
and they do state that they support Linux;
however, they don't say whether it is GPL'd but it might be worth checking out.
ST Electronics, headquartered in Switzerland, also has a radio on chip solution it says on:
Three chipsets that may work, STLC4550(single band b/g), STLC4420(dual band a/b/g) and STLC4370(single band b/g). Press release state "ST offers manufacturers a complete WLAN hardware and software solution, with source code in house"..."operating systems including" ..."Linux" http://www.st.com/stonline/stappl/press/news/year2006/p2020.htm
Interesting to add to the other options: The STLC4420 seems to be priced at $9 a per unit on buying 100k units.
It seems that STLC4550 is a derivative of Conexant CX3110x as dmesg from Nokia Maemo devices show the following:
<4>[ 5.223236] CX3110x chip variant: STLC4550 <4>[ 5.305053] CX3110x: firmware version: 18.104.22.168.a.22.1 <4>[ 5.320709] Loaded CX3110x driver, version 0.8 "
whereas CX3110x is a Conexant's 802.11 b/g embedded chipset for which they have a driver at https://garage.maemo.org/projects/cx3110x/ which supposedly is GPL.
However: Just above the dmesg output cited above there's the following line
<4>[ 5.064849] umac: module license 'Proprietary' taints kernel.
and umac likely is needed for cx3110x to work.
related to entry above is http://www.conexant.com/products/entry.jsp?id=375 (CX53111)
An inquiry on #maemo yields bad news:
<buz> i'm wondering about the cx3110c driver <buz> is that fully opensource now?or does it still need proprietary modules? <neal> the latter
But see http://maemo.org/pipermail/maemo-developers/2006-April/003575.html and http://prism54.org/freemac.html for reverse engineered GPL drivers for some Conexant cards.
On June 2006 was released also a CX53121 chipset with an ultra low-power consumption probably (in the words of the company) supporting Linux. This is a 68 square millimeter single chip solution so it's a good solution for a mobile device.