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.

Linux/BEAGLEBN: Mesh Network with Wireless BeagleBone Green Wireless

Part Number: BEAGLEBN

Tool/software: Linux

Hello all,

I've been trying to setup a mesh wifi network, very similarly to the thread reported by Maria Valero(Mesh Network with Wireless BeagleBone Black), only difference being that we're trying on a beaglebone green.

I'm not able to run the following build step:

./build_wl18xx.sh update R8.7_SP3

I get the following error:

Your branch is up-to-date with 'origin/master'.
error: pathspec 'R8.7_SP3' did not match any file(s) known to git.
Makefile was found. Kernel version was set to 4.9.59.
Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/site_perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/site_perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/vendor_perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/vendor_perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1 .) at ./Configure line 9.
BEGIN failed--compilation aborted at ./Configure line 9.
make: *** No rule to make target 'clean'. Stop.
****** *******
make: *** No targets specified and no makefile found. Stop.
****** ERROR 0 *******

I tried several times building this on different platforms, Ubuntu 14.04 LTS and Ubuntu 16 LTS. Is there something I'm missing?

Meanwhile, we upgraded the Kernel, and now using:

Debian 9 (stretch) with kernel: 4.9.78-ti-r93

I guess in this latest kernel we don't need to compile the kernel with the patched wlink rev R8.7_SP3, is this correct?

The wlink8 driver seems to support mesh mode, by doing iw list I can see:

Wiphy phy0
Supported interface modes:
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
* P2P-device

Now, my first question is that I don't have the mesh start and stop scripts in /usr/share, there is no wl8xx directory in this path, how can I get these installed? Is there and apt-get package where I can get them from?

After I copied by hand the scripts into the beaglebone, I'm able to run the mesh_start.sh but then, when I try the mesh_join.sh I get the follwoing error:

root@beaglebone:/usr/share/wl18xx# ./mesh_join.sh SSID 2412
./mesh_join.sh: 5: [: SSID: unexpected operator
./mesh_join.sh: 5: [: SSID: unexpected operator
netid=0
=========================
wpa_cli -i mesh0 set_network 0 ssid '"SSID"'
wpa_cli -i mesh0 set_network 0 mode 5
wpa_cli -i mesh0 set_network 0 frequency 2412
wpa_cli -i mesh0 set_network 0 key_mgmt NONE
./mesh_join.sh: 29: [: 0: unexpected operator
wpa_cli -i mesh0 select_network 0

Any help is greatly appreciated,

Thanks,

Lourenco

  • Hi Lourenco,

    Indeed R8.7_SP3 drivers are 4.4 kernel based and would not build with a v4.9 kernel.
    Using the in-tree drivers is the correct way to work with a 4.9.x kernel.

    See section 5.1.2 in the following document for desscription of usage:
    www.ti.com/.../swaa166.pdf

    BR,
    Eyal
  • Thanks Eyal,

    But, on beaglebone green wireless, running Debian 9 (stretch) with kernel 4.9.78-ti-r93 there's nothing installed in /usr/share/wl8xx 

    How can I get and deploy the scripts package to properly work with the Wlink8 radio?

    Thanks,

    Lourenco

  • Hi Lourenco,

    All the target example scripts are fetched from the following git location:
    git.ti.com/.../R8.7_SP3

    You can pick them up directly from there.
    When using our build script with the "scripts" target:
    git.ti.com/.../build_wl18xx.sh

    It basically just copies everything to /usr/share/wl18xx.

    You can do the same copy manually into your file system.

    Best Regards,
    Eyal
  • Hi Eyal,

    I have a BeagleBone Green Wireless with latest image from https://beagleboard.org/latest-images 

    The kernel was upgraded to 4.9.82-ti-r102.

    Then I followed your instructions to build the "scripts" and copied all scripts manually to /usr/share folder.

    The wpa_complicant.conf was modified to uncomment the following lines:
    max_peer_links=10.
    mesh_max_inactivity=300
    p2p_disabled =1

    In the board, when I ran  the script mesh_start.sh, it just showed as follows:

    debian@beaglebone:/usr/share/wl18xx$ sudo ./mesh_start.sh
    Successfully initialized wpa_supplicant
    Line 151: unknown global field 'max_peer_links=10'.
    Line 151: Invalid configuration line 'max_peer_links=10'.
    Line 156: unknown global field 'mesh_max_inactivity=30'.
    Line 156: Invalid configuration line 'mesh_max_inactivity=30'.
    Failed to read or parse configuration '/usr/share/wl18xx/mesh_supplicant.conf'.
    SIOCSIFFLAGS: Device or resource busy

    Is there any wrong here?

    Best Regards,

    James