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.

Getting WL1837 Cape Working on BeagleBone Black

Other Parts Discussed in Thread: WL1837, WL1271, WL1835

Dear Support:

I have followed the directions below:

processors.wiki.ti.com/.../WL18xx_System_Build_Scripts

in creating my build environment to install my WL1837 Cape board onto my BBB and was able to get through it ok.  Then I tried to follow the instructions below:

processors.wiki.ti.com/.../WiLink8_WLAN_Demo:_Linux

to test out the functionality of my cape board when plugged into my BBB to make sure it was working ok.  See my results below where it is failing from issuing the:

./sta_start.sh

call.  Do you know what may be the problem?  Please advise.

root@am335x-evm:/usr/sbin/wlconf# ./configure-device.sh

Please provide the following information.

Are you using a TI module? [y/n] : Please enter y or n.
Are you using a TI module? [y/n] : y

What is the chip flavor? [1801/1805/1807/1831/1835/1837 or 0 for unknown] : Please enter 1801/1805/1807/1831/1835/1837 or 0 for unknown.
What is the chip flavor? [1801/1805/1807/1831/1835/1837 or 0 for unknown] : 1837

Should Japanese standards be applied? [y/n] : Please enter y or n
Should Japanese standards be applied? [y/n] : n

How many 2.4GHz antennas are fitted? [1/2] : Please enter 1 or 2 antennas
How many 2.4GHz antennas are fitted? [1/2] : 2

How many 5GHz antennas are fitted? [0/1/2] : Please enter 0, 1 or 2
How many 5GHz antennas are fitted? [0/1/2] : 2


The device has been successfully configured.
TI Module: y
Chip Flavor: 1837
Number of 2.4GHz Antennas Fitted: 2
Number of 5GHz Antennas Fitted: 2
Diversity Support: y
SISO40 Support: y
Japanese Standards Applied: n
Class 2 Permissive Change (C2PC) Applied: n

root@am335x-evm:/usr/sbin/wlconf#
root@am335x-evm:/usr/sbin/wlconf# [  608.755085] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[  608.776153] wlcore: loaded
[  608.779071] wlcore: driver version: R8.6_SP1

root@am335x-evm:/usr/sbin/wlconf#
root@am335x-evm:/usr/sbin/wlconf# cd /usr/share/wl18xx/
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# ./load_wlcore.sh
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# ./sta_start.sh
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# Successfully initialized wpa_supplicant
[  672.454126] wlcore: PHY firmware version: Rev 8.2.0.0.233
[  672.580327] wlcore: firmware booted (Rev 8.9.0.1.55)
[  672.606457] cfg80211: Calling CRDA for country: US
[  673.184287] wlcore: ERROR ELP wakeup timeout!
[  673.188904] ------------[ cut here ]------------
[  673.193960] WARNING: CPU: 0 PID: 1525 at /home/user/wl8-build/build-utilites/src/compat_wireless/drivers/net/wireless/ti/wlcore/main.c:797 wl12xx_queue_recovery_work+0x74/0x7c [wlcore]()
[  673.211424] Modules linked in: wlcore_sdio(O) wl18xx(O) wlcore(O) mac80211(O) cfg80211(O) musb_dsps musb_hdrc compat(O) snd_soc_evm btwilink bluetooth snd_soc_davinci_mcasp musb_am335x 6lowpan_iphc [last unloaded: wlcore_sdio]
[  673.232679] CPU: 0 PID: 1525 Comm: crda Tainted: G           O 3.14.26-g07d13c6-dirty #1
[  673.241184] Backtrace:
[  673.243808] [<c0011268>] (dump_backtrace) from [<c0011404>] (show_stack+0x18/0x1c)
[  673.251784]  r6:0000031d r5:00000009 r4:00000000 r3:00000000
[  673.257804] [<c00113ec>] (show_stack) from [<c05c6b50>] (dump_stack+0x20/0x28)
[  673.265436] [<c05c6b30>] (dump_stack) from [<c00381f8>] (warn_slowpath_common+0x6c/0x8c)
[  673.273937] [<c003818c>] (warn_slowpath_common) from [<c003823c>] (warn_slowpath_null+0x24/0x2c)
[  673.283183]  r8:bf186140 r7:00009194 r6:c08465c8 r5:ffffff92 r4:ccad1360
[  673.290383] [<c0038218>] (warn_slowpath_null) from [<bf16ab2c>] (wl12xx_queue_recovery_work+0x74/0x7c [wlcore])
[  673.301189] [<bf16aab8>] (wl12xx_queue_recovery_work [wlcore]) from [<bf1744d0>] (wl1271_ps_elp_wakeup+0xd8/0x1e0 [wlcore])
[  673.312887]  r4:ccad1360 r3:20000093
[  673.316859] [<bf1743f8>] (wl1271_ps_elp_wakeup [wlcore]) from [<bf16c7fc>] (wlcore_regdomain_config+0x3c/0x70 [wlcore])
[  673.328187]  r10:00000100 r8:00000000 r7:bf0c8e60 r6:0000001f r5:ccad1398 r4:ccad1360
[  673.336594] [<bf16c7c0>] (wlcore_regdomain_config [wlcore]) from [<bf16c858>] (wl1271_reg_notify+0x28/0x2c [wlcore])
[  673.347656]  r5:bf0c8e60 r4:cdf51ec0
[  673.351716] [<bf16c830>] (wl1271_reg_notify [wlcore]) from [<bf0a81bc>] (wiphy_update_regulatory+0x2f0/0x528 [cfg80211])
[  673.363149]  r4:bf185e78 r3:bf16c830
[  673.367181] [<bf0a7ecc>] (wiphy_update_regulatory [cfg80211]) from [<bf0a9e9c>] (set_regdom+0x2a8/0x548 [cfg80211])
[  673.378152]  r10:bf0c8da8 r9:bf0c9040 r8:cdf51ec0 r7:00000001 r6:00000000 r5:bf0c8ccc
[  673.386429]  r4:ccad0000
[  673.389353] [<bf0a9bf4>] (set_regdom [cfg80211]) from [<bf0b2c04>] (nl80211_set_reg+0xc4/0x26c [cfg80211])
[  673.399502]  r10:00000000 r9:cde43010 r8:cde4312c r7:bf0c66cc r6:cddb23c0 r5:00000000
[  673.407778]  r4:00000006 r3:00000034
[  673.411697] [<bf0b2b40>] (nl80211_set_reg [cfg80211]) from [<c051b310>] (genl_rcv_msg+0x214/0x370)
[  673.421119]  r10:00000000 r8:bf0c6d04 r7:cde43000 r6:cdc8f540 r5:cc8c3000 r4:bf0c8e74
[  673.429426] [<c051b0fc>] (genl_rcv_msg) from [<c051a738>] (netlink_rcv_skb+0xb4/0xc8)
[  673.437658]  r10:00000000 r9:00000000 r8:cdf59d0c r7:cdc8f540 r6:c051b0fc r5:cdc8f540
[  673.445933]  r4:cde43000
[  673.448611] [<c051a684>] (netlink_rcv_skb) from [<c051a8f4>] (genl_rcv+0x30/0x3c)
[  673.456479]  r6:cde43c00 r5:cdc8f540 r4:c087826c r3:c051a8c4
[  673.462462] [<c051a8c4>] (genl_rcv) from [<c051a0fc>] (netlink_unicast+0x180/0x1ec)
[  673.470512]  r5:00000160 r4:cd93cc00
[  673.474314] [<c0519f7c>] (netlink_unicast) from [<c051a4c0>] (netlink_sendmsg+0x2ac/0x380)
[  673.482975]  r10:00000000 r8:00000008 r7:cdc8f540 r6:cde43c00 r5:cdf59dd0 r4:cdf59f5c
[  673.491291] [<c051a214>] (netlink_sendmsg) from [<c04e8fcc>] (sock_sendmsg+0x90/0xb0)
[  673.499525]  r10:cdf59e60 r9:00000000 r8:00000000 r7:cd4019c0 r6:cc90ac00 r5:cdf59dd0
[  673.507799]  r4:c051a214
[  673.510483] [<c04e8f3c>] (sock_sendmsg) from [<c04e9c7c>] (___sys_sendmsg.part.29+0x28c/0x29c)
[  673.519531]  r6:cdf59e60 r5:00000160 r4:cdf59f5c
[  673.524442] [<c04e99f0>] (___sys_sendmsg.part.29) from [<c04eb1b4>] (__sys_sendmsg+0x54/0x80)
[  673.533376]  r10:00000000 r9:cdf58000 r8:c000e964 r7:00000128 r6:00000000 r5:bee44c74
[  673.541652]  r4:cd4019c0
[  673.544359] [<c04eb160>] (__sys_sendmsg) from [<c04eb1f0>] (SyS_sendmsg+0x10/0x14)
[  673.552293]  r6:000ac2a8 r5:000ac008 r4:000ac080
[  673.557219] [<c04eb1e0>] (SyS_sendmsg) from [<c000e7e0>] (ret_fast_syscall+0x0/0x30)
[  673.565365] ---[ end trace 164253d119a8b2ef ]---
[  673.570252] cfg80211: Regulatory domain changed to country: US
[  673.576400] cfg80211:  DFS Master region: FCC
[  673.580785] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[  673.591034] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[  673.599461] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A)
[  673.609432] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
[  673.619400] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2300 mBm), (0 s)
[  673.627911] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[  673.636328] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[  673.647155] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.1.55
[  673.654364] ------------[ cut here ]------------
[  673.659370] WARNING: CPU: 0 PID: 9 at /home/user/wl8-build/build-utilites/src/compat_wireless/drivers/net/wireless/ti/wlcore/io.h:65 wlcore_set_partition+0xa0/0x50c [wlcore]()
[  673.675800] Modules linked in: wlcore_sdio(O) wl18xx(O) wlcore(O) mac80211(O) cfg80211(O) musb_dsps musb_hdrc compat(O) snd_soc_evm btwilink bluetooth snd_soc_davinci_mcasp musb_am335x 6lowpan_iphc [last unloaded: wlcore_sdio]
[  673.697047] CPU: 0 PID: 9 Comm: kworker/u2:1 Tainted: G        W  O 3.14.26-g07d13c6-dirty #1
[  673.706100] Workqueue: phy1 wl1271_recovery_work [wlcore]
[  673.711763] Backtrace:
[  673.714404] [<c0011268>] (dump_backtrace) from [<c0011404>] (show_stack+0x18/0x1c)
[  673.722339]  r6:00000041 r5:00000009 r4:00000000 r3:c0847ac0
[  673.728361] [<c00113ec>] (show_stack) from [<c05c6b50>] (dump_stack+0x20/0x28)
[  673.735985] [<c05c6b30>] (dump_stack) from [<c00381f8>] (warn_slowpath_common+0x6c/0x8c)
[  673.744513] [<c003818c>] (warn_slowpath_common) from [<c003823c>] (warn_slowpath_null+0x24/0x2c)
[  673.753719]  r8:ccad1398 r7:00000000 r6:bf186140 r5:bf1a6380 r4:ccad1360
[  673.760914] [<c0038218>] (warn_slowpath_null) from [<bf1706d8>] (wlcore_set_partition+0xa0/0x50c [wlcore])
[  673.771227] [<bf170638>] (wlcore_set_partition [wlcore]) from [<bf169f2c>] (wl1271_recovery_work+0x70/0x358 [wlcore])
[  673.782374]  r7:cd872500 r6:ccad1360 r5:ccad15f4 r4:ccad15f4
[  673.788459] [<bf169ebc>] (wl1271_recovery_work [wlcore]) from [<c004ae0c>] (process_one_work+0xfc/0x338)
[  673.798421]  r8:00000000 r7:cd872500 r6:cd86ea00 r5:ccad15f4 r4:cd89ba00
[  673.805531] [<c004ad10>] (process_one_work) from [<c004b1a0>] (worker_thread+0x11c/0x364)
[  673.814100]  r10:c087e4df r9:cd86ea00 r8:00000001 r7:cd8a2000 r6:cd89ba18 r5:cd86ea10
[  673.822385]  r4:cd89ba00
[  673.825097] [<c004b084>] (worker_thread) from [<c0050d14>] (kthread+0xc4/0xe0)
[  673.832666]  r10:00000000 r9:00000000 r8:00000000 r7:c004b084 r6:cd89ba00 r5:cd89dec0
[  673.840944]  r4:00000000
[  673.843625] [<c0050c50>] (kthread) from [<c000e878>] (ret_from_fork+0x14/0x3c)
[  673.851220]  r7:00000000 r6:00000000 r5:c0050c50 r4:cd89dec0
[  673.857212] ---[ end trace 164253d119a8b2f0 ]---
[  673.862074] wlcore: down
[  673.878251] ieee80211 phy1: Hardware restart was requested
Could not read interface p2p-dev-wlan0 flags: No such device
[  676.710247] wlcore: ERROR timeout waiting for the hardware to complete initialization

root@am335x-evm:/usr/share/wl18xx#

Thanks,
Tim

  • Dear Support:

    BTW - I found from the URL below:

    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    that I needed to download the patch "patches_kernel_patches_beaglebone-wilink8-capes_0001-ARCH-arm-am335x-boneblack-add-e14-wl1837-cape-suppor.patch" for my Element14 cape board which I did. However when I applied it per the directions, I am getting the following results:

    user@user-Latitude-E6510:~/ti-sdk-am335x-evm_8_00/board-support/linux-3.14.26-g2489c02$ patch -p1 < /home/user/wl8-build/patches_kernel_patches_beaglebone-wilink8-capes_0001-ARCH-arm-am335x-boneblack-add-e14-wl1837-cape-suppor.patch

    patching file arch/arm/boot/dts/am335x-bone-e14-wl1837.dtsi
    patching file arch/arm/boot/dts/am335x-boneblack.dts
    Hunk #1 FAILED at 147.
    1 out of 1 hunk FAILED -- saving rejects to file arch/arm/boot/dts/am335x-boneblack.dts.rej

    Any idea as to why this is failing? Please advise.

    Thanks,
    Tim
  • Hi Tim,

    The error indicates that the WLAN_IRQ mapping is wrong.

    Can you confirm that you're indeed using the E14 cape? If yes, the patch is designed to work on top of the Processor 2.0 SDK. If you're using a different version, you might have to manually add the changes.

    Regards,
    Gigi Joseph.
  • Hey Gigi:

    How do I tell that I am using the E14 cape?  I just received it back in Dec of last year, but the Assy # and Rev # are blacked out on the silkscreen.  I am using SDK8.0.  I'm not up on how to do this with the device tree that 8.0 is using.  Can you provide more details as to what file I am supposed to change and where in the file to place the new patch additions? 

    Thanks,
    Tim

  • Hey Joseph:

    To be more clear and specific, I see from the patch file that there is a am335x-bone-e14-wl1837.dtsi file, but I don't have this file in the boot directory. Instead I have a file named am335x-bone-bb-wl1835.dtsi. So am I just supposed to create this file and place it in the boot directory. And I do have a file named am335x-boneblack.dts but the line numbers in the patch file don't line up with what I have. Where does the additions of:

    clock-names = "mclk";
    };
    };

    supposed to go in the .dts file? Please advise.

    Thanks,
    Tim
  • Hi Tim,

    [Q] How do I tell that I am using the E14 cape?
    [A] Where did you procure it from?

    [Q] To be more clear and specific, I see from the patch file that there is a am335x-bone-e14-wl1837.dtsi file, but I don't have this file in the boot directory.
    [A] Yes, the patch creates this file in "arch/arm/boot/dts/. "create mode 100644 arch/arm/boot/dts/am335x-bone-e14-wl1837.dtsi"

    [Q] Where does the additions of: <...> supposed to go in the .dts file? Please advise.
    [A] That's not an addition - Only the lines starting with "+" are additions.

    Please check on some Linux forums for "patch" documentation.

    Regards,
    Gigi Joseph.
  • Hey Joseph:

    My answers below:

    [Q] How do I tell that I am using the E14 cape?
    [A] Where did you procure it from?
    [TS] They were shipped to me by Alexey Berd on 11/25/16. My understanding is that these were brand new.

    It is not clear to me where the modification below is supposed to go in the .dts file.

    clock-names = "mclk";
    };
    };

    In addition, it is confusing to me from reading information from this Wiki page:

    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    as to whether one has to make all the changes that it references or whether implementing the patch is sufficient. However from comparing the information on this Wiki site relative to the changes in the patch file, they don't match. For example, modifications on this Wiki site that refer to Power Control, UART, MMC don't match the text modifications that are in the patch file. So which is the right one to follow to make all the necessary changes to the .dts file so that this builds correctly. Would me nice to have a patch that I can apply with my SDK8.0 that makes ALL the changes to the .dts file so that I don't have all these changes in a piecemeal fashion as is indicated in this Wiki site document as well as not knowing where they go in the file if I try to enter these into the file via an editor. Does such a patch file exist that I can use on SDK8.0?

    Thanks,
    Tim
  • Hey Joseph:

    One more question, from looking at the patch file closer, it looks like the .dts file doesn't really get modified except for the addition of the following:

    #include "am335x-bone-e14-wl1837.dtsi"

    and I assume that it replaces the line:

    #include "am335x-bone-bb-wl1835.dtsi"

    Is this correct? And if so, don't I just need the .dtsi file and then make this change to the .dts file to reference this file or is there something else I am missing? Please advise.

    Thanks,
    Tim
  • Hey Joseph:

    It turns out that this was the case - just needed to replace the include of the wl1835 file with the wl1837 file and that fixed it. That was not intuitively obvious. Since patch files are not something I mess with on a regular basis and I have not fully ramped up on the device tree stuff, it took me a while to figure this out that this was all that was needed - since the wording in this Wiki document:

    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    did not make this clear. The comments telling me what to do don't match with what is in the patch file which made it even more complicated to understand. And then not knowing which SDK this patch applied to and just leaving me having to figure this out when all was needed was to replace a #include in the .dts file and add a new .dtsi file to replace the wl1835 that was there and wahla it works! If the patch file is not going to work with a given SDK, then provide me with some directions with what to do and provide me the file to add or remove to get this to build and I'm good to go.

    Thanks for your help and leading me in the right direction, but that was way too confusing to do something so simple. After having gone down this path now and finally understanding what to do, I must say it was not a pleasant and streamlined process. Too many options with all the different EVMs and SDKs and cape boards along with all the different versions and associated patch files and not knowing how to match up what with what - would really be nice if we had a step-by-step procedure that picked a path and took me all the way down it instead of leaving me hanging trying to figure it out as to what to do when things go wrong. Understand that its a lot of different permutations with all the many options available, but we sure are making it hard trying to put the puzzle together with pieces spread out all over the place. I much prefer a GSG that gives me a step-by-step procedure vs these Wiki sites that take me all over the place depending on which link I click in the document and then trying to figure out how do I get back to where I started where I thought I knew what I was doing.

    Anyways, just my 2 cents worth on some much needed improvements so we can better streamline this process and make it more clear what to do for the board and SDK that is being used by the customer. These Wiki documents assume that you know too much to know what to do vs not to do and lack a clear path on how to get there. For now though, I'm good to go and thanks for your timely responses and getting me pointed in the right direction.

    Thanks,
    Tim
  • Hi Tim,

    I am trying to make my element14 WL1837 wireless cape work on Beaglebone Black, but encountered similar problem while applying patching by following TI Wiki (processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide).

    xub@DebianHP:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/linux-4.4.19+gitAUTOINC+db0b54cdad-gdb0b54cdad$ patch -p1 < ~/Downloads/am335x-boneblack-e14-bluetooth-support.patch

    patching file arch/arm/boot/dts/am335x-bone-e14-wl1837.dtsi
    patch: **** malformed patch at line 177: diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts

    I don't have a wl1835 dtsi or a wl1837 dtsi. Where can I find one? What do you mean by replacing #include filename. In the downloaded patch file (am335x-boneblack-e14-bluetooth-support.patch) close to the end of file, the line reads "+#include "am335x-bone-e14-wl1837.dtsi". Please give some guidance.

    Thanks

  • Hi,

    You are posting on a closed thread. Can you please start a new discussion?

    BR,
    Eyal
  • Hey Buli:

    Sorry, but I don't remember all the details and am not current on this issue.  Yes, probably best that you make a new post on this issue so you get the latest and up-to-date recommendation on how to resolve this.  I got my boards from the factory when they only had a limited number.  That was a while ago so there should be a vendor now that you can buy these from.

    Tim