Project

General

Profile

WiFiResearch » History » Version 33

Denis 'GNUtoo' Carikli, 02/03/2016 04:16 PM

1 1 Denis 'GNUtoo' Carikli
h1. WiFi
2
3 27 Denis 'GNUtoo' Carikli
h2. Issue
4 28 Denis 'GNUtoo' Carikli
5
On desktops and laptops, several WiFi chips don't require non-free firmwares to be loaded.
6 27 Denis 'GNUtoo' Carikli
7
Several cases exist:
8
* The WiFi chip doesn't need a firmware, and the driver talks directly to the hardware (ath5k and ath9k compatible chips)
9
* The WiFi chip has a free software firmware (ath9k_htc, carl1970, and some b43 compatible chips)
10
* The WiFi chip has a non-free firmware in a flash chip and don't need loadable firmware.
11
12 29 Denis 'GNUtoo' Carikli
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.
13
14 31 Denis 'GNUtoo' Carikli
The idea here is to find ways to still get WiFi on Replicant Supported devices, without needing to load any non-free firmware.
15
16
h2. WiFi Drivers and Firmwares types
17
18
Either the firmware implements the WiFi operations (scanning, association, and so on), either the driver implements it.
19
20
h3. Firmware implementing the WiFi operations
21
22 32 Denis 'GNUtoo' Carikli
This is also known as Hard-MAC. 
23
An easy way to find out is to look into the WiFi driver Kconfig for "select CFG80211" or "depends CFG80211"
24
25
Example:
26 33 Denis 'GNUtoo' Carikli
<pre>
27
config LIBERTAS
28
        tristate "Marvell 8xxx Libertas WLAN driver support"
29
        depends on CFG80211
30
[...]
31
</pre>
32 31 Denis 'GNUtoo' Carikli
33
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.
34
35
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.
36
37 32 Denis 'GNUtoo' Carikli
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.
38 31 Denis 'GNUtoo' Carikli
39
h3. Driver implementing the WiFi operations
40
41
42
43 4 Denis 'GNUtoo' Carikli
h2. Summary of devices currently targeted by Replicant
44
45 24 Denis 'GNUtoo' Carikli
|_. Device |_. WiFi chip |_. driver(s) |_. USB OTG Host |
46
|/2. GTA04 |/2. Marvell 8686 (W2CBW003) | libertas_sdio(mainline, cfg80211) | Yes(?mA) |
47 26 Denis 'GNUtoo' Carikli
| libertas_tf_sdio(patches, mac80211) |
48 4 Denis 'GNUtoo' Carikli
|/2. LG Optimus Black |/2. Broadcom BCM4329 |/2. | Yes(?mA) |
49 23 Denis 'GNUtoo' Carikli
50 1 Denis 'GNUtoo' Carikli
h2. Internal WiFi chips on devices currently targeted by Replicant
51 2 Denis 'GNUtoo' Carikli
52 1 Denis 'GNUtoo' Carikli
h2. Available Internal WiFi chips for smartphones and tablets
53
54 27 Denis 'GNUtoo' Carikli
h2. External Wifi solution