The wl1271, connected on MMCSD1 of the OMAP-L138 is unable to "really" communicate. I can scan for access points, and indeed see all surrounding access points, but i'm unable to get any data to the other side or vise versa.
To start the wifi (using the MAC addres of the omap PHY plus one...):
# ifconfig wlan0 hw ether 00:08:EE:06:21:37
# ifup wlan0wl1271: OK firmware wl1271-fw.bin size=271832wl1271: OK firmware wl1271-nvs.bin size=912udhcpc (v1.18.5) startedSending discover...Sending discover...Sending discover...Sending discover...No lease, forking to background
#dmesgPowering on wifiwl1271: firmware booted (Rev 6.1.0.50.350)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 1)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 2)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 3)wlan0: direct probe to 00:3a:99:3b:9f:d3 timed outwlan0: direct probe to 00:3a:99:3b:9f:d3 (try 1)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 2)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 3)wlan0: direct probe to 00:3a:99:3b:9f:d3 timed outwlan0: direct probe to 00:3a:99:3b:9f:d3 (try 1)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 2)wlan0: direct probe to 00:3a:99:3b:9f:d3 (try 3)wlan0: direct probe to 00:3a:99:3b:9f:d3 timed out
A bit of research suggested this was due to (lack of) calibration of the chip. I tried to follow these guidelines: http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator#wl12xx_Calibration
However, it fails and there's no hint on how to proceed.
Since this is an OMAP-L138 board, the TQS_S_2.6.ini is the one i need (I think? The article is really vague on this)
# calibrator set ref_nvs /usr/share/ti/wifi-utils/ini_files/127x/TQS_S_2.6.ini
Then move the generated file to where the firmware is:
#cp new-nvs.bin /lib/firmware/wl1271-nvs.bin
Reboot (thus load the new file) and calibrate:
# calibrator plt calibratewl1271: power upwl1271: OK firmware wl1271-fw.bin size=271832wl1271: OK firmware wl1271-nvs.bin size=912wl1271: firmware booted in PLT mode (Rev 6.1.0.50.350)Fail to calibrate ith radio status (-36)wl1271: power down
(the wl1271 messages are from the kernel, I added a few extra printk's in there to verify that the firmware was really being loaded from the right spot)
What did I do wrong?
Hi,
please confirm that you set the option CONFIG_NL80211_TESTMODE=y in case you use comat then it will be in the config.mk file. without seting the TESTMODE to Y, the calibrator will not work
Regards,
Eyal
Yes, CONFIG_NL80211_TESTMODE=y is in the kernel config, as the documentation instructed.
If there's any more information needed, please let me know. I still haven't found any solution to the WL1271 not being able to transmit or receive any data apart from scanning.
I did try attaching a USB wifi stick (atheros 9k chipset) which worked flawlessly on the same device, I could communicate with protected and unprotected networks with that hardware. So the wifi stack is just fine, it's the wl1271 chip or its driver or setting that isn't doing what it's supposed to do.
Still have this problem PLEASE help!
Command:
echo 3 > /proc/cpu/alignmentmodprobe -r wl12xx_sdiorm -f /tmp/wl1271-nvs.bincalibrator plt autocalibrate wlan0 \ /lib/modules/2.6.37/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko \ /usr/share/ti/wifi-utils/ini_files/TiWi-R2/ini_file_v0.0.ini \ /tmp/wl1271-nvs.bin 00:08:EE:06:21:37Kernel logging:
wl12xx: driver version: ol_R5.00.17wl12xx: compilation time: Thu May 17 12:25:00 2012wl12xx: loadedwl12xx: loadedwl12xx: power upwl12xx: firmware booted in PLT mode (PLT 6.3.8.0.111)wl12xx: power downAlignment trap: calibrator (690) PC=0x40232e28 Instr=0xe5830000 Address=0xbefb77d9 FSR 0x813Alignment trap: calibrator (690) PC=0x40232e28 Instr=0xe5830000 Address=0xbefb77da FSR 0x813Alignment trap: calibrator (690) PC=0x40232e28 Instr=0xe5830000 Address=0xbefb77db FSR 0x813Alignment trap: calibrator (690) PC=0x40232e28 Instr=0xe5830000 Address=0xbefb77dd FSR 0x813
(the alignment traps are triggered by a buggy MAC address routine in the calibrator tool)
Output on console:
Using nvs version 2.1Calibrate /tmp/wl1271-nvs.binFail to calibrate ith radio status (-36)Writing mac address 00:08:EE:06:21:37 to file /tmp/wl1271-nvs.binCalibration done. FEM1 has 1 bands. AutoFEM is off. Resulting nvs is /tmp/wl1271-nvs.bin
Versions:
calibrator version 0.73
firmware: git://github.com/TI-ECS/ti-utils.git SRCREV = "38e0dd7999b9087e00d1a59306a7c22fd23246cf"
compat-wireless version: 2012-05-15-r5-18
Mike,
Please check this post - http://e2e.ti.com/support/low_power_rf/f/307/p/213926/763921.aspx for the alingment trap issue.
Naveen
------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.------------------------------------------------------------------------------------------
Sorry that it wasn't clear in my post, but the alignment issue is not part of my question, I got around it by just setting the alignment trap to "fixup and report".
My question is still about the calibration tool: What does that error mean? And how can I get it to work?
Hi Naveen,
Regarding the link, the issue iam facing is when i change the MAC address i get that alignment trap, when i read back the MAC address through following command 'calibrator get nvs_mac /lib/firmware/ti-connectivity/wl1271-nvs.bin ' command i get back the MAC address which i had set using MAC set command. But when i tried to check the MAC address using
'ifconfig wlan0' command , i will get back the default MAC address, that means whatever i have set through calibrator is set only in wl1271-nvs.bin file only, it is not getting set properly.
Also our system does not have NFS how we can set the MAC address for each without changing the wl1271-nvs.bin
Thanks,
Manjunath
Which ini file you are using? I see that you are using ini_file_v0.0.ini, from where did you get this?
Manjunath,
Did you try to unload all module and reload again or reboot after the calibration. The NVS file should read back for the driver to update the MAC driver. Can you try and update?
Naveen,
I tried to unload wl1271_sdio.ko and reload the same, still the same issue. I can't reboot the system as we don't have NFS whatever nvs files gets updated will be updated only in rootfs not in the original file, when the system reboots the original file will be loaded which does not have MAC modified value.
Naveen JainWhich ini file you are using? I see that you are using ini_file_v0.0.ini, from where did you get this?
The ini file is from the LS Research site. Just for the heck of it, I tried the ini files for the other boards too, same result.
Hi Mike,
Please find attached ini file for WL127x. I am able to calibrate successfully with this ini file.
Also please verify with the latest driver. Below is the link :
http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_OpenSource_am335x-evm_R5_00_18_WLAN_build
Abhijit
----------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.----------------------------------------------------------------------------------------------------------
As I listed above, that IS the version of the driver and ti-utils I am using. I even tried that ini file too, even though I understand one is supposed to use the ini file that corresponds with the actual hardware.
We obtained a evaluation kit, and ran our software on a da850 evm board with the wl1271 daughter. On this board, the calibration appears to work. On our own board, the calibration fails with that mysterious error that no one can explain. The board can receive data, but its transmission appears to be weak, and it has trouble connecting to a wifi router at 1 metre. That's why I wanted to run the calibration.
Alignment trap, can also be caused due to Compiler issues, we use the latest copiler that is used for the SDK and we dont see an issue with AM18x platform, and since DA830 and AM18x are both ARM 9, maybe replacing the compiler will help.
please access
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html
and select the "Binary Toolchain for armv5te (ARM9) architecture" that is http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports/arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2