Wl12xx driver: Difference between revisions

From ArmadeusWiki
No edit summary
Line 1: Line 1:
The wl12xx driver is used by the Wifi / BT chip present on the APF6Dev board. Before using the wifi, you have to calibrate the chip. This page details how to do it.
The wl12xx driver is used by the Wifi / BT chip present on the [[APF6Dev]] board. Before using the wifi, you have to calibrate the chip. This page details how to do it.


==Installation==
==Installation==
Line 6: Line 6:


* Be sure to have CONFIG_NL80211_TESTMODE enabled.
* Be sure to have CONFIG_NL80211_TESTMODE enabled.
<pre>
<pre class="config">
Networking support --->
Networking support --->
  Wireless --->
  Wireless --->
Line 17: Line 17:
* You need the calibrator tool from the ti-utils package.
* You need the calibrator tool from the ti-utils package.


<pre>
<pre class="config">
Target package --->
Target package --->
  Hardware handling --->
  Hardware handling --->

Revision as of 17:23, 28 January 2014

The wl12xx driver is used by the Wifi / BT chip present on the APF6Dev board. Before using the wifi, you have to calibrate the chip. This page details how to do it.

Installation

Linux

  • Be sure to have CONFIG_NL80211_TESTMODE enabled.
Networking support --->
 Wireless --->
  <*> cfg80211 - wireless configuration API
   [*] nl80211 testmode command

Buildroot

  • You need the calibrator tool from the ti-utils package.
Target package --->
 Hardware handling --->
  [*] ti-utils

Calibration

  • Use the calibrator tool to generate the new calibration data. This will generate a file called new-nvs.bin.
# calibrator set ref_nvs /usr/share/ti-utils/ini_files/127x/TQS_S_2.6.ini
  • Copy the file to the right place.
# cp new-nvs.bin /lib/firmware/ti-connectivity/wl1271-nvs.bin
  • Load the wl12xx driver.
# modprobe wl12xx
# modprobe wlcore_sdio
wlcore: loaded
  • Calibrate the chip.
# calibrator plt calibrate dual
wlcore: power up
wlcore: firmware booted in PLT mode PLT_ON (PLT 6.3.10.0.133)
wlcore: testmode cmd: radio status=0

The path to NVS file not provided, use default (/lib/firmware/ti-connectivity/wl1271-nvs.bin)
wlcore: power down
  • Unload the driver
# rmmod wlcore_sdio
  • Reset the chip. (or reboot the board)
# echo 40 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio40/direction
mmc0: card 0001 removed
# echo 1 > /sys/class/gpio/gpio40/value
sdhci-esdhc-imx 2190000.usdhc: card claims to support voltages below defined range
mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
mmc0: new SDIO card at address 0001
  • Set a MAC address.
# calibrator set nvs_mac /lib/firmware/ti-connectivity/wl1271-nvs.bin 00:1E:AC:00:51:22
  • Load the driver.
# modprobe wlcore_sdio
  • Power up the wireless interface.
# ifconfig wlan0 up
wlcore: firmware booted (Rev 6.3.10.0.133)
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Congratulations ! Your chip is calibrated. :)

Going further

Links

http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator

http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process