Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

How to setup Marvell 88w8686 SDIO wifi

461 bytes added, 18:13, 20 July 2010
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 ===
At any point, if you see a mistake you can contribute to this How-To.  === Setup basics === *libertas: Marvell Libertas 8385/8686/8688 SDIO 802.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. <pre>mmc1: new SDIO card at address 0001</pre>
The firmware binaries sd8686_helper.bin and sd8686.bin should be in /lib/firmware directory.
To make the SDIO WIFI module work load the libertas_sdio 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 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
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 16.327/16.327/16.327 ms
</pre>== How to debug the libertas driver ==
== How to debug the libertas driver ==From: http://wiki.laptop.org/go/Libertas_Debug
FromTo enable debug on the wireless (libertas) driver you may write to the libertas_debug '/sys' file: http://wiki.laptop.org/go/Libertas_Debug
To enable debug on the wireless (libertas) driver you may write to the libertas_debug echo '/sys' file: echo <i>LBS_DEBUG_FLAGS</i> > '' &gt; /sys/module/libertas/parameters/libertas_debug
You can calculate the value for <i>''LBS_DEBUG_FLAGS</i> '' using the table bellow (just add up the values for the flags you want to activate).
<table border{| cellspacing="12" cellpadding="2" cellspacingborder="21"><tr><th>|-! Debug Flag Name</th><th>! Flag Hex value</th><th>! Description(*)</th></tr><tr><td>|-| LBS_DEB_ENTER</td><td>| 0x00000001<td>| function entrance</td><tr><td>|-| LBS_DEB_LEAVE</td><td>| 0x00000002<td>| function exit</td></tr><tr><td>|-| LBS_DEB_MAIN</td><td>| 0x00000004<td>| main libertas library code</td></tr><tr><td>|-| LBS_DEB_NET</td><td>| 0x00000008<td>| interaction with network subsystem</td></tr><tr><td>|-| LBS_DEB_MESH</td><td>| 0x00000010<td>| wireless mesh network</td></tr><tr><td>|-| LBS_DEB_WEXT</td><td>| 0x00000020<td>| interaction with wireless extensions</td></tr><tr><td>|-| LBS_DEB_IOCTL</td><td>| 0x00000040<td>| misc IOCTLs</td></tr><tr><td>|-| LBS_DEB_SCAN</td><td>| 0x00000080<td>| scanning for APs</td></tr><tr><td>|-| LBS_DEB_ASSOC</td><td>| 0x00000100<td>| associating ton an AP</td></tr><tr><td>|-| LBS_DEB_JOIN</td><td>| 0x00000200<td>| joining an IBSS?</td></tr><tr><td>|-| LBS_DEB_11D</td><td>| 0x00000400<td>| 802.11d country settings</td></tr><tr><td>|-| LBS_DEB_DEBUGFS</td><td>| 0x00000800<td>| interaction with the debugfs subsystem</td></tr><tr><td>|-| LBS_DEB_ETHTOOL</td><td>| 0x00001000<td>| interaction with ethtool subsystem</td></tr><tr><td>|-| LBS_DEB_HOST</td><td>| 0x00002000<td>| communication between host and wlan chip</td></tr><tr><td>|-| LBS_DEB_CMD</td><td>| 0x00004000<td>| command and response processing</td></tr><tr><td>|-| LBS_DEB_RX</td><td>| 0x00008000<td>| packet reception</td></tr><tr><td>|-| LBS_DEB_TX</td><td>| 0x00010000<td>| packet transmission</td></tr><tr><td>|-| LBS_DEB_USB</td><td>| 0x00020000<td>| interaction with USB subsystem</td></tr><tr><td>|-| LBS_DEB_CS</td><td>| 0x00040000<td>| interaction with card services subsystem</td></tr><tr><td>|-| LBS_DEB_FW</td><td>| 0x00080000<td>| firmware downloading</td></tr><tr><td>|-| LBS_DEB_THREAD</td><td>| 0x00100000<td>| main libertas worker thread</td></tr><tr><td>|-| LBS_DEB_HEX</td><td>| 0x00200000<td>| turn on detailed hex dumps</td></tr><tr><td>|-| LBS_DEB_SDIO</td><td>| 0x00400000<td>| interaction with SDIO subsystem</td></tr><tr><td |-| 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)</td></tr></table>|}
<br> Example:<br> To activate scanning (LBS_DEB_SCAN), associating (LBS_DEB_ASSOC), command (LBS_DEB_CMD) and host (LBS_DEB_HOST):
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:
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 v3 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=WPA2key_mgmt=WPA-PSKpairwise=CCMP</pre>  Then modify /etc/network/interfaces  Change the line <pre>auto eth0 into #auto eth0</pre> Add the next lines (replace eth2 by your wifi interface): <pre>iface eth2 inet dhcpwpa-conf /etc/wpa_supplicant.conf</pre>
To check if your /etc/wpa_supplicant.conf file is correct you can type
<pre>wpa_supplicant -ieth2 -c/etc/wpa_supplicant.conf -d</pre>
[[Category:How to forgeHow_to_forge|Wireless]]
0
edits