We have problem running the calibration process using calibrator tool, see attached log.
3404.calibrator2.txt
Our system setup is:
SnowballModule: WL1273 HDK Interface: SPI@12MHz
Linux kernel 3.2.1WL12xx driver: compat-wireless release 2012-02-21wl1271-nvs.bin generated with calibrator using TQS_D_1.7.ini.
Driver module loads without problem.It is possible to bring up and down interface with ifconfig several times.We can perform scan on both 2.4 and 5GHz band, associate and transfer data.
We have also seen the same problem on the following configuration:
Beagleboard XMModule: WL1273 HDK Interface: SPI@12MHz
Linux kernel 3.0.17WL12xx driver: compat-wireless release 2012-02-21
Firmware:wl1271-nvs.bin (MD5: 170b227c9cc5f3020ae58ce25eb93f21)wl127x-fw-3.bin (MD5: f0fdc227f7f90f016c4fbb4fde6c6fae)
Any support is greatly appreciated!
Hi,
Let me see if I understand what you had tried according to the log.
The first sequence that you tried to do is perform Tx continuous test with the following commands:
ifconfig wlan0 down
calibrator wlan0 plt power_mode on
calibrator wlan0 plt tune_channel 0 6
calibrator wlan0 plt tx_cont 2000 1 100 0 5000 0 3 0 0 0 0 0 1 0 11:22:11:22:11:22
However for some reason the calibrator wlan0 plt tune_channel command failed. I am not sure why but I will try to read more carefully the log and try to understand based on the Error returned value.
And then you tried to perform Calibration with the following commands:
calibrator wlan0 plt power_mode off
calibrator plt calibrate
That command were able to download the PLT firmware however failed to enter testmode (command failed)
But for Calibration the steps are as follows:
cd /lib/firmware/ti-connectivity/
calibrator set ref_nvs /usr/share/ti/wifi-utils/ini_files/127x/TQS_S_2.6.ini
cp new-nvs.bin /lib/firmware/ti-connectivity/wl1271-nvs.bin
rmmod wl12xx_sdio
modprobe wl12xx_sdio
Any way there is an issue with the commands, for some reason the failed, I will try to verify what the reason is based on the logs you sent
Regards,
Eyal
I have now picked up the thread after Magnus. Problem is the same. I just tried following your exact calibration steps without success.
Two things noticed:- We are using SPI interface, not SDIO. Can that be the root of the problem?- Are the INI files the same for SPI as SDIO? I have used TQS_D_1.7.ini because we are using the dual band WL1273 chipset.
I have included the debug printouts from calibrator when trying to do a calibrate according to your instructions. Guess these debug messages aren't enough to give you any clues?
3513.calibrate.txt
Not really an update but what does the log line "wl12xx: ERROR command execute failure 2" mean? Looking at the source, the WL1272 firmware returns return code 2 which means CMD_STATUS_UNKNOWN_CMD. I'm using calibrator version 0.72.
to pereform the calibration in that way please do the following:
ifconfig wlan0 down rmmod wl12xx_sdio modprobe wl12xx_sdio # loads the nvs from filesystem ifconfig wlan0 down # makes sure interface is down
calibrator plt calibrate # Run calibration
Please see the flow in our WiKi page in http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Calibration_Proccess_NLCP#Calibration_for_R4_SP1_and_earlier_.28AM-SDK-05.03.00.01.29
In my previous post I already confirmed (and attached a log) of me trying to do the calibration according to your steps. That is not the problem...
Can you add some print logs? I would like to understand which command did you get that is failed.
In file drivers\net\wireless\wl12xx\cmd.c in function wl1271_cmd_send()
On the error message:
if (status != CMD_STATUS_SUCCESS) {
wl1271_error("command execute failure %d", status);
please also print the “id” that is input to the function: wl1271_cmd_send(struct wl1271 *wl, u16 id,…)
the command is defined by the enum wl1271_commands which is in drivers\net\wireless\wl12xx\cmd.h
Thanks for the fast reply!
Log attached, id value is 23 (CMD_TEST) as seen in log file atline 1369.
6177.calibrate3.txt
I have brought up the interface and performed the scan as requested. Output in the attached file, IRQ to look for in /proc/interrupts printout is "wl12xx". Please note the MD5 sum of /lib/firmware/ti-connectivity/wl1271-nvs.bin at the end of log. Can you verify if that is the correct NVS-file to use? I have picked it from the "linux-firmware" GIT repository.
3302.calibrate4.txt
Hello,
Not meaning to hijack the thread but I am running into exactly this same problem:
HW: EVM: AM335x EVM + LSR TiWi5 module (WL1273)
Wifi firmware: git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git revision: 375e9548bf75a5664256d47a2f9e14b79181e02d
SW:
- Kernel (including wifi driver): git://arago-project.org/git/projects/linux-am33x.git branch=v3.2-staging revision=baaa0c0425528486efcc70b7696dd6359f10b5bd.
- Calibrator: git://github.com/TI-OpenLink/ti-utils.git revision: 05dc3b63f0a710c83c89755ffdd9e9c5f8aab5c4
I have modified the wl12xx platform data for the 26MHz clock and I can scan and associate with networks and transmit data normally but calibration fails.
I am executing calibrator as per instructions here: http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Calibration_Proccess_NLCP
# ifconfig wlan0 down
# rmmod wm12xx_sdio
# ./calibrator plt autocalibrate wlan0 /lib/modules/3.2.0/kernel/drivers/net/wireless/wl12xx/wl12xx_sdio.ko TQS_D_1.7.ini /lib/firmware/ti-connectivity/wl1271-nvs.bin 00:12:34:56:78:90
First issue I ran into was that the kernel and calibrator were not in agreement about the enum wl1271_tm_commands. I had to add the "WL1271_TM_CMD_NVS_PUSH" into the enum to make the numbers for WL1271_TM_CMD_SET_PLT_MODE match.
After this the module is powered on correctly for calibration.
Next step is to tune the module to channel 0:7. This fails with:
wl1271_tm_cmd 1
CMD: 17 00 00 00 0d 00 00 00 00 07 00 00
wl1271: ERROR command 23 execute failure 2
(I augmented the error messages a little to debug)
- Juha
Seems to me to be exactly the same case as above, only difference is that this platform uses SDIO instead of SPI.
there are several firmwares, one for single Role (operaional) and one for PLT, i suspect that you dont have the right firmware.
can you send the firmwares names that are in the folder /lib/firmware/ti-connectivity ?
The firmware files I have are:
wl1271-fw-2.binwl1271-fw-ap.binwl1271-fw.binwl1271-nvs.binwl127x-fw-3.binwl127x-fw-4-mr.binwl127x-fw-4-plt.binwl127x-fw-4-sr.binwl127x-fw-plt-3.binwl127x-nvs.binwl128x-fw-3.binwl128x-fw-4-mr.binwl128x-fw-4-plt.binwl128x-fw-4-sr.binwl128x-fw-ap.binwl128x-fw-plt-3.binwl128x-fw.binwl128x-nvs.bin
Driver is asking for "wl127x-fw-3.bin". I made it load the "wl127x-fw-plt-3.bin" and the calibration seems to succeed with message:
Calibration done. FEM1 has 2 bands. AutoFEM is off. Resulting nvs is /lib/firmware/ti-connectivity/wl1271-nvs.bin.
Thank you for your help!
One other thing I would like to verify is that the TQS_D_1.7.ini is the right file to calibrate (and generate NVS) for the WL1273.
I'm not sure who you are directing your question to. I think the thread will be more of a mess if we are trying to solve two slightly different problems at the same time.
root@linaro-ubuntu-desktop:~# ls -l /lib/firmware/ti-connectivity/total 2528-rw------- 1 root root 912 2012-04-30 08:44 new-nvs.bin-rw-r--r-- 1 root root 48909 2012-01-24 18:10 TIInit_7.2.31.bts-rw-r--r-- 1 root root 9624 2012-02-19 23:29 TIInit_7.6.15.bts-rw-r--r-- 1 root root 273880 2012-01-24 18:10 wl1271-fw-2.bin-rw-r--r-- 1 root root 272836 2012-01-24 18:10 wl1271-fw-ap.bin-rw-r--r-- 1 root root 271832 2012-01-24 18:10 wl1271-fw.binlrwxrwxrwx 1 root root 14 2012-05-07 08:14 wl1271-nvs.bin -> wl127x-nvs.bin-rw-r--r-- 1 root root 280388 2012-01-24 18:10 wl127x-fw-3.bin-rw-r--r-- 1 root root 267496 2012-01-24 18:10 wl127x-fw-plt-3.bin-rw-r--r-- 1 root root 912 2012-01-24 18:10 wl127x-nvs.bin-rw-r--r-- 1 root root 284784 2012-01-24 18:10 wl128x-fw-3.bin-rw-r--r-- 1 root root 265460 2012-01-24 18:10 wl128x-fw-ap.bin-rw-r--r-- 1 root root 273324 2012-01-24 18:10 wl128x-fw.bin-rw-r--r-- 1 root root 271932 2012-01-24 18:10 wl128x-fw-plt-3.bin-rw-r--r-- 1 root root 1113 2012-01-24 18:10 wl128x-nvs.binlrwxrwxrwx 1 root root 14 2012-01-24 18:10 wl12xx-nvs.bin -> wl127x-nvs.binroot@linaro-ubuntu-desktop:~#
root@linaro-ubuntu-desktop:~# md5sum /lib/firmware/ti-connectivity/*be5303196d0dfe752ca9f29dcf436018 /lib/firmware/ti-connectivity/new-nvs.bin529d85a8b24131fe65c75a273c5efa01 /lib/firmware/ti-connectivity/TIInit_7.2.31.bts3c94a2f7c3173d8811009307ec140195 /lib/firmware/ti-connectivity/TIInit_7.6.15.bts48ea42d9b8ec6a6cff606cfc07c4f05c /lib/firmware/ti-connectivity/wl1271-fw-2.bin238586509daf93b9a19eb2658945f8c0 /lib/firmware/ti-connectivity/wl1271-fw-ap.bin094517dc9a2b67132dda0692ce0bfa1b /lib/firmware/ti-connectivity/wl1271-fw.bin170b227c9cc5f3020ae58ce25eb93f21 /lib/firmware/ti-connectivity/wl1271-nvs.binf0fdc227f7f90f016c4fbb4fde6c6fae /lib/firmware/ti-connectivity/wl127x-fw-3.bin03f7bf217391fbf8c403397deffd229e /lib/firmware/ti-connectivity/wl127x-fw-plt-3.bin170b227c9cc5f3020ae58ce25eb93f21 /lib/firmware/ti-connectivity/wl127x-nvs.bin348e52d906d53d2c981600a73f950750 /lib/firmware/ti-connectivity/wl128x-fw-3.bin31350833555fec024902ea054065d0bd /lib/firmware/ti-connectivity/wl128x-fw-ap.bin93222394f055b31546f47ee16a92e004 /lib/firmware/ti-connectivity/wl128x-fw.bin8dfbf6a59fa2be51a6124a00be57368b /lib/firmware/ti-connectivity/wl128x-fw-plt-3.bin387ee1359ecac0e1546290cec4892a31 /lib/firmware/ti-connectivity/wl128x-nvs.bin170b227c9cc5f3020ae58ce25eb93f21 /lib/firmware/ti-connectivity/wl12xx-nvs.bin
root@linaro-ubuntu-desktop:~#
/PH
Hi PH,
i think that in your case as well the firmware that is beying selected might be wrong, can you please print the firmware that is selected when you performing Calibration?
please go to function wl12xx_fetch_firmware() and print the parameter fw_name in line wl1271_debug(DEBUG_BOOT, "booting firmware %s", fw_name); you can just replace the with wl1271_debug() function with printk().
in addition please provide the following defines (firmware name in the version i have on my PC is different from community name - but it does not matter)
#define WL1271_FW_NAME "ti-connectivity/wl1271-fw-multirole-roc.bin"#define WL1271_PLT_FW_NAME "ti-connectivity/wl1271-fw-multirole-plt.bin"#define WL128X_FW_NAME "ti-connectivity/wl128x-fw-multirole-roc.bin"#define WL128X_PLT_FW_NAME "ti-connectivity/wl128x-fw-multirole-plt.bin"
Hi Juha
for 1273 select the TQS_D_1.7.ini