Wl12xx driver

From ArmadeusWiki
Jump to: navigation, search

The wl12xx driver is used by the Wi-Fi/Bluetooth chip present on the APF6 module. Before using the Wi-Fi, you have to calibrate the chip. This page details how to do it.

Installation

  • On APF6, all needed tools/drivers are installed by default. You can directly switch to calibration.

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

Note Note: Following instructions are only needed the first time after you flashed your rootfs.


To calibrate the chip use the S30wifi script with a MAC address

# /etc/init.d/S30wifi calibrate 00:1E:AC:00:51:22
Calibrating
wlcore: down
mmc0: card 0001 removed
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
wl1271_sdio mmc0:0001:2: legacy platform data not found, trying device tree
wlcore: loaded
mmc0: card 0001 removed
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
wl1271_sdio mmc0:0001:2: legacy platform data not found, trying device tree
wlcore: loaded
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
mmc0: card 0001 removed

Daily use

  • The WiFi is started automatically at boot thanks to the /etc/init.d/S30wifi script.
  • To stop the WiFi
# /etc/init.d/S30wifi stop
wlcore: down
mmc0: card 0001 removed
  • To start the Wifi
# /etc/init.d/S30wifi start
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
wl1271_sdio mmc0:0001:2: legacy platform data not found, trying device tree
wlcore: loaded
mmc0: card 0001 removed
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
wl1271_sdio mmc0:0001:2: legacy platform data not found, trying device tree
wlcore: loaded
wlcore: firmware booted (Rev 6.3.10.0.133)
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Going further

Tips

  • To have more debug messages of firmware loading/boot process, one may load drivers this way:
# modprobe wlcore debug_level=4; modprobe wl12xx; modprobe wlcore_sdio

Links