Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

How to setup Marvell 88w8686 SDIO wifi

4,063 bytes added, 16:40, 16 July 2014
no edit summary
== How to setup Marvell 88w8686 SDIO wifi ==
=== Overview of How-To ===This How-To is meant to be a starting point for people to learn setup the wifi on IGEP v2 devices as quickly and easily as possible.
=== Feedback and Contributing ===At any point, if you see a mistake you can contribute to this This How-Tois meant to be a starting point for people to learn setup the wifi on IGEP v2 devices as quickly and easily as possible.
=== Setup basics Feedback and Contributing ===
*libertas: Marvell Libertas 8385/8686/8688 SDIO 802At any point, if you see a mistake you can contribute to this How-To.11b/g card*firmware: 9.70.3p24 ( download from http://extranet.marvell.com/drivers/driverDisplay.do?driverId=203 )
SDIO card should be showed after the image is downloaded to the board.=== Setup basics ===
<pre>mmc1*libertas: new Marvell Libertas 8385/8686/8688 SDIO 802.11b/g card at address 0001<*firmware: 9.70.3p24 ( download from http:/pre>/www.marvell.com/support/downloads/search.do ; choose platform Linux 2.6 and download SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL )The This zip archive contains other tarballs ; one of them is named SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar and contains a FwImage directory. Inside are the two firmware binaries images. You will need to rename helper_sd.bin as sd8686_helper.bin and sd8686.bin should be put both firmware in the lib/firmware (or, as you wish, in lib/firmware /libertas) directoryof your target root filesystem.
To make SDIO card should be showed after the image is downloaded to the board. <pre>mmc1: new SDIO WIFI module work load the libertas_sdio modulecard at address 0001</pre>
To make the SDIO WIFI module work load the libertas_sdio module (assuming you built it as module)<pre># modprobe libertas_sdio
libertas_sdio: Libertas SDIO driver
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth1: Marvell WLAN 802.11 adapter
</pre>
Now you can connect this wifi module to an AP. First NOTE: I did not see any of all, youthe above output when I modprobe'll check if your devices is detectedd libertas_sdio on a 2.6.35-rc6 kernel.
Now you can connect this wifi module to an AP. First of all, you'll check if your devices is detected. <pre># iwconfig
eth1 IEEE 802.11b/g ESSID:""
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
</pre>Next, you will set up the interface <pre># ifconfig eth1 up
eth1 Link encap:Ethernet HWaddr 00:13:E0:C3:0C:3C
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
</pre>and you can scan for an AP <pre># iwlist eth1 scan
Cell 04 - Address: 00:18:84:81:46:E2
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
</pre>Now, is time to associate to your AP <pre># iwconfig eth1 txpower auto essid MyPlace channel 4
eth1 IEEE 802.11b/g ESSID:"MyPlace"
Rx invalid nwid:0 Rx invalid crypt:3109 Rx invalid frag:0
Tx excessive retries:13 Invalid misc:3315 Missed beacon:0
</pre>and get and ip address <pre># udhcpc -i eth1
udhcpc (v1.9.1) started
Sending discover...
Lease of 192.168.10.216 obtained, lease time 43200
adding dns 192.168.10.1
</pre>Last, you can test the network interface. <pre># ping -c 1 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
round-trip min/avg/max = 16.327/16.327/16.327 ms
</pre>
 
== How to debug the libertas driver ==
 
From: http://wiki.laptop.org/go/Libertas_Debug
 
To enable debug on the wireless (libertas) driver you may write to the libertas_debug '/sys' file:
 
echo ''LBS_DEBUG_FLAGS'' &gt; /sys/module/libertas/parameters/libertas_debug
 
You can calculate the value for ''LBS_DEBUG_FLAGS'' using the table bellow (just add up the values for the flags you want to activate).
 
{| cellspacing="2" cellpadding="2" border="1"
|-
! Debug Flag Name
! Flag Hex value
! Description(*)
|-
| LBS_DEB_ENTER
| 0x00000001
| function entrance
|-
| LBS_DEB_LEAVE
| 0x00000002
| function exit
|-
| LBS_DEB_MAIN
| 0x00000004
| main libertas library code
|-
| LBS_DEB_NET
| 0x00000008
| interaction with network subsystem
|-
| LBS_DEB_MESH
| 0x00000010
| wireless mesh network
|-
| LBS_DEB_WEXT
| 0x00000020
| interaction with wireless extensions
|-
| LBS_DEB_IOCTL
| 0x00000040
| misc IOCTLs
|-
| LBS_DEB_SCAN
| 0x00000080
| scanning for APs
|-
| LBS_DEB_ASSOC
| 0x00000100
| associating ton an AP
|-
| LBS_DEB_JOIN
| 0x00000200
| joining an IBSS?
|-
| LBS_DEB_11D
| 0x00000400
| 802.11d country settings
|-
| LBS_DEB_DEBUGFS
| 0x00000800
| interaction with the debugfs subsystem
|-
| LBS_DEB_ETHTOOL
| 0x00001000
| interaction with ethtool subsystem
|-
| LBS_DEB_HOST
| 0x00002000
| communication between host and wlan chip
|-
| LBS_DEB_CMD
| 0x00004000
| command and response processing
|-
| LBS_DEB_RX
| 0x00008000
| packet reception
|-
| LBS_DEB_TX
| 0x00010000
| packet transmission
|-
| LBS_DEB_USB
| 0x00020000
| interaction with USB subsystem
|-
| LBS_DEB_CS
| 0x00040000
| interaction with card services subsystem
|-
| LBS_DEB_FW
| 0x00080000
| firmware downloading
|-
| LBS_DEB_THREAD
| 0x00100000
| main libertas worker thread
|-
| LBS_DEB_HEX
| 0x00200000
| turn on detailed hex dumps
|-
| LBS_DEB_SDIO
| 0x00400000
| interaction with SDIO subsystem
|-
| colspan="3" | (*) Description taken from [http://git.infradead.org/?p=users/schurig/libertas-tools.git;a=blob_plain;f=lbsdebug/lbsdebug.c;hb=master lbsdebug.c] (by Holger Schurig)
|}
 
<br> Example:<br> To activate scanning (LBS_DEB_SCAN), associating (LBS_DEB_ASSOC), command (LBS_DEB_CMD) and host (LBS_DEB_HOST):
 
echo 0x6180 &gt; /sys/module/libertas/parameters/libertas_debug
 
The output will be post to the kernel ring buffer. You can display it with the dmesg command:
 
dmesg
 
You can also use the lbsdebug tool, from Holger Shurig, git tree available [http://git.infradead.org/?p=users/schurig/libertas-tools.git;a=blob_plain;f=lbsdebug/lbsdebug.c;hb=master here].
 
== How to get WIFI active upon system start (using a WPA2 access-point) ==
 
Tested configuration:
*IGEP v2 board
*Ubuntu Linux provided on the SD-card
*WIFI access point with WPA-PSK encryption method.
 
 
Basically you have to create/modify two files:
 
#create file /etc/wpa_supplicant.conf
#modify /etc/network/interfaces
 
Here are the details.
 
 
To create /etc/wpa_supplicant.conf do:
 
<pre>wpa_passphrase "your SSID" yourPassword &gt; /etc/wpa_supplicant.conf</pre>
 
Now add the following lines at the end of this file:
 
<pre>proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP</pre>
 
Then modify /etc/network/interfaces
 
Add the next lines (replace wlan0 by your wifi interface):
<pre>auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf</pre>
 
To check if your /etc/wpa_supplicant.conf file is correct you can type
 
<pre>wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -d</pre>
 
= See also =
*[[How to setup Marvell bluetooth]]
*[[Using IGEP WLAN to communicate]]
 
[[Category:Wifi]]
0
edits