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.

WILINK-BT_WIFI-WIRELESS_TOOLS: WL18xx Build Process for Calibrator Tool

Part Number: WILINK-BT_WIFI-WIRELESS_TOOLS

I am trying to utilize the "Calibrator" tool for WiFi analysis on a BeagleBone Black Wireless. I understand that the Calibrator tool is included in the WL18xx package. I have tried using a Debian Linux VM to setup the Processor SDK and I have followed all of the steps on the TI website but I kept running into build issues when running the build scripts. So, my question is, is there a straight-forward and simple way to obtain the Calibrator tool for WiFi analyzing on a BeagleBone Black Wireless? If so, could someone please provide me with the steps in which to accomplish this? Thanks!

  • Hi,

    The calibrator is fetched from the following git:
    git.ti.com/.../R8.7_SP3

    you can just clone this git and use the makefile inthis location to build the calibrator bin.

    This is the same process basically used by the build script.

    You can also use the same build script you were trying but just build the "utils" target which includes the calibrator:
    ./build_wl18xx.sh utils build

    BR,
    Eyal
  • Hello Eyal,

    First of all, thank you for the help! I was finally able to get the Calibrator tool on the BeagleBone Wireless booting into the Processor SDK on my microSD card. I am able to run the Calibrator tool however, I am running into new issues now. It now seems as if the 'wlan0' connection is not found. When I run 'ifconfig', I receive the following output:

    root@am335x-evm:/usr/bin# ifconfig

    eth0 Link encap:Ethernet HWaddr 50:65:83:D5:31:1D
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    Interrupt:174

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1%763860/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:1440 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1440 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:109440 (106.8 KiB) TX bytes:109440 (106.8 KiB)

    usb0 Link encap:Ethernet HWaddr 6E:06:EB:61:55:70
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)


    Also, when I run the calibrator tool with the following command, I receive "nl80211 not found.":

    root@am335x-evm:/usr/bin# ./calibrator wlan0 plt power_mode on
    nl80211 not found.


    It seems as if the drivers for the wireless chip are not seen/are not functioning properly. I have already completed the process for patching and updating the '.ko' files as well as the '.dtb' file. Have you seen this issue before? Thanks!
  • Hi,

    What kernel version are you using right now?
    The BeagleBone Black Wireless device tree entries for wl18xx have been added upstream around k4.14.
    See tthe following:
    github.com/.../am335x-boneblack-wireless.dts

    Can you verify that the .dts file you are using now has the wlcore related nodes?

    In addition, AFAIK the debian image that comes with the BBGW should already support wilink8 and should boot with the wlan0 interface enabled.
    Did you try just booting you board with the prebuilt image that came with it?

    BR,
    Eyal
  • I am on kernel v4.9. I was actually able to use the am335x-boneblack-wireless.dtb file in the /boot folder on the device to get the wlan0 to work. I had to create a symlink from the am335x-boneblack.dtb file to the am335x-boneblack-wireless.dtb. After doing that and rebooting, it found the wlan0 connection.

    I am now having issues actually running the Calibrator tool. This is what happens when I run the Calibrator command:

    root@am335x-evm:/usr/bin# ./calibrator wlan0 plt power_mode on
    command failed: Operation not supported (-95)


    I have tried running "ifconfig wlan0 down" before doing this and it does not change anything. Could you help me with this issue? Thanks.
  • Hi,

    You may be missing?:

    CONFIG_NL80211_TESTMODE=y

    In your kernel .config
    It is needed for the calibrator.

    Best Regards,
    Eyal
  • I have read some other posts about this issue and I believe you are correct. What steps do I need to take to enable the "CONFIG_NL80211_TESTMODE"? Thanks.
  • Hi,

    Did you build the kernel/modules yourself or are you using a prebuilt one?

    You would have to rebuild the mac80211 related modules after enabling it in your kerenel .config

    BR
    Eyal
  • I used this link processors.wiki.ti.com/.../WiLink8_Linux_Getting_Started_Guide and followed the instructions for the BeagleBone. I went through the process of creating my own Ubuntu VM and installing the Processor SDK. I then followed the instructions on creating the SD card using the "create-sdcard.sh" script.
  • I have gone through and changed the .config file such that "CONFIG_NL80211_TESTMODE=y" and I have ran "make linux" in the SDK directory. I then recreated the SD card using the create-sdcard.sh script. When I run "zcat /proc/config.gz | grep NL80211_TESTMODE" it gives me the following output:

    root@am335x-evm:~# zcat /proc/config.gz | grep NL80211_TESTMODE
    # CONFIG_NL80211_TESTMODE is not set


    Am I doing the correct steps? Is there a defconfig file that is overwriting my changes? If so, how can I fix this?
  • the script "make linux" is using a default defconfig file from inside the sdk directory as .config overriding your changes.
    You need to modify this file and not .config directly.

    BR
    Eyal
  • Could you please provide me with more specific steps on the exact files that I need to change and how I need to go about getting the "config.gz" file on my BeagelBone Black Wireless to recognize that the "CONFIG_NL80211_TESTMODE" flag is enabled? Thanks.
  • Hi,

    This info should be provided from the Processor SDK documentation.

    I think the relevant link would be this one:

    Best Regards,

    Eyal

  • That did the trick! Thank you very much for all of your help!