Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

How to setup Marvell 88w8686 SDIO wifi

979 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
</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:
From: http: echo ''LBS_DEBUG_FLAGS'' &gt; /sys/wiki.laptop.orgmodule/golibertas/Libertas_Debugparameters/libertas_debug
To enable debug on You can calculate the wireless value for ''LBS_DEBUG_FLAGS'' using the table bellow (libertas) driver just add up the values for the flags you may write want to the libertas_debug '/sys' file: echo <i>LBS_DEBUG_FLAGS</i> > /sys/module/libertas/parameters/libertas_debugactivate).
You can calculate the {| 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 <i>LBS_DEBUG_FLAGS</i> using 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 table bellow 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" | (just add up the values for the flags you want to activate*)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)|}
<table border="1" cellpadding="2" cellspacing="2"br>Example:<trbr><th>Debug Flag Name</th><th>Flag Hex value</th><th>DescriptionTo activate scanning (*LBS_DEB_SCAN)</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>, associating (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>), command (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>host (*LBS_DEB_HOST) 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>
echo 0x6180 &gt; /sys/module/libertas/parameters/libertas_debug
Example:<br>To activate scanning (LBS_DEB_SCAN), associating (LBS_DEB_ASSOC), The output will be post to the kernel ring buffer. You can display it with the dmesg command (LBS_DEB_CMD) and host (LBS_DEB_HOST): echo 0x6180 > /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=WPA2key_mgmt=WPA-PSKpairwise=CCMP</pre>  Then modify /etc/network/interfaces  Add the next lines (replace wlan0 by your wifi interface): <pre>auto wlan0iface wlan0 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 -iwlan0 -c/etc/wpa_supplicant.conf -d</pre>
= See also =
*[[How to setup Marvell bluetooth]]
*[[Using IGEP WLAN to communicate]]
[[Category:How to forge|WirelessWifi]]
0
edits