Difference between revisions of "Wl12xx driver"

From ArmadeusWiki
Jump to: navigation, search
(New page: 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== ===L...)
 
Line 93: Line 93:
 
==Links==
 
==Links==
 
[http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator]
 
[http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator]
 +
[http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process]
  
 
[[Category:Linux drivers]]
 
[[Category:Linux drivers]]
 
[[Category:Wireless]]
 
[[Category:Wireless]]

Revision as of 17:08, 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