This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x StarterKit WL1271 Calibration Instructions

Other Parts Discussed in Thread: WL1271
 
Command Format:
   
    calibrator plt autocalibrate <dev> <kernel mod> <ini> <nvs> <mac>
 
Instructions:
1. Remove (and/or back up) existing calibration file
 
    mv -f /lib/firmware/ti-connectivity/wl1271-nvs.bin /lib/firmware/ti-connectivity/wl1271-nvs.bin.bck
 
2. Disconnect WiLink module by removing SDIO driver module
 
     ifconfig wlan0 down  rmmod wl12xx_sdio.ko
 
3. Perform calibration - this command uses the ini for the murata module on the AM335x starterkit
 
    calibrator plt autocalibrate wlan0 /lib/modules/$(uname -r)/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko /usr/share/ti/wifi-utils/ini_files/127x/TQS_S_2.6.ini /lib/firmware/ti-connectivity/wl1271-nvs.bin 10:20:30:40:50:60
 
4. Reconnect SDIO module by loading driver module
 
    modprobe wl12xx_sdio   5. Bring up Interface and test WLAN
    ifconfig wlan0 up  iw wlan0 scan
 
 
Sample Output running on SDK 6.0.0 on the Starterkit:
 
 root@am335x-evm:~# mv -f /lib/firmware/ti-connectivity/wl1271-nvs.bin /lib/firmware/ti-connectivity/wl1271-nvs.bin.bck  
root@am335x-evm:~# ifconfig wlan0 down  [ 3771.523559] wl12xx: removing interface 00:18:32:ba:e6:ea root@am335x-evm:~# rmmod wl12xx_sdio.ko  
root@am335x-evm:~# calibrator plt autocalibrate wlan0 /lib/modules/$(uname -r)/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko /usr/share/ti/wifi-utils/ini_files/127x/TQS_S_2.6.ini /lib/firmware/ti-connectivity/wl1271-nvs.bin 10:20:30:40:50:60  
[ 3785.273010] wl12xx: loaded  
[ 3785.277008] wl12xx: power up  
[ 3785.731628] wl12xx: firmware booted in PLT mode (PLT 6.3.10.0.135)  Using nvs version 2.1  Calibrate /lib/firmware/ti-connectivity/wl1271-nvs.bin  Writing calibration data to /lib/firmware/ti-connectivity/wl1271[ 3785.805938] wl12xx: power down  -nvs.bin  Writing mac address 00:00:00:00:00:00 to file /lib/firmware/ti-connectivity/wl1271-nvs.bin  Calibration done. FEM1 has 1 bands. AutoFEM is off. Resulting nvs is /lib/firmware/ti-connectivity/wl1271-nvs.bin  
root@am335x-evm:~# modprobe wl12xx_sdio  
[ 3794.273010] wl12xx: loaded  
root@am335x-evm:~# ifconfig wlan0 up  
[ 3802.066192] wl12xx: state: 0  [ 3802.533447] wl12xx: firmware booted (Rev 6.3.10.0.135)  
  • Hi Micheal

    Looks like calibration is broken .I am using TiWi5 and could not do the Calibration .Except Calibration WiFI is working fine ,i can scan and connect to WIFi networks.

    Below is the command i am using to calibrate .let me know if something wrong with command. 

    calibrator plt autocalibrate wlan0 /lib/modules/$(uname -r)/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko /lib/firmware/ti-connectivity/ini_files/127x/TQS_D_1.7.ini /lib/firmware/ti-connectivity/wl1271-nvs.bin 00:00:00:00:00:00

    [ 160.614196] mmc1: mmc_power_restore_host: powering up
    [ 160.759521] Setting power for WLAN ON
    [ 160.854949] mmc1: mmc_power_restore_host: powering up
    [ 161.000061] Setting power for WLAN ON
    [ 161.260650] mmc1: mmc_power_save_host: powering down
    [ 161.265869] Setting power for WLAN OFF
    [ 161.303771] wl12xx: loaded
    [ 161.306915] mmc1: mmc_power_save_host: powering down
    [ 161.318756] wl12xx: power up
    [ 161.344940] mmc1: mmc_power_restore_host: powering up
    [ 161.490173] Setting power for WLAN ON
    [ 161.987518] wl12xx: firmware booted in PLT mode (Rev 6.3.10.0.136)
    [ 162.004760] wl12xx: ERROR command execute failure 2
    [ 162.009918] ------------[ cut here ]------------
    [ 162.014831] WARNING: at /home/skottary/work/download_thirdparty/TiWi5/build-utilites/compat-wireless/drivers/net/wireless/wl12xx/main.c:1432 wl12xx_queue_recovery_work+0x34/0x9c [wl12xx]()
    [ 162.032348] Modules linked in: wl12xx_sdio(O) wl12xx(O) mac80211(O) cfg80211(O) [last unloaded: wl12xx_sdio]
    [ 162.042633] Backtrace:
    [ 162.045318] [<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c03e3e54>] (dump_stack+0x18/0x1c)
    [ 162.054138] r6:bf0a7b54 r5:00000009 r4:00000000 r3:c05999d8
    [ 162.060089] [<c03e3e3c>] (dump_stack+0x0/0x1c) from [<c0041954>] (warn_slowpath_common+0x54/0x6c)
    [ 162.069396] [<c0041900>] (warn_slowpath_common+0x0/0x6c) from [<c0041990>] (warn_slowpath_null+0x24/0x2c)
    [ 162.079376] r8:c059aa88 r7:ffffca17 r6:cf3047ec r5:fffffffb r4:cf7f57e0
    [ 162.086212] r3:00000009
    [ 162.088989] [<c004196c>] (warn_slowpath_null+0x0/0x2c) from [<bf0a7b54>] (wl12xx_queue_recovery_work+0x34/0x9c [wl12xx])
    [ 162.100433] [<bf0a7b20>] (wl12xx_queue_recovery_work+0x0/0x9c [wl12xx]) from [<bf0ab0b0>] (wl1271_cmd_send+0x8c/0x574 [wl12xx])
    [ 162.112396] r4:cf7f57e0 r3:c05999d8
    [ 162.116210] [<bf0ab024>] (wl1271_cmd_send+0x0/0x574 [wl12xx]) from [<bf0ac360>] (wl1271_cmd_test+0x50/0xa8 [wl12xx])
    [ 162.127288] [<bf0ac310>] (wl1271_cmd_test+0x0/0xa8 [wl12xx]) from [<bf0bf3c4>] (wl1271_tm_cmd+0x1a0/0x520 [wl12xx])
    [ 162.138183] r6:cf3047ec r5:cf7f57e0 r4:00000000
    [ 162.143218] [<bf0bf224>] (wl1271_tm_cmd+0x0/0x520 [wl12xx]) from [<bf05d788>] (ieee80211_testmode_cmd+0x2c/0x3c [mac80211])
    [ 162.154998] [<bf05d75c>] (ieee80211_testmode_cmd+0x0/0x3c [mac80211]) from [<bf014d20>] (nl80211_testmode_do+0x54/0x70 [cfg80211])
    [ 162.167327] [<bf014ccc>] (nl80211_testmode_do+0x0/0x70 [cfg80211]) from [<c034d760>] (genl_rcv_msg+0x224/0x25c)
    [ 162.177856] r4:bf0311a0 r3:bf014ccc
    [ 162.181610] [<c034d53c>] (genl_rcv_msg+0x0/0x25c) from [<c034cacc>] (netlink_rcv_skb+0xb4/0xc8)
    [ 162.190704] [<c034ca18>] (netlink_rcv_skb+0x0/0xc8) from [<c034d534>] (genl_rcv+0x24/0x2c)
    [ 162.199310] r6:cf4d0e00 r5:cf4c9e00 r4:cf4c9e00 r3:00000000
    [ 162.205261] [<c034d510>] (genl_rcv+0x0/0x2c) from [<c034c4bc>] (netlink_unicast+0x280/0x2d0)
    [ 162.214050] r4:00000000 r3:c034d510
    [ 162.217803] [<c034c23c>] (netlink_unicast+0x0/0x2d0) from [<c034c80c>] (netlink_sendmsg+0x258/0x2c8)
    [ 162.227416] [<c034c5b4>] (netlink_sendmsg+0x0/0x2c8) from [<c032054c>] (sock_sendmsg+0x90/0xb0)
    [ 162.236511] [<c03204bc>] (sock_sendmsg+0x0/0xb0) from [<c03208dc>] (__sys_sendmsg+0x2bc/0x2d0)
    [ 162.245513] [<c0320620>] (__sys_sendmsg+0x0/0x2d0) from [<c032216c>] (sys_sendmsg+0x44/0x70)
    [ 162.254364] [<c0322128>] (sys_sendmsg+0x0/0x70) from [<c0014740>] (ret_fast_syscall+0x0/0x30)
    [ 162.263244] r6:4011c244 r5:0001a0d0 r4:0001a078
    [ 162.268096] ---[ end trace 5d5f37c4466a1a01 ]---
    [ 162.272918] wl12xx: WARNING TEST command failed
    [ 162.277648] wl12xx: WARNING testmode cmd test failed: -5
    Fail to tune cha[ 162.365356] wl12xx: power down
    nnel
    [ 162.370056] mmc1: mmc_power_save_host: powering down
    [ 162.375488] Setting power for WLAN OFF
    [ 162.380706] mmc1: mmc_power_save_host: powering down
    [ 162.415863] mmc1: mmc_power_restore_host: powering up
    [ 162.561340] Setting power for WLAN ON
    [ 162.628509] mmc1: mmc_power_save_host: powering down
    [ 162.633728] Setting power for WLAN OFF
    Calibration not complete. Removing half-baked nvs

    -----------------------

    2nd Attempt

    root@am335x-evm:~# calibrator plt calibrate single
    [ 1524.675018] wl12xx: power up
    [ 1524.704925] mmc1: mmc_power_restore_host: powering up
    [ 1524.850463] Setting power for WLAN ON
    [ 1525.207580] wl12xx: firmware booted in PLT mode (Rev 6.3.10.0.136)
    [ 1525.225097] wl12xx: ERROR command execute failure 2
    [ 1525.230194] ------------[ cut here ]------------
    [ 1525.235137] WARNING: at /home/skottary/work/download_thirdparty/TiWi5/build-utilites/compat-wireless/drivers/net/wireless/wl12xx/main.c:1432 wl12xx_queue_recovery_work+0x34/0x9c [wl12xx]()
    [ 1525.252655] Modules linked in: wl12xx_sdio(O) wl12xx(O) mac80211(O) cfg80211(O) [last unloaded: wl12xx_sdio]
    [ 1525.263092] Backtrace:
    [ 1525.265686] [<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c03e3e54>] (dump_stack+0x18/0x1c)
    [ 1525.274475] r6:bf0a7b54 r5:00000009 r4:00000000 r3:c05999d8
    [ 1525.280426] [<c03e3e3c>] (dump_stack+0x0/0x1c) from [<c0041954>] (warn_slowpath_common+0x54/0x6c)
    [ 1525.289764] [<c0041900>] (warn_slowpath_common+0x0/0x6c) from [<c0041990>] (warn_slowpath_null+0x24/0x2c)
    [ 1525.299743] r8:c059aa88 r7:0001de99 r6:cf3038ac r5:fffffffb r4:cf7e17e0
    [ 1525.306579] r3:00000009
    [ 1525.309356] [<c004196c>] (warn_slowpath_null+0x0/0x2c) from [<bf0a7b54>] (wl12xx_queue_recovery_work+0x34/0x9c [wl12xx])
    [ 1525.320770] [<bf0a7b20>] (wl12xx_queue_recovery_work+0x0/0x9c [wl12xx]) from [<bf0ab0b0>] (wl1271_cmd_send+0x8c/0x574 [wl12xx])
    [ 1525.332763] r4:cf7e17e0 r3:c05999d8
    [ 1525.336578] [<bf0ab024>] (wl1271_cmd_send+0x0/0x574 [wl12xx]) from [<bf0ac360>] (wl1271_cmd_test+0x50/0xa8 [wl12xx])
    [ 1525.347686] [<bf0ac310>] (wl1271_cmd_test+0x0/0xa8 [wl12xx]) from [<bf0bf3c4>] (wl1271_tm_cmd+0x1a0/0x520 [wl12xx])
    [ 1525.358612] r6:cf3038ac r5:cf7e17e0 r4:00000000
    [ 1525.363647] [<bf0bf224>] (wl1271_tm_cmd+0x0/0x520 [wl12xx]) from [<bf05d788>] (ieee80211_testmode_cmd+0x2c/0x3c [mac80211])
    [ 1525.375427] [<bf05d75c>] (ieee80211_testmode_cmd+0x0/0x3c [mac80211]) from [<bf014d20>] (nl80211_testmode_do+0x54/0x70 [cfg80211])
    [ 1525.387756] [<bf014ccc>] (nl80211_testmode_do+0x0/0x70 [cfg80211]) from [<c034d760>] (genl_rcv_msg+0x224/0x25c)
    [ 1525.398284] r4:bf0311a0 r3:bf014ccc
    [ 1525.402008] [<c034d53c>] (genl_rcv_msg+0x0/0x25c) from [<c034cacc>] (netlink_rcv_skb+0xb4/0xc8)
    [ 1525.411102] [<c034ca18>] (netlink_rcv_skb+0x0/0xc8) from [<c034d534>] (genl_rcv+0x24/0x2c)
    [ 1525.419738] r6:cf650800 r5:cf055bc0 r4:cf055bc0 r3:00000000
    [ 1525.425689] [<c034d510>] (genl_rcv+0x0/0x2c) from [<c034c4bc>] (netlink_unicast+0x280/0x2d0)
    [ 1525.434478] r4:00000000 r3:c034d510
    [ 1525.438232] [<c034c23c>] (netlink_unicast+0x0/0x2d0) from [<c034c80c>] (netlink_sendmsg+0x258/0x2c8)
    [ 1525.447784] [<c034c5b4>] (netlink_sendmsg+0x0/0x2c8) from [<c032054c>] (sock_sendmsg+0x90/0xb0)
    [ 1525.456878] [<c03204bc>] (sock_sendmsg+0x0/0xb0) from [<c03208dc>] (__sys_sendmsg+0x2bc/0x2d0)
    [ 1525.465911] [<c0320620>] (__sys_sendmsg+0x0/0x2d0) from [<c032216c>] (sys_sendmsg+0x44/0x70)
    [ 1525.474731] [<c0322128>] (sys_sendmsg+0x0/0x70) from [<c0014740>] (ret_fast_syscall+0x0/0x30)
    [ 1525.483642] r6:401fe244 r5:0001a0d0 r4:0001a078
    [ 1525.488494] ---[ end trace 5d5f37c4466a1a06 ]---
    [ 1525.493316] wl12xx: WARNING TEST command failed
    [ 1525.498046] wl12xx: WARNING testmode cmd test failed: -5
    Fail to tune cha[ 1525.579833] wl12xx: power down
    nnel
    [ 1525.584564] mmc1: mmc_power_save_host: powering down
    [ 1525.590026] Setting power for WLAN OFF
    [ 1525.595397] mmc1: mmc_power_save_host: powering down

    Usage: calibrator [options] plt calibrate [<single|dual>]

    Do calibrate for single or dual band chip


    Options:
    --debug enable netlink debugging

    Sunil 

  • Hi Sunil,

    Do check for:

    1. Place right .INI file at /usr/share/ti/wifi-utils/ini_files/127x on target.

    2. Modify /etc/rc5.d/S20calibrate.sh to point to file in step 1 on target.

    3. Check for correct clock frequency at from TI Wiki reference and modify the same at arch/arm/mach-omap2/board-am335xevm.c and rebuild the kernal.

    hope this helps.