WiFi

Issue

On desktops and laptops, several WiFi chips don't require non-free firmwares to be loaded.

Several cases exist:

On phones, the only WiFi chip that don't requires a non-free firmware that we know of is the OpenMoko FreeRunner wifi chip. The firmware is in a flash chip.

The idea here is to find ways to still get WiFi on Replicant Supported devices, without needing to load any non-free firmware.

WiFi Drivers and Firmwares types

Either the firmware implements the WiFi operations (scanning, association, and so on), either the driver implements it.

Firmware implementing the WiFi operations

This is also known as Hard-MAC.
An easy way to find out is to look into the WiFi driver Kconfig for "select CFG80211" or "depends CFG80211"

Example:
config LIBERTAS
tristate "Marvell 8xxx Libertas WLAN driver support"
depends on CFG80211
[...]

If it is implemented by the firmware, it often contains bugs which cannot be fixed by the community. That also severally limit the use case of such WiFi chip beyond its most common uses cases.

This can result in more help in getting a free software firmware to run on such chip. However the amount of work to re-implement such firmware may be bigger.

The best way to reimplement it would be to write a new driver taking care of such WiFi operations and to make the fimrware do the smallest amount of work possible.

Driver implementing the WiFi operations

Summary of devices currently targeted by Replicant

Device WiFi chip driver(s) USB OTG Host
GTA04 Marvell 8686 (W2CBW003) libertas_sdio(mainline, cfg80211) Yes(?mA)
libertas_tf_sdio(patches, mac80211)
LG Optimus Black Broadcom BCM4329 Yes(?mA)

Internal WiFi chips on devices currently targeted by Replicant

Available Internal WiFi chips for smartphones and tablets

External Wifi solution