Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2887637
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2011-05-16 16:26:46

Contents[hide]
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 How-To.

Setup basics
  • libertas: Marvell Libertas 8385/8686/8688 SDIO 802.11b/g card
  • firmware: 9.70.3p24 ( download from )

SDIO card should be showed after the image is downloaded to the board.

mmc1: new SDIO card at address 0001

The firmware binaries sd8686_helper.bin and sd8686.bin should be in /lib/firmware directory.

NOTE: It appears that the helper file is named differently in newer versions of the firmware (helper_sd.bin). I renamed it to "sd8686_helper.bin". Also, the following command assumes that you have compiled the libertas driver as a module. If you use the "igep0020_defconfig" during kernel compilation, you will want to menuconfig and make libertas a module instead of a built in kernel.

To make the SDIO WIFI module work load the libertas_sdio module

# modprobe libertas_sdio 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:13:e0:c3:0c:3c, fw 9.70.3p24, cap 0x00000303 libertas: unidentified region code; using the default (USA) libertas: PREP_CMD: command 0x00a3 failed: 2 libertas: PREP_CMD: command 0x00a3 failed: 2 libertas: eth1: Marvell WLAN 802.11 adapter

NOTE: I did not see any of the above output when I modprobe'd 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.

# iwconfig eth1 IEEE 802.11b/g ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Bit Rate:0 kb/s Tx-Power=18 dBm Retry short limit:8 RTS thr=2347 B Fragment thr=2346 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Next, you will set up the interface

# ifconfig eth1 up eth1 Link encap:Ethernet HWaddr 00:13:E0:C3:0C:3C UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

and you can scan for an AP

# iwlist eth1 scan Cell 04 - Address: 00:18:84:81:46:E2 ESSID:"MyPlace" Mode:Managed Frequency:2.427 GHz (Channel 4) Quality=100/100 Signal level=-39 dBm Noise level=-96 dBm Encryption key:off Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s 11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s 48 Mb/s; 54 Mb/s

Now, is time to associate to your AP

# iwconfig eth1 txpower auto essid MyPlace channel 4 eth1 IEEE 802.11b/g ESSID:"MyPlace" Mode:Managed Frequency:2.427 GHz Access Point: 00:18:84:81:46:E2 Bit Rate:0 kb/s Tx-Power=13 dBm Retry short limit:8 RTS thr=2347 B Fragment thr=2346 B Encryption key:off Power Management:off Link Quality=97/100 Signal level=-43 dBm Noise level=-94 dBm Rx invalid nwid:0 Rx invalid crypt:3109 Rx invalid frag:0 Tx excessive retries:13 Invalid misc:3315 Missed beacon:0

and get and ip address

# udhcpc -i eth1 udhcpc (v1.9.1) started Sending discover... Sending select for 192.168.10.216... Lease of 192.168.10.216 obtained, lease time 43200 adding dns 192.168.10.1

Last, you can test the network interface.

# ping -c 1 192.168.10.1 PING 192.168.10.1 (192.168.10.1): 56 data bytes 64 bytes from 192.168.10.1: seq=0 ttl=64 time=16.327 ms --- 192.168.10.1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 16.327/16.327/16.327 ms How to debug the libertas driver

From:

To enable debug on the wireless (libertas) driver you may write to the libertas_debug '/sys' file:

echo LBS_DEBUG_FLAGS > /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).

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
(*) Description taken from (by Holger Schurig)


Example:
To activate scanning (LBS_DEB_SCAN), associating (LBS_DEB_ASSOC), 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 .

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:

  1. create file /etc/wpa_supplicant.conf
  2. modify /etc/network/interfaces

Here are the details.


To create /etc/wpa_supplicant.conf do:

wpa_passphrase "your SSID" yourPassword > /etc/wpa_supplicant.conf

Now add the following lines at the end of this file:

proto=WPA2 key_mgmt=WPA-PSK pairwise=CCMP

Then modify /etc/network/interfaces

Change the line

auto eth0 into #auto eth0

Add the next lines (replace eth2 by your wifi interface):

iface eth2 inet dhcp wpa-conf /etc/wpa_supplicant.conf

To check if your /etc/wpa_supplicant.conf file is correct you can type

wpa_supplicant -ieth2 -c/etc/wpa_supplicant.conf -d(come from )http://huangjianming31.blog.163.com/blog/static/34740871201082682735715/
阅读(1509) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~