Difference between revisions of "Libertas driver"

From ArmadeusWiki
Jump to: navigation, search
(Usage)
(Installation)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The libertas driver is a collection of modules providing support for Marvell Technology Group's Libertas chipsets. On this page we will only detail the setup of the driver for the SDIO interface modules compatible with 88w8686 chipset, used for example on the [[Wireless extension board|APF27's wireless extension board]].
+
The libertas driver is a collection of modules providing support for Marvell Technology Group's Libertas chipsets. On this page we will only detail the setup of the driver for the SDIO interface modules compatible with 88w8686 chipset, used for example on the [[Wireless extension board|APF27's wireless extension board]], the [[APF51Dev]]  or on [[APF27_PPS]] devt board.
  
 
The Linux drivers are available since 2.6.24 kernel, thanks to the community effort to rewrite Marvell's proprietary drivers.
 
The Linux drivers are available since 2.6.24 kernel, thanks to the community effort to rewrite Marvell's proprietary drivers.
  
 
==Installation==
 
==Installation==
Libertas drivers are already installed on your rootfs (if you built it with an APF27 as target). The drivers require a proprietary firmware to be downloaded to the chipset before use. This firmware needs to be manually downloaded and installed:
+
* Libertas drivers are already installed on your rootfs (if you built it with an APF27/PPS/APF51 as target). If not, it's explained [[Talk:Libertas_driver|here]].
* get them from David's Woodhouse linux-firmware git repository:
+
* The drivers require 2 proprietary firmwares to be loaded in the chip before use. If not already present in ''/lib/firmware/'', here is the procedure to follow:
 +
 
 +
===Firmware installation===
 +
* This is done by default on [[APF51]]. For manual installation, please see [[Talk:Libertas_driver|here]]
 
<pre class="host">
 
<pre class="host">
$ cd somewhere_with_free_space/
+
$ make menuconfig
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git linux-firmware_git
+
</pre>
 +
<pre class="config">
 +
Target packages  --->
 +
    Hardware handling  --->
 +
        Firmware  --->
 +
            [*]  linux-firmware --->
 +
                WiFi firmwares  --->
 +
                    [*] Libertas SD 8686 v9
 
</pre>
 
</pre>
* copy them (version v8) to you TFTP directory (here ''/tftpboot/''):
 
 
<pre class="host">
 
<pre class="host">
$ cp linux-firmware_git/libertas/sd8686_v8.bin /tftpboot/
+
$ make
$ cp linux-firmware_git/libertas/sd8686_v8_helper.bin /tftpboot/
+
 
</pre>
 
</pre>
* install them on your target (here 192.168.1.2 is my Host IP address):
+
* reflash your rootfs
<pre class="apf">
+
# mkdir -p /lib/firmware/
+
# cd /lib/firmware/
+
# tftp -g -r sd8686_v8.bin -l sd8686.bin 192.168.1.2
+
# tftp -g -r sd8686_v8_helper.bin -l sd8686_helper.bin 192.168.1.2
+
# ls -al /lib/firmware/
+
drwxr-xr-x    2 root    root            0 Jan  1 01:01 .
+
drwxr-xr-x    4 root    root            0 Dec 30  2009 ..
+
-rw-r--r--    1 root    root      122800 Jan  1 01:00 sd8686.bin
+
-rw-r--r--    1 root    root        2464 Jan  1 01:01 sd8686_helper.bin
+
</pre>
+
 
+
{{Note| You can also try official firmwares got at Marvell website (see Links above)}}
+
  
 
==Usage==
 
==Usage==
 +
* Load driver:
 
<pre class="apf">
 
<pre class="apf">
 
# modprobe libertas_sdio
 
# modprobe libertas_sdio
Line 42: Line 38:
 
libertas: eth1: Marvell WLAN 802.11 adapter
 
libertas: eth1: Marvell WLAN 802.11 adapter
 
</pre>
 
</pre>
If it's not working you can activate debug like this, to report your problem:
+
If it's not working, you can activate debug like this to report your problem:
 
<pre class="apf">
 
<pre class="apf">
 
# modprobe libertas libertas_debug=0xffffffff
 
# modprobe libertas libertas_debug=0xffffffff
 
# modprobe libertas_sdio
 
# modprobe libertas_sdio
 
</pre>
 
</pre>
 +
* Bring up the corresponding network interface:
 +
<pre class="apf">
 +
# ifconfig eth1 up
 +
ADDRCONF(NETDEV_UP): eth1: link is not ready
 +
</pre>
 +
 +
==Going further==
 +
* Now you can use the [[WiFi|general instructions here to setup your WiFi network]] (replace ''wlan0'' with ''eth1'')
  
 
==Links==
 
==Links==
Line 53: Line 57:
 
* [http://wireless.kernel.org/en/users/Drivers/libertas Libertas driver page on wireless.kernel.org]
 
* [http://wireless.kernel.org/en/users/Drivers/libertas Libertas driver page on wireless.kernel.org]
 
* [http://www.marvell.com/drivers/driverDisplay.do?dId=178&pId=38 Marvell webpage to get firmware]
 
* [http://www.marvell.com/drivers/driverDisplay.do?dId=178&pId=38 Marvell webpage to get firmware]
 +
* http://bec-systems.com/site/387/wi2wi-wifi-bt-module-review
 +
 +
[[Category:Linux drivers]]
 +
[[Category:Wireless]]

Latest revision as of 13:08, 21 January 2014

The libertas driver is a collection of modules providing support for Marvell Technology Group's Libertas chipsets. On this page we will only detail the setup of the driver for the SDIO interface modules compatible with 88w8686 chipset, used for example on the APF27's wireless extension board, the APF51Dev or on APF27_PPS devt board.

The Linux drivers are available since 2.6.24 kernel, thanks to the community effort to rewrite Marvell's proprietary drivers.

Installation

  • Libertas drivers are already installed on your rootfs (if you built it with an APF27/PPS/APF51 as target). If not, it's explained here.
  • The drivers require 2 proprietary firmwares to be loaded in the chip before use. If not already present in /lib/firmware/, here is the procedure to follow:

Firmware installation

  • This is done by default on APF51. For manual installation, please see here
$ make menuconfig
Target packages  --->
    Hardware handling  --->
        Firmware  --->
            [*]   linux-firmware  --->
                WiFi firmwares  --->
                    [*] Libertas SD 8686 v9
$ make
  • reflash your rootfs

Usage

  • Load driver:
# modprobe libertas_sdio
lib80211: common routines for IEEE802.11 drivers
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
libertas: 00:19:88:11:2d:b8, fw 0.70.8p0, cap 0x00000000
eth1 (libertas_sdio): not using net_device_ops yet
libertas: eth1: Marvell WLAN 802.11 adapter

If it's not working, you can activate debug like this to report your problem:

# modprobe libertas libertas_debug=0xffffffff
# modprobe libertas_sdio
  • Bring up the corresponding network interface:
# ifconfig eth1 up
ADDRCONF(NETDEV_UP): eth1: link is not ready

Going further

Links